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 SYNC_API_SYNC_CHANGE_PROCESSOR_WRAPPER_FOR_TEST_H_
6#define SYNC_API_SYNC_CHANGE_PROCESSOR_WRAPPER_FOR_TEST_H_
7
8#include "sync/api/sync_change_processor.h"
9
10namespace syncer {
11
12// A wrapper class for use in tests.
13class SyncChangeProcessorWrapperForTest : public SyncChangeProcessor {
14 public:
15  // Create a SyncChangeProcessorWrapperForTest.
16  //
17  // All method calls are forwarded to |wrapped|. Caller maintains ownership
18  // of |wrapped| and is responsible for ensuring it outlives this object.
19  explicit SyncChangeProcessorWrapperForTest(
20      syncer::SyncChangeProcessor* wrapped);
21  virtual ~SyncChangeProcessorWrapperForTest();
22
23  // SyncChangeProcessor implementation.
24  virtual syncer::SyncError ProcessSyncChanges(
25      const tracked_objects::Location& from_here,
26      const syncer::SyncChangeList& change_list) OVERRIDE;
27  virtual syncer::SyncDataList GetAllSyncData(syncer::ModelType type)
28      const OVERRIDE;
29
30 private:
31  syncer::SyncChangeProcessor* const wrapped_;
32
33  DISALLOW_COPY_AND_ASSIGN(SyncChangeProcessorWrapperForTest);
34};
35
36}  // namespace syncer
37
38#endif  // SYNC_API_SYNC_CHANGE_PROCESSOR_WRAPPER_FOR_TEST_H_
39