// 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 SYNC_TEST_MOCK_INVALIDATION_H_ #define SYNC_TEST_MOCK_INVALIDATION_H_ #include #include #include "base/memory/scoped_ptr.h" #include "sync/internal_api/public/base/invalidation_interface.h" namespace syncer { // An InvalidationInterface used by sync for testing. // It does not support any form of acknowledgements. class MockInvalidation : public InvalidationInterface { public: // Helpers to build new MockInvalidations. static scoped_ptr BuildUnknownVersion(); static scoped_ptr Build(int64_t version, const std::string& payload); ~MockInvalidation() override; // Implementation of InvalidationInterface. bool IsUnknownVersion() const override; const std::string& GetPayload() const override; int64_t GetVersion() const override; void Acknowledge() override; void Drop() override; protected: MockInvalidation(bool is_unknown_version, int64_t version, const std::string& payload); // Whether or not this is an 'unknown version' invalidation. const bool is_unknown_version_; // The version of this invalidation. Valid only if !is_unknown_version_. const int64_t version_; // The payload of this invalidation. Valid only if !is_unknown_version_. const std::string payload_; }; } // namespace syncer #endif // SYNC_TEST_MOCK_INVALIDATION_H_