sync_engine_context.h revision f2477e01787aa58f445919b809d89e252beef54f
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 CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_CONTEXT_H_
6#define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_CONTEXT_H_
7
8#include "base/basictypes.h"
9
10namespace base {
11class SequencedTaskRunner;
12}
13
14namespace drive {
15class DriveServiceInterface;
16class DriveUploaderInterface;
17}
18
19namespace sync_file_system {
20
21class RemoteChangeProcessor;
22
23namespace drive_backend {
24
25class MetadataDatabase;
26
27class SyncEngineContext {
28 public:
29  SyncEngineContext() {}
30  ~SyncEngineContext() {}
31
32  virtual drive::DriveServiceInterface* GetDriveService() = 0;
33  virtual drive::DriveUploaderInterface* GetDriveUploader() = 0;
34  virtual MetadataDatabase* GetMetadataDatabase() = 0;
35  virtual RemoteChangeProcessor* GetRemoteChangeProcessor() = 0;
36  virtual base::SequencedTaskRunner* GetBlockingTaskRunner() = 0;
37
38 private:
39  DISALLOW_COPY_AND_ASSIGN(SyncEngineContext);
40};
41
42}  // namespace drive_backend
43}  // namespace sync_file_system
44
45#endif  // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_SYNC_ENGINE_CONTEXT_H_
46