1 // Copyright 2012 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 SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_ 7 8 #include "sync/base/sync_export.h" 9 10 namespace syncer { 11 12 // This enum describes all the possible results of a sync cycle. 13 enum SYNC_EXPORT_PRIVATE SyncerError { 14 UNSET = 0, // Default value. 15 CANNOT_DO_WORK, // A model worker could not process a work item. 16 17 NETWORK_CONNECTION_UNAVAILABLE, // Connectivity failure. 18 NETWORK_IO_ERROR, // Response buffer read error. 19 SYNC_SERVER_ERROR, // Non auth HTTP error. 20 SYNC_AUTH_ERROR, // HTTP auth error. 21 22 // Based on values returned by server. Most are defined in sync.proto. 23 SERVER_RETURN_INVALID_CREDENTIAL, 24 SERVER_RETURN_UNKNOWN_ERROR, 25 SERVER_RETURN_THROTTLED, 26 SERVER_RETURN_TRANSIENT_ERROR, 27 SERVER_RETURN_MIGRATION_DONE, 28 SERVER_RETURN_CLEAR_PENDING, 29 SERVER_RETURN_NOT_MY_BIRTHDAY, 30 SERVER_RETURN_CONFLICT, 31 SERVER_RESPONSE_VALIDATION_FAILED, 32 SERVER_RETURN_DISABLED_BY_ADMIN, 33 34 SERVER_MORE_TO_DOWNLOAD, 35 36 SYNCER_OK 37 }; 38 39 SYNC_EXPORT const char* GetSyncerErrorString(SyncerError); 40 41 // Helper to check that |error| is set to something (not UNSET) and is not 42 // SYNCER_OK. 43 bool SyncerErrorIsError(SyncerError error); 44 45 } // namespace syncer 46 47 #endif // SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_ 48