Home | History | Annotate | Download | only in notifier
      1 // Copyright 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 #ifndef SYNC_NOTIFIER_INVALIDATOR_STATE_H_
      6 #define SYNC_NOTIFIER_INVALIDATOR_STATE_H_
      7 
      8 #include "jingle/notifier/listener/push_client_observer.h"
      9 #include "sync/base/sync_export.h"
     10 
     11 namespace syncer {
     12 
     13 enum InvalidatorState {
     14   // Failure states
     15   // --------------
     16   // There is an underlying transient problem (e.g., network- or
     17   // XMPP-related).
     18   TRANSIENT_INVALIDATION_ERROR,
     19   DEFAULT_INVALIDATION_ERROR = TRANSIENT_INVALIDATION_ERROR,
     20   // Our credentials have been rejected.
     21   INVALIDATION_CREDENTIALS_REJECTED,
     22 
     23   // Invalidations are fully working.
     24   INVALIDATIONS_ENABLED
     25 };
     26 
     27 SYNC_EXPORT const char* InvalidatorStateToString(InvalidatorState state);
     28 
     29 InvalidatorState FromNotifierReason(
     30     notifier::NotificationsDisabledReason reason);
     31 
     32 // Should not be called when |state| == INVALIDATIONS_ENABLED.
     33 SYNC_EXPORT_PRIVATE notifier::NotificationsDisabledReason
     34     ToNotifierReasonForTest(InvalidatorState state);
     35 
     36 }  // namespace syncer
     37 
     38 #endif  // SYNC_NOTIFIER_INVALIDATOR_STATE_H_
     39