summaryrefslogtreecommitdiffstats
path: root/sync/notifier/invalidator_state.h
diff options
context:
space:
mode:
authorrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-02 23:16:34 +0000
committerrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-02 23:16:34 +0000
commitd1929aaf01ac9c3166d31b3eeaaf2676629cebcb (patch)
tree4218d03dcb01b02a41a2eef448e5009202035855 /sync/notifier/invalidator_state.h
parent713eac6708cdadc256d996e6695a4ee9d09212d8 (diff)
downloadchromium_src-d1929aaf01ac9c3166d31b3eeaaf2676629cebcb.zip
chromium_src-d1929aaf01ac9c3166d31b3eeaaf2676629cebcb.tar.gz
chromium_src-d1929aaf01ac9c3166d31b3eeaaf2676629cebcb.tar.bz2
Revert of Move some sync/notifier to components/invalidation (https://codereview.chromium.org/294123004/)
Reason for revert: Passed the CQ but broke the buildbot. Original issue's description: > Move some sync/notifier to components/invalidation > > Moves many of the files in sync/notifier to components/invalidation. > > This change does not introduce any new dependencies. The relevant > dependency rules both before and after this change should be: > - chrome/browser/invalidation and chrome in general depend on > components/invalidation. > - components/invalidation depends on sync/notifier and sync in > general. > - sync/notifier, components/invalidation, and various parts of > chrome all depend on sync/internal_api/public. > > The eventual goal is to move all of sync/notifier into > components/invalidation. The invalidation-related parts of > sync/internal_api/public should be moved to components/invalidation, > too. This will allow us to remove the deopendencies from > components/invalidation to sync, and remove sync's dependencies on > cacheinvalidation and libjingle. > > This change is a regression in terms of shared library componentization. > the files in the sync/notifier folder could be built as a shared > library. The files in compononents/invalidation do not support this > yet. The SYNC_EXPORT declarations in the moved files have been changed > to INVALIDATION_EXPORT so as to not lose this information, but the > macros are currently #defined to no-ops. > > This change does not attempt to rename any classes or namespaces. > Many of the files ported from sync/notifier still use the syncer > namespace. Some, like SyncSystemResources, still have names tied > to their sync heritage. This will be addressed in future CLs. > > Some non-trivial or non-obvious changes include: > - invalidator_state.h was moved to sync/internal_api/public/base so it > could be shared by both sync/ and components/invalidation. This should > be fixed in a future CL. > - FromNotifierReason was split out of invalidator_state.h and moved to > the newly-created components/invalidator_reason_util.h > > TBR=zea,rtenneti,mallinath,dcheng > BUG=259559 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=274350 TBR=pavely@chromium.org,dcheng@chromium.org,zea@chromium.org,rtenneti@chromium.org,mallinath@chromium.org,maniscalco@chromium.org NOTREECHECKS=true NOTRY=true BUG=259559 Review URL: https://codereview.chromium.org/308413002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274364 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/notifier/invalidator_state.h')
-rw-r--r--sync/notifier/invalidator_state.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/sync/notifier/invalidator_state.h b/sync/notifier/invalidator_state.h
new file mode 100644
index 0000000..a269661
--- /dev/null
+++ b/sync/notifier/invalidator_state.h
@@ -0,0 +1,38 @@
+// Copyright 2014 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_