// Copyright (c) 2012 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. #ifndef SYNC_NOTIFIER_FAKE_INVALIDATOR_H_ #define SYNC_NOTIFIER_FAKE_INVALIDATOR_H_ #include #include "base/compiler_specific.h" #include "sync/notifier/invalidation_util.h" #include "sync/notifier/invalidator.h" #include "sync/notifier/invalidator_registrar.h" namespace syncer { class FakeInvalidator : public Invalidator { public: FakeInvalidator(); virtual ~FakeInvalidator(); bool IsHandlerRegistered(InvalidationHandler* handler) const; ObjectIdSet GetRegisteredIds(InvalidationHandler* handler) const; const std::string& GetUniqueId() const; const std::string& GetCredentialsEmail() const; const std::string& GetCredentialsToken() const; const ObjectIdInvalidationMap& GetLastSentInvalidationMap() const; void EmitOnInvalidatorStateChange(InvalidatorState state); void EmitOnIncomingInvalidation( const ObjectIdInvalidationMap& invalidation_map); virtual void RegisterHandler(InvalidationHandler* handler) OVERRIDE; virtual void UpdateRegisteredIds(InvalidationHandler* handler, const ObjectIdSet& ids) OVERRIDE; virtual void UnregisterHandler(InvalidationHandler* handler) OVERRIDE; virtual InvalidatorState GetInvalidatorState() const OVERRIDE; virtual void SetUniqueId(const std::string& unique_id) OVERRIDE; virtual void UpdateCredentials( const std::string& email, const std::string& token) OVERRIDE; virtual void SendInvalidation( const ObjectIdInvalidationMap& invalidation_map) OVERRIDE; private: InvalidatorRegistrar registrar_; std::string unique_id_; std::string state_; std::string email_; std::string token_; ObjectIdInvalidationMap last_sent_invalidation_map_; }; } // namespace syncer #endif // SYNC_NOTIFIER_FAKE_INVALIDATOR_H_