blob: 65d1bcef2f66f99d320e83196c58cc0a68d87ffe [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.
#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 {
// Helpers to build new MockInvalidations.
static scoped_ptr<MockInvalidation> BuildUnknownVersion();
static scoped_ptr<MockInvalidation> Build(int64 version,
const std::string& payload);
~MockInvalidation() override;
// Implementation of InvalidationInterface.
bool IsUnknownVersion() const override;
const std::string& GetPayload() const override;
int64 GetVersion() const override;
void Acknowledge() override;
void Drop() override;
MockInvalidation(bool is_unknown_version,
int64 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 version_;
// The payload of this invalidation. Valid only if !is_unknown_version_.
const std::string payload_;
} // namespace syncer