1// Copyright 2014 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 "components/invalidation/fake_invalidator.h"
6
7#include "components/invalidation/object_id_invalidation_map.h"
8
9namespace syncer {
10
11FakeInvalidator::FakeInvalidator() {}
12
13FakeInvalidator::~FakeInvalidator() {}
14
15bool FakeInvalidator::IsHandlerRegistered(InvalidationHandler* handler) const {
16  return registrar_.IsHandlerRegisteredForTest(handler);
17}
18
19ObjectIdSet FakeInvalidator::GetRegisteredIds(
20    InvalidationHandler* handler) const {
21  return registrar_.GetRegisteredIds(handler);
22}
23
24const std::string& FakeInvalidator::GetCredentialsEmail() const {
25  return email_;
26}
27
28const std::string& FakeInvalidator::GetCredentialsToken() const {
29  return token_;
30}
31
32void FakeInvalidator::EmitOnInvalidatorStateChange(InvalidatorState state) {
33  registrar_.UpdateInvalidatorState(state);
34}
35
36void FakeInvalidator::EmitOnIncomingInvalidation(
37    const ObjectIdInvalidationMap& invalidation_map) {
38  registrar_.DispatchInvalidationsToHandlers(invalidation_map);
39}
40
41void FakeInvalidator::RegisterHandler(InvalidationHandler* handler) {
42  registrar_.RegisterHandler(handler);
43}
44
45void FakeInvalidator::UpdateRegisteredIds(InvalidationHandler* handler,
46                                          const ObjectIdSet& ids) {
47  registrar_.UpdateRegisteredIds(handler, ids);
48}
49
50void FakeInvalidator::UnregisterHandler(InvalidationHandler* handler) {
51  registrar_.UnregisterHandler(handler);
52}
53
54InvalidatorState FakeInvalidator::GetInvalidatorState() const {
55  return registrar_.GetInvalidatorState();
56}
57
58void FakeInvalidator::UpdateCredentials(
59    const std::string& email, const std::string& token) {
60  email_ = email;
61  token_ = token;
62}
63
64void FakeInvalidator::RequestDetailedStatus(
65    base::Callback<void(const base::DictionaryValue&)> callback) const {
66  base::DictionaryValue value;
67  callback.Run(value);
68}
69}  // namespace syncer
70