fake_sync_change_processor.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1// Copyright 2013 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_FAKE_SYNC_CHANGE_PROCESSOR_H_
6#define SYNC_API_FAKE_SYNC_CHANGE_PROCESSOR_H_
7
8#include "sync/api/sync_change_processor.h"
9
10namespace syncer {
11
12class FakeSyncChangeProcessor : public SyncChangeProcessor {
13 public:
14  FakeSyncChangeProcessor();
15  virtual ~FakeSyncChangeProcessor();
16
17  // SyncChangeProcessor implementation.
18  //
19  // ProcessSyncChanges will accumulate changes in changes() until they are
20  // cleared.
21  virtual syncer::SyncError ProcessSyncChanges(
22      const tracked_objects::Location& from_here,
23      const syncer::SyncChangeList& change_list) OVERRIDE;
24
25  // SyncChangeProcessor implementation.
26  //
27  // Returns an empty list.
28  virtual syncer::SyncDataList GetAllSyncData(syncer::ModelType type)
29      const OVERRIDE;
30
31  virtual const syncer::SyncChangeList& changes() const;
32  virtual syncer::SyncChangeList& changes();
33
34 private:
35  syncer::SyncChangeList change_list_;
36
37  DISALLOW_COPY_AND_ASSIGN(FakeSyncChangeProcessor);
38};
39
40}  // namespace syncer
41
42#endif  // SYNC_API_FAKE_SYNC_CHANGE_PROCESSOR_H_
43