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 3 // found in the LICENSE file. 4 5 #include "sync/internal_api/public/util/syncer_error.h" 6 7 #include "base/logging.h" 8 9 namespace syncer { 10 11 #define ENUM_CASE(x) case x: return #x; break; 12 const char* GetSyncerErrorString(SyncerError value) { 13 switch (value) { 14 ENUM_CASE(UNSET); 15 ENUM_CASE(CANNOT_DO_WORK); 16 ENUM_CASE(NETWORK_CONNECTION_UNAVAILABLE); 17 ENUM_CASE(NETWORK_IO_ERROR); 18 ENUM_CASE(SYNC_SERVER_ERROR); 19 ENUM_CASE(SYNC_AUTH_ERROR); 20 ENUM_CASE(SERVER_RETURN_INVALID_CREDENTIAL); 21 ENUM_CASE(SERVER_RETURN_UNKNOWN_ERROR); 22 ENUM_CASE(SERVER_RETURN_THROTTLED); 23 ENUM_CASE(SERVER_RETURN_TRANSIENT_ERROR); 24 ENUM_CASE(SERVER_RETURN_MIGRATION_DONE); 25 ENUM_CASE(SERVER_RETURN_CLEAR_PENDING); 26 ENUM_CASE(SERVER_RETURN_NOT_MY_BIRTHDAY); 27 ENUM_CASE(SERVER_RETURN_CONFLICT); 28 ENUM_CASE(SERVER_RESPONSE_VALIDATION_FAILED); 29 ENUM_CASE(SERVER_RETURN_DISABLED_BY_ADMIN); 30 ENUM_CASE(SERVER_MORE_TO_DOWNLOAD); 31 ENUM_CASE(SYNCER_OK); 32 } 33 NOTREACHED(); 34 return "INVALID"; 35 } 36 #undef ENUM_CASE 37 38 bool SyncerErrorIsError(SyncerError error) { 39 return error != UNSET 40 && error != SYNCER_OK 41 && error != SERVER_MORE_TO_DOWNLOAD; 42 } 43 44 } // namespace syncer 45