OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_DELEGATE_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_FILEAPI_FILE_SYSTEM_BACKEND_DELEGATE_H_ |
6 #define CHROME_BROWSER_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_DELEGATE_H_ | 6 #define CHROME_BROWSER_CHROMEOS_FILEAPI_FILE_SYSTEM_BACKEND_DELEGATE_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/platform_file.h" | 10 #include "base/platform_file.h" |
11 #include "webkit/common/fileapi/file_system_types.h" | 11 #include "webkit/common/fileapi/file_system_types.h" |
12 | 12 |
13 namespace base { | 13 namespace base { |
14 class Time; | 14 class Time; |
15 } // namespace base | 15 } // namespace base |
16 | 16 |
17 namespace fileapi { | 17 namespace fileapi { |
18 class AsyncFileUtil; | 18 class AsyncFileUtil; |
19 class FileSystemContext; | 19 class FileSystemContext; |
20 class FileSystemOperation; | 20 class FileSystemOperation; |
21 class FileSystemURL; | 21 class FileSystemURL; |
22 class FileStreamWriter; | 22 class FileStreamWriter; |
23 } // namespace fileapi | 23 } // namespace fileapi |
24 | 24 |
25 namespace webkit_blob { | 25 namespace webkit_blob { |
26 class FileStreamReader; | 26 class FileStreamReader; |
27 } // namespace webkit_blob | 27 } // namespace webkit_blob |
28 | 28 |
29 namespace chromeos { | 29 namespace chromeos { |
30 | 30 |
31 // This is delegate interface to inject the implementation of the some methods | 31 // This is delegate interface to inject the implementation of the some methods |
32 // of CrosMountPointProvider. The main goal is to inject Drive File System. | 32 // of FileSystemBackend. The main goal is to inject Drive File System. |
33 class CrosMountPointProviderDelegate { | 33 class FileSystemBackendDelegate { |
34 public: | 34 public: |
35 virtual ~CrosMountPointProviderDelegate() {} | 35 virtual ~FileSystemBackendDelegate() {} |
36 | 36 |
37 // Called from CrosMountPointProvider::GetAsyncFileUtil(). | 37 // Called from FileSystemBackend::GetAsyncFileUtil(). |
38 virtual fileapi::AsyncFileUtil* GetAsyncFileUtil( | 38 virtual fileapi::AsyncFileUtil* GetAsyncFileUtil( |
39 fileapi::FileSystemType type) = 0; | 39 fileapi::FileSystemType type) = 0; |
40 | 40 |
41 // Called from CrosMountPointProvider::CreateFileStreamReader(). | 41 // Called from FileSystemBackend::CreateFileStreamReader(). |
42 virtual scoped_ptr<webkit_blob::FileStreamReader> CreateFileStreamReader( | 42 virtual scoped_ptr<webkit_blob::FileStreamReader> CreateFileStreamReader( |
43 const fileapi::FileSystemURL& url, | 43 const fileapi::FileSystemURL& url, |
44 int64 offset, | 44 int64 offset, |
45 const base::Time& expected_modification_time, | 45 const base::Time& expected_modification_time, |
46 fileapi::FileSystemContext* context) = 0; | 46 fileapi::FileSystemContext* context) = 0; |
47 | 47 |
48 // Called from CrosMountPointProvider::CreateFileStreamWriter(). | 48 // Called from FileSystemBackend::CreateFileStreamWriter(). |
49 virtual scoped_ptr<fileapi::FileStreamWriter> CreateFileStreamWriter( | 49 virtual scoped_ptr<fileapi::FileStreamWriter> CreateFileStreamWriter( |
50 const fileapi::FileSystemURL& url, | 50 const fileapi::FileSystemURL& url, |
51 int64 offset, | 51 int64 offset, |
52 fileapi::FileSystemContext* context) = 0; | 52 fileapi::FileSystemContext* context) = 0; |
53 | 53 |
54 // Called from CrosMountPointProvider::CreateFileSystemOperation(). | 54 // Called from FileSystemBackend::CreateFileSystemOperation(). |
55 // TODO(hidehiko): Get rid of this method when we merge the | 55 // TODO(hidehiko): Get rid of this method when we merge the |
56 // {Remote,Local}FileSystemOperation. | 56 // {Remote,Local}FileSystemOperation. |
57 virtual fileapi::FileSystemOperation* CreateFileSystemOperation( | 57 virtual fileapi::FileSystemOperation* CreateFileSystemOperation( |
58 const fileapi::FileSystemURL& url, | 58 const fileapi::FileSystemURL& url, |
59 fileapi::FileSystemContext* context, | 59 fileapi::FileSystemContext* context, |
60 base::PlatformFileError* error_code) = 0; | 60 base::PlatformFileError* error_code) = 0; |
61 }; | 61 }; |
62 | 62 |
63 } // namespace chromeos | 63 } // namespace chromeos |
64 | 64 |
65 #endif // CHROME_BROWSER_CHROMEOS_FILEAPI_CROS_MOUNT_POINT_PROVIDER_DELEGATE_H_ | 65 #endif // CHROME_BROWSER_CHROMEOS_FILEAPI_FILE_SYSTEM_BACKEND_DELEGATE_H_ |
OLD | NEW |