Home | History | Annotate | Download | only in drive_backend
      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 
     10 namespace base {
     11 class SequencedTaskRunner;
     12 }
     13 
     14 namespace drive {
     15 class DriveServiceInterface;
     16 class DriveUploaderInterface;
     17 }
     18 
     19 namespace sync_file_system {
     20 
     21 class RemoteChangeProcessor;
     22 
     23 namespace drive_backend {
     24 
     25 class MetadataDatabase;
     26 
     27 class 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