OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 WEBKIT_BROWSER_FILEAPI_ASYNC_FILE_UTIL_H_ | 5 #ifndef WEBKIT_BROWSER_FILEAPI_ASYNC_FILE_UTIL_H_ |
6 #define WEBKIT_BROWSER_FILEAPI_ASYNC_FILE_UTIL_H_ | 6 #define WEBKIT_BROWSER_FILEAPI_ASYNC_FILE_UTIL_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/callback_forward.h" | 11 #include "base/callback_forward.h" |
12 #include "base/files/file.h" | 12 #include "base/files/file.h" |
13 #include "base/files/file_util_proxy.h" | 13 #include "base/files/file_util_proxy.h" |
14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
15 #include "webkit/browser/fileapi/file_system_operation.h" | 15 #include "webkit/browser/fileapi/file_system_operation.h" |
16 #include "webkit/browser/webkit_storage_browser_export.h" | 16 #include "webkit/browser/webkit_storage_browser_export.h" |
17 #include "webkit/common/fileapi/directory_entry.h" | 17 #include "webkit/common/fileapi/directory_entry.h" |
18 | 18 |
19 namespace base { | 19 namespace base { |
20 class Time; | 20 class Time; |
21 } | 21 } |
22 | 22 |
23 namespace webkit_blob { | 23 namespace storage { |
24 class ShareableFileReference; | 24 class ShareableFileReference; |
25 } | 25 } |
26 | 26 |
27 namespace fileapi { | 27 namespace storage { |
28 | 28 |
29 class FileSystemOperationContext; | 29 class FileSystemOperationContext; |
30 class FileSystemURL; | 30 class FileSystemURL; |
31 | 31 |
32 // An interface which provides filesystem-specific file operations for | 32 // An interface which provides filesystem-specific file operations for |
33 // FileSystemOperationImpl. | 33 // FileSystemOperationImpl. |
34 // | 34 // |
35 // Each filesystem which needs to be dispatched from FileSystemOperationImpl | 35 // Each filesystem which needs to be dispatched from FileSystemOperationImpl |
36 // must implement this interface or a synchronous version of interface: | 36 // must implement this interface or a synchronous version of interface: |
37 // FileSystemFileUtil. | 37 // FileSystemFileUtil. |
(...skipping 29 matching lines...) Expand all Loading... |
67 typedef std::vector<DirectoryEntry> EntryList; | 67 typedef std::vector<DirectoryEntry> EntryList; |
68 typedef base::Callback< | 68 typedef base::Callback< |
69 void(base::File::Error result, | 69 void(base::File::Error result, |
70 const EntryList& file_list, | 70 const EntryList& file_list, |
71 bool has_more)> ReadDirectoryCallback; | 71 bool has_more)> ReadDirectoryCallback; |
72 | 72 |
73 typedef base::Callback< | 73 typedef base::Callback< |
74 void(base::File::Error result, | 74 void(base::File::Error result, |
75 const base::File::Info& file_info, | 75 const base::File::Info& file_info, |
76 const base::FilePath& platform_path, | 76 const base::FilePath& platform_path, |
77 const scoped_refptr<webkit_blob::ShareableFileReference>& file_ref)> | 77 const scoped_refptr<storage::ShareableFileReference>& file_ref)> |
78 CreateSnapshotFileCallback; | 78 CreateSnapshotFileCallback; |
79 | 79 |
80 | |
81 typedef base::Callback<void(int64 size)> CopyFileProgressCallback; | 80 typedef base::Callback<void(int64 size)> CopyFileProgressCallback; |
82 | 81 |
83 typedef FileSystemOperation::CopyOrMoveOption CopyOrMoveOption; | 82 typedef FileSystemOperation::CopyOrMoveOption CopyOrMoveOption; |
84 | 83 |
85 // Creates an AsyncFileUtil instance which performs file operations on | 84 // Creates an AsyncFileUtil instance which performs file operations on |
86 // local native file system. The created instance assumes | 85 // local native file system. The created instance assumes |
87 // FileSystemURL::path() has the target platform path. | 86 // FileSystemURL::path() has the target platform path. |
88 WEBKIT_STORAGE_BROWSER_EXPORT static AsyncFileUtil* | 87 WEBKIT_STORAGE_BROWSER_EXPORT static AsyncFileUtil* |
89 CreateForLocalFileSystem(); | 88 CreateForLocalFileSystem(); |
90 | 89 |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 // check the return code. | 354 // check the return code. |
356 virtual void CreateSnapshotFile( | 355 virtual void CreateSnapshotFile( |
357 scoped_ptr<FileSystemOperationContext> context, | 356 scoped_ptr<FileSystemOperationContext> context, |
358 const FileSystemURL& url, | 357 const FileSystemURL& url, |
359 const CreateSnapshotFileCallback& callback) = 0; | 358 const CreateSnapshotFileCallback& callback) = 0; |
360 | 359 |
361 private: | 360 private: |
362 DISALLOW_COPY_AND_ASSIGN(AsyncFileUtil); | 361 DISALLOW_COPY_AND_ASSIGN(AsyncFileUtil); |
363 }; | 362 }; |
364 | 363 |
365 } // namespace fileapi | 364 } // namespace storage |
366 | 365 |
367 #endif // WEBKIT_BROWSER_FILEAPI_ASYNC_FILE_UTIL_H_ | 366 #endif // WEBKIT_BROWSER_FILEAPI_ASYNC_FILE_UTIL_H_ |
OLD | NEW |