Home | History | Annotate | Download | only in invalidation
      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 
     16 namespace syncer {
     17 
     18 class 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