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. 4 5 #include "sync/tools/null_invalidation_state_tracker.h" 6 7 #include "base/base64.h" 8 #include "base/bind.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" 14 15 namespace syncer { 16 17 NullInvalidationStateTracker::NullInvalidationStateTracker() {} 18 NullInvalidationStateTracker::~NullInvalidationStateTracker() {} 19 20 InvalidationStateMap 21 NullInvalidationStateTracker::GetAllInvalidationStates() const { 22 return InvalidationStateMap(); 23 } 24 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; 32 } 33 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); 37 } 38 } 39 40 void NullInvalidationStateTracker::SetInvalidatorClientId( 41 const std::string& data) { 42 LOG(INFO) << "Setting invalidator client ID to: " << data; 43 } 44 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"; 52 return std::string(); 53 } 54 55 std::string NullInvalidationStateTracker::GetBootstrapData() const { 56 return std::string(); 57 } 58 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; 63 } 64 65 void NullInvalidationStateTracker::Clear() { 66 // We have no members to clear. 67 } 68 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())); 76 } 77 CHECK(task_runner->PostTask(FROM_HERE, base::Bind(callback, ack_handles))); 78 } 79 80 void NullInvalidationStateTracker::Acknowledge(const invalidation::ObjectId& id, 81 const AckHandle& ack_handle) { 82 LOG(INFO) << "Received ack for " << ObjectIdToString(id); 83 } 84 85 } // namespace syncer 86