• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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