190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch#ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_STATUS_CODE_H_ 62385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch#define CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_STATUS_CODE_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string> 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/files/file.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace leveldb { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class Status; 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace sync_file_system { 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)enum SyncStatusCode { 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_STATUS_OK = 0, 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_STATUS_UNKNOWN = -1000, 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Generic error code which is not specifically related to a specific 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // submodule error code (yet). 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SYNC_STATUS_FAILED = -1001, 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) // Basic ones that could be directly mapped to File::Error. 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_FAILED = -1, 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_IN_USE = -2, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_EXISTS = -3, 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_NOT_FOUND = -4, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_ACCESS_DENIED = -5, 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_TOO_MANY_OPENED = -6, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_NO_MEMORY = -7, 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_NO_SPACE = -8, 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_NOT_A_DIRECTORY = -9, 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_INVALID_OPERATION = -10, 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_SECURITY = -11, 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_ABORT = -12, 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_NOT_A_FILE = -13, 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_NOT_EMPTY = -14, 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_FILE_ERROR_INVALID_URL = -15, 423551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) SYNC_FILE_ERROR_IO = -16, 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Database related errors. 453551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) SYNC_DATABASE_ERROR_NOT_FOUND = -50, 463551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) SYNC_DATABASE_ERROR_CORRUPTION = -51, 473551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) SYNC_DATABASE_ERROR_IO_ERROR = -52, 483551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) SYNC_DATABASE_ERROR_FAILED = -53, 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Sync specific status code. 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_STATUS_FILE_BUSY = -100, 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_STATUS_HAS_CONFLICT = -101, 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SYNC_STATUS_NO_CONFLICT = -102, 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_STATUS_ABORT = -103, 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_STATUS_NO_CHANGE_TO_SYNC = -104, 56d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) SYNC_STATUS_SERVICE_TEMPORARILY_UNAVAILABLE = -105, 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_STATUS_NETWORK_ERROR = -106, 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) SYNC_STATUS_AUTHENTICATION_FAILED = -107, 59b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) SYNC_STATUS_UNKNOWN_ORIGIN = -108, 602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SYNC_STATUS_NOT_MODIFIED = -109, 612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) SYNC_STATUS_SYNC_DISABLED = -110, 627d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) SYNC_STATUS_ACCESS_FORBIDDEN = -111, 63d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) SYNC_STATUS_RETRY = -112, 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 662385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdochconst char* SyncStatusCodeToString(SyncStatusCode status); 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 682385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen MurdochSyncStatusCode LevelDBStatusToSyncStatusCode(const leveldb::Status& status); 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 705d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)SyncStatusCode FileErrorToSyncStatusCode(base::File::Error file_error); 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 725d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::File::Error SyncStatusCodeToFileError(SyncStatusCode status); 7358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace sync_file_system 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 762385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch#endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_STATUS_CODE_H_ 77