summaryrefslogtreecommitdiffstats
path: root/chrome/browser/invalidation/fake_invalidation_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/invalidation/fake_invalidation_service.cc')
-rw-r--r--chrome/browser/invalidation/fake_invalidation_service.cc62
1 files changed, 62 insertions, 0 deletions
diff --git a/chrome/browser/invalidation/fake_invalidation_service.cc b/chrome/browser/invalidation/fake_invalidation_service.cc
new file mode 100644
index 0000000..a54a581
--- /dev/null
+++ b/chrome/browser/invalidation/fake_invalidation_service.cc
@@ -0,0 +1,62 @@
+// Copyright 2013 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.
+
+#include "chrome/browser/invalidation/fake_invalidation_service.h"
+
+#include "chrome/browser/invalidation/invalidation_service_util.h"
+
+namespace invalidation {
+
+FakeInvalidationService::FakeInvalidationService()
+ : client_id_(GenerateInvalidatorClientId()) {
+}
+
+FakeInvalidationService::~FakeInvalidationService() {
+}
+
+void FakeInvalidationService::RegisterInvalidationHandler(
+ syncer::InvalidationHandler* handler) {
+ invalidator_registrar_.RegisterHandler(handler);
+}
+
+void FakeInvalidationService::UpdateRegisteredInvalidationIds(
+ syncer::InvalidationHandler* handler,
+ const syncer::ObjectIdSet& ids) {
+ invalidator_registrar_.UpdateRegisteredIds(handler, ids);
+}
+
+void FakeInvalidationService::UnregisterInvalidationHandler(
+ syncer::InvalidationHandler* handler) {
+ invalidator_registrar_.UnregisterHandler(handler);
+}
+
+void FakeInvalidationService::AcknowledgeInvalidation(
+ const invalidation::ObjectId& id,
+ const syncer::AckHandle& ack_handle) {
+ // TODO(sync): Use assertions to ensure this function is invoked correctly.
+}
+
+syncer::InvalidatorState FakeInvalidationService::GetInvalidatorState() const {
+ return syncer::INVALIDATIONS_ENABLED;
+}
+
+std::string FakeInvalidationService::GetInvalidatorClientId() const {
+ return client_id_;
+}
+
+void FakeInvalidationService::EmitInvalidationForTest(
+ const invalidation::ObjectId& object_id,
+ const std::string& payload) {
+ syncer::ObjectIdInvalidationMap invalidation_map;
+
+ syncer::Invalidation inv;
+ inv.payload = payload;
+ inv.ack_handle = syncer::AckHandle::CreateUnique();
+
+ invalidation_map.insert(std::make_pair(object_id, inv));
+
+ invalidator_registrar_.DispatchInvalidationsToHandlers(invalidation_map);
+}
+
+} // namespace invalidation