Home | History | Annotate | Download | only in util
      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(SYNCER_OK);
     31   }
     32   NOTREACHED();
     33   return "INVALID";
     34 }
     35 #undef ENUM_CASE
     36 
     37 bool SyncerErrorIsError(SyncerError error) {
     38   return error != UNSET && error != SYNCER_OK;
     39 }
     40 
     41 }  // namespace syncer
     42