• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
InvalidatorStateToString(InvalidatorState state)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 
FromNotifierReason(notifier::NotificationsDisabledReason reason)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 
ToNotifierReasonForTest(InvalidatorState state)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