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(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