blob: e20fcc02daf17ac331ca300c4c96ec7cf2a04540 [file] [log] [blame]
// 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 <string>
#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 void Acknowledge(const invalidation::ObjectId& id,
const AckHandle& ack_handle) 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_