diff options
author | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-05 05:31:12 +0000 |
---|---|---|
committer | dcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-05 05:31:12 +0000 |
commit | 0e7f2b7f4023f10cc1d4d4a9eabca701faedec01 (patch) | |
tree | 5eed13dfa3d07adf11853b833434fa785ee34776 /sync/tools/null_invalidation_state_tracker.h | |
parent | 5fbd63798b997475fded3cc90f456425c607edcd (diff) | |
download | chromium_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.h | 40 |
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_ |