1 // Copyright (c) 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.
5 #include "sync/tools/null_invalidation_state_tracker.h"
7 #include "base/base64.h"
9 #include "base/callback.h"
10 #include "base/location.h"
11 #include "base/logging.h"
12 #include "base/task_runner.h"
13 #include "sync/notifier/invalidation_util.h"
17 NullInvalidationStateTracker::NullInvalidationStateTracker() {}
18 NullInvalidationStateTracker::~NullInvalidationStateTracker() {}
21 NullInvalidationStateTracker::GetAllInvalidationStates() const {
22 return InvalidationStateMap();
25 void NullInvalidationStateTracker::SetMaxVersionAndPayload(
26 const invalidation::ObjectId& id,
27 int64 max_invalidation_version,
28 const std::string& payload) {
29 LOG(INFO) << "Setting max invalidation version for "
30 << ObjectIdToString(id) << " to " << max_invalidation_version
31 << " with payload " << payload;
34 void NullInvalidationStateTracker::Forget(const ObjectIdSet& ids) {
35 for (ObjectIdSet::const_iterator it = ids.begin(); it != ids.end(); ++it) {
36 LOG(INFO) << "Forgetting invalidation state for " << ObjectIdToString(*it);
40 void NullInvalidationStateTracker::SetInvalidatorClientId(
41 const std::string& data) {
42 LOG(INFO) << "Setting invalidator client ID to: " << data;
45 std::string NullInvalidationStateTracker::GetInvalidatorClientId() const {
46 // The caller of this function is probably looking for an ID it can use to
47 // identify this client as the originator of some notifiable change. It does
48 // this so the invalidation server can prevent it from being notified of its
49 // own changes. This invalidation state tracker doesn't remember its ID, so
50 // it can't support this feature.
51 NOTREACHED() << "This state tracker does not support reflection-blocking";
55 std::string NullInvalidationStateTracker::GetBootstrapData() const {
59 void NullInvalidationStateTracker::SetBootstrapData(const std::string& data) {
60 std::string base64_data;
61 CHECK(base::Base64Encode(data, &base64_data));
62 LOG(INFO) << "Setting bootstrap data to: " << base64_data;
65 void NullInvalidationStateTracker::Clear() {
66 // We have no members to clear.
69 void NullInvalidationStateTracker::GenerateAckHandles(
70 const ObjectIdSet& ids,
71 const scoped_refptr<base::TaskRunner>& task_runner,
72 base::Callback<void(const AckHandleMap&)> callback) {
73 AckHandleMap ack_handles;
74 for (ObjectIdSet::const_iterator it = ids.begin(); it != ids.end(); ++it) {
75 ack_handles.insert(std::make_pair(*it, AckHandle::InvalidAckHandle()));
77 CHECK(task_runner->PostTask(FROM_HERE, base::Bind(callback, ack_handles)));
80 void NullInvalidationStateTracker::Acknowledge(const invalidation::ObjectId& id,
81 const AckHandle& ack_handle) {
82 LOG(INFO) << "Received ack for " << ObjectIdToString(id);