1// Copyright (c) 2012 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 CHROME_BROWSER_SYNC_FILE_SYSTEM_MOCK_REMOTE_CHANGE_PROCESSOR_H_
6#define CHROME_BROWSER_SYNC_FILE_SYSTEM_MOCK_REMOTE_CHANGE_PROCESSOR_H_
7
8#include "base/callback.h"
9#include "chrome/browser/sync_file_system/file_change.h"
10#include "chrome/browser/sync_file_system/remote_change_processor.h"
11#include "chrome/browser/sync_file_system/sync_callbacks.h"
12#include "testing/gmock/include/gmock/gmock.h"
13
14namespace base {
15class FilePath;
16}
17
18namespace storage {
19class FileSystemURL;
20}
21
22namespace sync_file_system {
23
24class MockRemoteChangeProcessor : public RemoteChangeProcessor {
25 public:
26  MockRemoteChangeProcessor();
27  virtual ~MockRemoteChangeProcessor();
28
29  // RemoteChangeProcessor overrides.
30  MOCK_METHOD2(PrepareForProcessRemoteChange,
31               void(const storage::FileSystemURL& url,
32                    const PrepareChangeCallback& callback));
33  MOCK_METHOD4(ApplyRemoteChange,
34               void(const FileChange& change,
35                    const base::FilePath& local_path,
36                    const storage::FileSystemURL& url,
37                    const SyncStatusCallback& callback));
38  MOCK_METHOD3(FinalizeRemoteSync,
39               void(const storage::FileSystemURL& url,
40                    bool clear_local_changes,
41                    const base::Closure& completion_callback));
42  MOCK_METHOD3(RecordFakeLocalChange,
43               void(const storage::FileSystemURL& url,
44                    const FileChange& change,
45                    const SyncStatusCallback& callback));
46
47 private:
48  DISALLOW_COPY_AND_ASSIGN(MockRemoteChangeProcessor);
49};
50
51}  // namespace sync_file_system
52
53#endif  // CHROME_BROWSER_SYNC_FILE_SYSTEM_MOCK_REMOTE_CHANGE_PROCESSOR_H_
54