// Copyright 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.
#ifndef SYNC_NOTIFIER_INVALIDATOR_STATE_H_
#define SYNC_NOTIFIER_INVALIDATOR_STATE_H_
#include "jingle/notifier/listener/push_client_observer.h"
#include "sync/base/sync_export.h"
namespace syncer {
enum InvalidatorState {
// Failure states
// --------------
// There is an underlying transient problem (e.g., network- or
// XMPP-related).
TRANSIENT_INVALIDATION_ERROR,
DEFAULT_INVALIDATION_ERROR = TRANSIENT_INVALIDATION_ERROR,
// Our credentials have been rejected.
INVALIDATION_CREDENTIALS_REJECTED,
// Invalidations are fully working.
INVALIDATIONS_ENABLED
};
SYNC_EXPORT const char* InvalidatorStateToString(InvalidatorState state);
InvalidatorState FromNotifierReason(
notifier::NotificationsDisabledReason reason);
// Should not be called when |state| == INVALIDATIONS_ENABLED.
SYNC_EXPORT_PRIVATE notifier::NotificationsDisabledReason
ToNotifierReasonForTest(InvalidatorState state);
} // namespace syncer
#endif // SYNC_NOTIFIER_INVALIDATOR_STATE_H_