summaryrefslogtreecommitdiffstats
path: root/sync/tools/null_invalidation_state_tracker.h
diff options
context:
space:
mode:
authordcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-05 05:31:12 +0000
committerdcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-05 05:31:12 +0000
commit0e7f2b7f4023f10cc1d4d4a9eabca701faedec01 (patch)
tree5eed13dfa3d07adf11853b833434fa785ee34776 /sync/tools/null_invalidation_state_tracker.h
parent5fbd63798b997475fded3cc90f456425c607edcd (diff)
downloadchromium_src-0e7f2b7f4023f10cc1d4d4a9eabca701faedec01.zip
chromium_src-0e7f2b7f4023f10cc1d4d4a9eabca701faedec01.tar.gz
chromium_src-0e7f2b7f4023f10cc1d4d4a9eabca701faedec01.tar.bz2
Implement features needed for local ack handling in InvalidationStateTracker.
Adds the ability to save payloads in InvalidationStateTracker, and also adds the functionality to generate, track, and acknowledge local ack handles. BUG=124149 Review URL: https://codereview.chromium.org/11415049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171165 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/tools/null_invalidation_state_tracker.h')
-rw-r--r--sync/tools/null_invalidation_state_tracker.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/sync/tools/null_invalidation_state_tracker.h b/sync/tools/null_invalidation_state_tracker.h
new file mode 100644
index 0000000..13e55c7
--- /dev/null
+++ b/sync/tools/null_invalidation_state_tracker.h
@@ -0,0 +1,40 @@
+// Copyright (c) 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_TOOLS_NULL_INVALIDATION_STATE_TRACKER_H_
+#define SYNC_TOOLS_NULL_INVALIDATION_STATE_TRACKER_H_
+
+#include "base/compiler_specific.h"
+#include "base/memory/weak_ptr.h"
+#include "sync/notifier/invalidation_state_tracker.h"
+
+namespace syncer {
+
+class NullInvalidationStateTracker
+ : public base::SupportsWeakPtr<NullInvalidationStateTracker>,
+ public InvalidationStateTracker {
+ public:
+ NullInvalidationStateTracker();
+ virtual ~NullInvalidationStateTracker();
+
+ virtual InvalidationStateMap GetAllInvalidationStates() const OVERRIDE;
+ virtual void SetMaxVersionAndPayload(const invalidation::ObjectId& id,
+ int64 max_invalidation_version,
+ const std::string& payload) OVERRIDE;
+ virtual void Forget(const ObjectIdSet& ids) OVERRIDE;
+
+ virtual std::string GetBootstrapData() const OVERRIDE;
+ virtual void SetBootstrapData(const std::string& data) OVERRIDE;
+
+ virtual void GenerateAckHandles(
+ const ObjectIdSet& ids,
+ const scoped_refptr<base::TaskRunner>& task_runner,
+ base::Callback<void(const AckHandleMap&)> callback) OVERRIDE;
+ virtual void Acknowledge(const invalidation::ObjectId& id,
+ const AckHandle& ack_handle) OVERRIDE;
+};
+
+} // namespace syncer
+
+#endif // SYNC_TOOLS_NULL_INVALIDATION_STATE_TRACKER_H_