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#ifndef COMPONENTS_INVALIDATION_FAKE_INVALIDATOR_H_ 6#define COMPONENTS_INVALIDATION_FAKE_INVALIDATOR_H_ 7 8#include <string> 9 10#include "base/callback_forward.h" 11#include "base/compiler_specific.h" 12#include "components/invalidation/invalidator_registrar.h" 13#include "sync/notifier/invalidation_util.h" 14#include "sync/notifier/invalidator.h" 15 16namespace syncer { 17 18class FakeInvalidator : public Invalidator { 19 public: 20 FakeInvalidator(); 21 virtual ~FakeInvalidator(); 22 23 bool IsHandlerRegistered(InvalidationHandler* handler) const; 24 ObjectIdSet GetRegisteredIds(InvalidationHandler* handler) const; 25 const std::string& GetUniqueId() const; 26 const std::string& GetCredentialsEmail() const; 27 const std::string& GetCredentialsToken() const; 28 29 void EmitOnInvalidatorStateChange(InvalidatorState state); 30 void EmitOnIncomingInvalidation( 31 const ObjectIdInvalidationMap& invalidation_map); 32 33 virtual void RegisterHandler(InvalidationHandler* handler) OVERRIDE; 34 virtual void UpdateRegisteredIds(InvalidationHandler* handler, 35 const ObjectIdSet& ids) OVERRIDE; 36 virtual void UnregisterHandler(InvalidationHandler* handler) OVERRIDE; 37 virtual InvalidatorState GetInvalidatorState() const OVERRIDE; 38 virtual void UpdateCredentials( 39 const std::string& email, const std::string& token) OVERRIDE; 40 virtual void RequestDetailedStatus( 41 base::Callback<void(const base::DictionaryValue&)> callback) const 42 OVERRIDE; 43 44 private: 45 InvalidatorRegistrar registrar_; 46 std::string state_; 47 std::string email_; 48 std::string token_; 49}; 50 51} // namespace syncer 52 53#endif // COMPONENTS_INVALIDATION_FAKE_INVALIDATOR_H_ 54