1201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved.
2201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch// found in the LICENSE file.
4201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
5201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#ifndef CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_MOCK_H_
6201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#define CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_MOCK_H_
7201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#pragma once
8201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
9201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#include <string>
10201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
11201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#include "chrome/browser/sync/syncable/syncable.h"
12201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#include "testing/gmock/include/gmock/gmock.h"
13201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#include "testing/gtest/include/gtest/gtest.h"
14201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
15201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdochusing syncable::Directory;
16201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdochusing syncable::EntryKernel;
17201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
18201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdochclass MockDirectory : public Directory {
19201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch public:
2072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  MockDirectory();
2172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  virtual ~MockDirectory();
2272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen
23201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch  MOCK_METHOD1(GetEntryByHandle, syncable::EntryKernel*(int64));
24201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
25201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch  MOCK_METHOD2(set_last_downloadstamp, void(syncable::ModelType, int64));
26201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
27201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch  MOCK_METHOD1(GetEntryByClientTag,
28201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch               syncable::EntryKernel*(const std::string&));
29201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch};
30201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
31201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdochclass MockSyncableWriteTransaction : public syncable::WriteTransaction {
32201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch public:
3372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen  explicit MockSyncableWriteTransaction(Directory *directory);
34201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch};
35201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
36201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
37201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#endif  // CHROME_BROWSER_SYNC_SYNCABLE_SYNCABLE_MOCK_H_
38201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch
39