• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_STATUS_CODE_H_
6 #define CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_STATUS_CODE_H_
7 
8 #include <string>
9 
10 #include "base/files/file.h"
11 
12 namespace leveldb {
13 class Status;
14 }
15 
16 namespace sync_file_system {
17 
18 enum SyncStatusCode {
19   SYNC_STATUS_OK = 0,
20   SYNC_STATUS_UNKNOWN = -1000,
21 
22   // Generic error code which is not specifically related to a specific
23   // submodule error code (yet).
24   SYNC_STATUS_FAILED = -1001,
25 
26   // Basic ones that could be directly mapped to File::Error.
27   SYNC_FILE_ERROR_FAILED = -1,
28   SYNC_FILE_ERROR_IN_USE = -2,
29   SYNC_FILE_ERROR_EXISTS = -3,
30   SYNC_FILE_ERROR_NOT_FOUND = -4,
31   SYNC_FILE_ERROR_ACCESS_DENIED = -5,
32   SYNC_FILE_ERROR_TOO_MANY_OPENED = -6,
33   SYNC_FILE_ERROR_NO_MEMORY = -7,
34   SYNC_FILE_ERROR_NO_SPACE = -8,
35   SYNC_FILE_ERROR_NOT_A_DIRECTORY = -9,
36   SYNC_FILE_ERROR_INVALID_OPERATION = -10,
37   SYNC_FILE_ERROR_SECURITY = -11,
38   SYNC_FILE_ERROR_ABORT = -12,
39   SYNC_FILE_ERROR_NOT_A_FILE = -13,
40   SYNC_FILE_ERROR_NOT_EMPTY = -14,
41   SYNC_FILE_ERROR_INVALID_URL = -15,
42   SYNC_FILE_ERROR_IO = -16,
43 
44   // Database related errors.
45   SYNC_DATABASE_ERROR_NOT_FOUND = -50,
46   SYNC_DATABASE_ERROR_CORRUPTION = -51,
47   SYNC_DATABASE_ERROR_IO_ERROR = -52,
48   SYNC_DATABASE_ERROR_FAILED = -53,
49 
50   // Sync specific status code.
51   SYNC_STATUS_FILE_BUSY = -100,
52   SYNC_STATUS_HAS_CONFLICT = -101,
53   SYNC_STATUS_NO_CONFLICT = -102,
54   SYNC_STATUS_ABORT = -103,
55   SYNC_STATUS_NO_CHANGE_TO_SYNC = -104,
56   SYNC_STATUS_SERVICE_TEMPORARILY_UNAVAILABLE = -105,
57   SYNC_STATUS_NETWORK_ERROR = -106,
58   SYNC_STATUS_AUTHENTICATION_FAILED = -107,
59   SYNC_STATUS_UNKNOWN_ORIGIN = -108,
60   SYNC_STATUS_NOT_MODIFIED = -109,
61   SYNC_STATUS_SYNC_DISABLED = -110,
62   SYNC_STATUS_ACCESS_FORBIDDEN = -111,
63   SYNC_STATUS_RETRY = -112,
64 };
65 
66 const char* SyncStatusCodeToString(SyncStatusCode status);
67 
68 SyncStatusCode LevelDBStatusToSyncStatusCode(const leveldb::Status& status);
69 
70 SyncStatusCode FileErrorToSyncStatusCode(base::File::Error file_error);
71 
72 base::File::Error SyncStatusCodeToFileError(SyncStatusCode status);
73 
74 }  // namespace sync_file_system
75 
76 #endif  // CHROME_BROWSER_SYNC_FILE_SYSTEM_SYNC_STATUS_CODE_H_
77