Home | History | Annotate | Download | only in notifier
      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/notifier/invalidator_state.h"
      6 
      7 #include "base/logging.h"
      8 
      9 namespace syncer {
     10 
     11 const char* InvalidatorStateToString(InvalidatorState state) {
     12   switch (state) {
     13     case TRANSIENT_INVALIDATION_ERROR:
     14       return "TRANSIENT_INVALIDATION_ERROR";
     15     case INVALIDATION_CREDENTIALS_REJECTED:
     16       return "INVALIDATION_CREDENTIALS_REJECTED";
     17     case INVALIDATIONS_ENABLED:
     18       return "INVALIDATIONS_ENABLED";
     19     default:
     20       NOTREACHED();
     21       return "UNKNOWN_INVALIDATOR_STATE";
     22   }
     23 }
     24 
     25 InvalidatorState FromNotifierReason(
     26     notifier::NotificationsDisabledReason reason) {
     27   switch (reason) {
     28     case notifier::NO_NOTIFICATION_ERROR:
     29       return INVALIDATIONS_ENABLED;
     30     case notifier::TRANSIENT_NOTIFICATION_ERROR:
     31       return TRANSIENT_INVALIDATION_ERROR;
     32     case notifier::NOTIFICATION_CREDENTIALS_REJECTED:
     33       return INVALIDATION_CREDENTIALS_REJECTED;
     34     default:
     35       NOTREACHED();
     36       return DEFAULT_INVALIDATION_ERROR;
     37   }
     38 }
     39 
     40 notifier::NotificationsDisabledReason ToNotifierReasonForTest(
     41     InvalidatorState state) {
     42   switch (state) {
     43     case TRANSIENT_INVALIDATION_ERROR:
     44       return notifier::TRANSIENT_NOTIFICATION_ERROR;
     45     case INVALIDATION_CREDENTIALS_REJECTED:
     46       return notifier::NOTIFICATION_CREDENTIALS_REJECTED;
     47     case INVALIDATIONS_ENABLED:
     48       // Fall through.
     49     default:
     50       NOTREACHED();
     51       return notifier::TRANSIENT_NOTIFICATION_ERROR;
     52   }
     53 }
     54 
     55 }  // namespace syncer
     56