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