OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_ | 5 #ifndef SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_ |
6 #define SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_ | 6 #define SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_ |
7 | 7 |
8 namespace syncer { | 8 namespace syncer { |
9 | 9 |
10 // This enum describes all the ways a SyncerCommand can fail. | 10 // This enum describes all the ways a SyncerCommand can fail. |
11 // | 11 // |
12 // SyncerCommands do many different things, but they share a common function | 12 // SyncerCommands do many different things, but they share a common function |
13 // signature. This enum, the return value for all SyncerCommands, must be able | 13 // signature. This enum, the return value for all SyncerCommands, must be able |
14 // to describe any possible failure for all SyncerComand. | 14 // to describe any possible failure for all SyncerComand. |
15 // | 15 // |
16 // For convenience, functions which are invoked only by SyncerCommands may also | 16 // For convenience, functions which are invoked only by SyncerCommands may also |
17 // return a SyncerError. It saves us having to write a conversion function, and | 17 // return a SyncerError. It saves us having to write a conversion function, and |
18 // it makes refactoring easier. | 18 // it makes refactoring easier. |
19 enum SyncerError { | 19 enum SyncerError { |
20 UNSET = 0, // Default value. | 20 UNSET = 0, // Default value. |
21 DIRECTORY_LOOKUP_FAILED, // Local directory lookup failure. | |
22 CANNOT_DO_WORK, // A model worker could not process a work item. | 21 CANNOT_DO_WORK, // A model worker could not process a work item. |
23 | 22 |
24 NETWORK_CONNECTION_UNAVAILABLE, // Connectivity failure. | 23 NETWORK_CONNECTION_UNAVAILABLE, // Connectivity failure. |
25 NETWORK_IO_ERROR, // Response buffer read error. | 24 NETWORK_IO_ERROR, // Response buffer read error. |
26 SYNC_SERVER_ERROR, // Non auth HTTP error. | 25 SYNC_SERVER_ERROR, // Non auth HTTP error. |
27 SYNC_AUTH_ERROR, // HTTP auth error. | 26 SYNC_AUTH_ERROR, // HTTP auth error. |
28 | 27 |
29 // Based on values returned by server. Most are defined in sync.proto. | 28 // Based on values returned by server. Most are defined in sync.proto. |
30 SERVER_RETURN_INVALID_CREDENTIAL, | 29 SERVER_RETURN_INVALID_CREDENTIAL, |
31 FIRST_SERVER_RETURN_VALUE = SERVER_RETURN_INVALID_CREDENTIAL, | 30 FIRST_SERVER_RETURN_VALUE = SERVER_RETURN_INVALID_CREDENTIAL, |
32 | 31 |
33 SERVER_RETURN_UNKNOWN_ERROR, | 32 SERVER_RETURN_UNKNOWN_ERROR, |
34 SERVER_RETURN_THROTTLED, | 33 SERVER_RETURN_THROTTLED, |
35 SERVER_RETURN_TRANSIENT_ERROR, | 34 SERVER_RETURN_TRANSIENT_ERROR, |
36 SERVER_RETURN_MIGRATION_DONE, | 35 SERVER_RETURN_MIGRATION_DONE, |
37 SERVER_RETURN_CLEAR_PENDING, | 36 SERVER_RETURN_CLEAR_PENDING, |
38 SERVER_RETURN_NOT_MY_BIRTHDAY, | 37 SERVER_RETURN_NOT_MY_BIRTHDAY, |
| 38 SERVER_RETURN_CONFLICT, |
39 SERVER_RESPONSE_VALIDATION_FAILED, | 39 SERVER_RESPONSE_VALIDATION_FAILED, |
40 | 40 |
41 SYNCER_OK | 41 SYNCER_OK |
42 }; | 42 }; |
43 | 43 |
44 const char * GetSyncerErrorString(SyncerError); | 44 const char * GetSyncerErrorString(SyncerError); |
45 | 45 |
46 // Helper to check that |error| is set to something (not UNSET) and is not | 46 // Helper to check that |error| is set to something (not UNSET) and is not |
47 // SYNCER_OK. | 47 // SYNCER_OK. |
48 bool SyncerErrorIsError(SyncerError error); | 48 bool SyncerErrorIsError(SyncerError error); |
49 | 49 |
50 } // namespace syncer | 50 } // namespace syncer |
51 | 51 |
52 #endif // SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_ | 52 #endif // SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_ |
OLD | NEW |