| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "sync/notifier/invalidator_state.h" |
| |
| #include "base/logging.h" |
| |
| namespace syncer { |
| |
| const char* InvalidatorStateToString(InvalidatorState state) { |
| switch (state) { |
| case TRANSIENT_INVALIDATION_ERROR: |
| return "TRANSIENT_INVALIDATION_ERROR"; |
| case INVALIDATION_CREDENTIALS_REJECTED: |
| return "INVALIDATION_CREDENTIALS_REJECTED"; |
| case INVALIDATIONS_ENABLED: |
| return "INVALIDATIONS_ENABLED"; |
| default: |
| NOTREACHED(); |
| return "UNKNOWN_INVALIDATOR_STATE"; |
| } |
| } |
| |
| InvalidatorState FromNotifierReason( |
| notifier::NotificationsDisabledReason reason) { |
| switch (reason) { |
| case notifier::NO_NOTIFICATION_ERROR: |
| return INVALIDATIONS_ENABLED; |
| case notifier::TRANSIENT_NOTIFICATION_ERROR: |
| return TRANSIENT_INVALIDATION_ERROR; |
| case notifier::NOTIFICATION_CREDENTIALS_REJECTED: |
| return INVALIDATION_CREDENTIALS_REJECTED; |
| default: |
| NOTREACHED(); |
| return DEFAULT_INVALIDATION_ERROR; |
| } |
| } |
| |
| notifier::NotificationsDisabledReason ToNotifierReasonForTest( |
| InvalidatorState state) { |
| switch (state) { |
| case TRANSIENT_INVALIDATION_ERROR: |
| return notifier::TRANSIENT_NOTIFICATION_ERROR; |
| case INVALIDATION_CREDENTIALS_REJECTED: |
| return notifier::NOTIFICATION_CREDENTIALS_REJECTED; |
| case INVALIDATIONS_ENABLED: |
| // Fall through. |
| default: |
| NOTREACHED(); |
| return notifier::TRANSIENT_NOTIFICATION_ERROR; |
| } |
| } |
| |
| } // namespace syncer |