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.
5 #ifndef SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_
6 #define SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_
8 #include "sync/base/sync_export.h"
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.
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.
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 SERVER_RETURN_USER_ROLLBACK
,
34 SERVER_RETURN_PARTIAL_FAILURE
,
36 // A datatype decided the sync cycle needed to be performed again.
37 DATATYPE_TRIGGERED_RETRY
,
39 SERVER_MORE_TO_DOWNLOAD
,
44 SYNC_EXPORT
const char* GetSyncerErrorString(SyncerError
);
46 // Helper to check that |error| is set to something (not UNSET) and is not
48 bool SyncerErrorIsError(SyncerError error
);
52 #endif // SYNC_INTERNAL_API_PUBLIC_UTIL_SYNCER_ERROR_H_