blob: b040027f69c129f25e59997fb82ebab7150f9a35 [file] [log] [blame]
// Copyright 2014 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 COMPONENTS_INVALIDATION_FAKE_INVALIDATOR_H_
#define COMPONENTS_INVALIDATION_FAKE_INVALIDATOR_H_
#include <string>
#include "base/callback_forward.h"
#include "base/compiler_specific.h"
#include "components/invalidation/invalidation_util.h"
#include "components/invalidation/invalidator.h"
#include "components/invalidation/invalidator_registrar.h"
namespace syncer {
class FakeInvalidator : public Invalidator {
public:
FakeInvalidator();
~FakeInvalidator() override;
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;
void EmitOnInvalidatorStateChange(InvalidatorState state);
void EmitOnIncomingInvalidation(
const ObjectIdInvalidationMap& invalidation_map);
void RegisterHandler(InvalidationHandler* handler) override;
void UpdateRegisteredIds(InvalidationHandler* handler,
const ObjectIdSet& ids) override;
void UnregisterHandler(InvalidationHandler* handler) override;
InvalidatorState GetInvalidatorState() const override;
void UpdateCredentials(const std::string& email,
const std::string& token) override;
void RequestDetailedStatus(base::Callback<void(const base::DictionaryValue&)>
callback) const override;
private:
InvalidatorRegistrar registrar_;
std::string state_;
std::string email_;
std::string token_;
};
} // namespace syncer
#endif // COMPONENTS_INVALIDATION_FAKE_INVALIDATOR_H_