Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Side by Side Diff: webkit/browser/fileapi/file_system_operation_runner.h

Issue 24030002: Adds callbacks to notify progress into Copy's API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_RUNNER_H_ 5 #ifndef WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_RUNNER_H_
6 #define WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_RUNNER_H_ 6 #define WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_RUNNER_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 23 matching lines...) Expand all
34 // returned operation ID). 34 // returned operation ID).
35 class WEBKIT_STORAGE_BROWSER_EXPORT FileSystemOperationRunner 35 class WEBKIT_STORAGE_BROWSER_EXPORT FileSystemOperationRunner
36 : public base::SupportsWeakPtr<FileSystemOperationRunner> { 36 : public base::SupportsWeakPtr<FileSystemOperationRunner> {
37 public: 37 public:
38 typedef FileSystemOperation::GetMetadataCallback GetMetadataCallback; 38 typedef FileSystemOperation::GetMetadataCallback GetMetadataCallback;
39 typedef FileSystemOperation::ReadDirectoryCallback ReadDirectoryCallback; 39 typedef FileSystemOperation::ReadDirectoryCallback ReadDirectoryCallback;
40 typedef FileSystemOperation::SnapshotFileCallback SnapshotFileCallback; 40 typedef FileSystemOperation::SnapshotFileCallback SnapshotFileCallback;
41 typedef FileSystemOperation::StatusCallback StatusCallback; 41 typedef FileSystemOperation::StatusCallback StatusCallback;
42 typedef FileSystemOperation::WriteCallback WriteCallback; 42 typedef FileSystemOperation::WriteCallback WriteCallback;
43 typedef FileSystemOperation::OpenFileCallback OpenFileCallback; 43 typedef FileSystemOperation::OpenFileCallback OpenFileCallback;
44 typedef FileSystemOperation::CopyProgressCallback CopyProgressCallback;
45 typedef FileSystemOperation::CopyFileProgressCallback
46 CopyFileProgressCallback;
44 47
45 typedef int OperationID; 48 typedef int OperationID;
46 49
47 virtual ~FileSystemOperationRunner(); 50 virtual ~FileSystemOperationRunner();
48 51
49 // Cancels all inflight operations. 52 // Cancels all inflight operations.
50 void Shutdown(); 53 void Shutdown();
51 54
52 // Creates a file at |url|. If |exclusive| is true, an error is raised 55 // Creates a file at |url|. If |exclusive| is true, an error is raised
53 // in case a file is already present at the URL. 56 // in case a file is already present at the URL.
54 OperationID CreateFile(const FileSystemURL& url, 57 OperationID CreateFile(const FileSystemURL& url,
55 bool exclusive, 58 bool exclusive,
56 const StatusCallback& callback); 59 const StatusCallback& callback);
57 60
58 OperationID CreateDirectory(const FileSystemURL& url, 61 OperationID CreateDirectory(const FileSystemURL& url,
59 bool exclusive, 62 bool exclusive,
60 bool recursive, 63 bool recursive,
61 const StatusCallback& callback); 64 const StatusCallback& callback);
62 65
63 // Copies a file or directory from |src_url| to |dest_url|. If 66 // Copies a file or directory from |src_url| to |dest_url|. If
64 // |src_url| is a directory, the contents of |src_url| are copied to 67 // |src_url| is a directory, the contents of |src_url| are copied to
65 // |dest_url| recursively. A new file or directory is created at 68 // |dest_url| recursively. A new file or directory is created at
66 // |dest_url| as needed. 69 // |dest_url| as needed.
70 // For |progress_callback|, see file_system_operation.h for details.
67 OperationID Copy(const FileSystemURL& src_url, 71 OperationID Copy(const FileSystemURL& src_url,
68 const FileSystemURL& dest_url, 72 const FileSystemURL& dest_url,
73 const CopyProgressCallback& progress_callback,
69 const StatusCallback& callback); 74 const StatusCallback& callback);
70 75
71 // Moves a file or directory from |src_url| to |dest_url|. A new file 76 // Moves a file or directory from |src_url| to |dest_url|. A new file
72 // or directory is created at |dest_url| as needed. 77 // or directory is created at |dest_url| as needed.
73 OperationID Move(const FileSystemURL& src_url, 78 OperationID Move(const FileSystemURL& src_url,
74 const FileSystemURL& dest_url, 79 const FileSystemURL& dest_url,
75 const StatusCallback& callback); 80 const StatusCallback& callback);
76 81
77 // Checks if a directory is present at |url|. 82 // Checks if a directory is present at |url|.
78 OperationID DirectoryExists(const FileSystemURL& url, 83 OperationID DirectoryExists(const FileSystemURL& url,
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 // - PLATFORM_FILE_ERROR_NOT_FOUND if |url| does not exist. 181 // - PLATFORM_FILE_ERROR_NOT_FOUND if |url| does not exist.
177 // - PLATFORM_FILE_ERROR_NOT_A_DIRECTORY if |url| is not a directory. 182 // - PLATFORM_FILE_ERROR_NOT_A_DIRECTORY if |url| is not a directory.
178 // - PLATFORM_FILE_ERROR_NOT_EMPTY if |url| is not empty. 183 // - PLATFORM_FILE_ERROR_NOT_EMPTY if |url| is not empty.
179 // 184 //
180 OperationID RemoveDirectory(const FileSystemURL& url, 185 OperationID RemoveDirectory(const FileSystemURL& url,
181 const StatusCallback& callback); 186 const StatusCallback& callback);
182 187
183 // Copies a file from |src_url| to |dest_url|. 188 // Copies a file from |src_url| to |dest_url|.
184 // This must be called for files that belong to the same filesystem 189 // This must be called for files that belong to the same filesystem
185 // (i.e. type() and origin() of the |src_url| and |dest_url| must match). 190 // (i.e. type() and origin() of the |src_url| and |dest_url| must match).
191 // For |progress_callback|, see file_system_operation.h for details.
186 // 192 //
187 // This returns: 193 // This returns:
188 // - PLATFORM_FILE_ERROR_NOT_FOUND if |src_url| 194 // - PLATFORM_FILE_ERROR_NOT_FOUND if |src_url|
189 // or the parent directory of |dest_url| does not exist. 195 // or the parent directory of |dest_url| does not exist.
190 // - PLATFORM_FILE_ERROR_NOT_A_FILE if |src_url| exists but is not a file. 196 // - PLATFORM_FILE_ERROR_NOT_A_FILE if |src_url| exists but is not a file.
191 // - PLATFORM_FILE_ERROR_INVALID_OPERATION if |dest_url| exists and 197 // - PLATFORM_FILE_ERROR_INVALID_OPERATION if |dest_url| exists and
192 // is not a file. 198 // is not a file.
193 // - PLATFORM_FILE_ERROR_FAILED if |dest_url| does not exist and 199 // - PLATFORM_FILE_ERROR_FAILED if |dest_url| does not exist and
194 // its parent path is a file. 200 // its parent path is a file.
195 // 201 //
196 OperationID CopyFileLocal(const FileSystemURL& src_url, 202 OperationID CopyFileLocal(const FileSystemURL& src_url,
197 const FileSystemURL& dest_url, 203 const FileSystemURL& dest_url,
204 const CopyFileProgressCallback& progress_callback,
198 const StatusCallback& callback); 205 const StatusCallback& callback);
199 206
200 // Moves a local file from |src_url| to |dest_url|. 207 // Moves a local file from |src_url| to |dest_url|.
201 // This must be called for files that belong to the same filesystem 208 // This must be called for files that belong to the same filesystem
202 // (i.e. type() and origin() of the |src_url| and |dest_url| must match). 209 // (i.e. type() and origin() of the |src_url| and |dest_url| must match).
203 // 210 //
204 // This returns: 211 // This returns:
205 // - PLATFORM_FILE_ERROR_NOT_FOUND if |src_url| 212 // - PLATFORM_FILE_ERROR_NOT_FOUND if |src_url|
206 // or the parent directory of |dest_url| does not exist. 213 // or the parent directory of |dest_url| does not exist.
207 // - PLATFORM_FILE_ERROR_NOT_A_FILE if |src_url| exists but is not a file. 214 // - PLATFORM_FILE_ERROR_NOT_A_FILE if |src_url| exists but is not a file.
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 297
291 // Callbacks for stray cancels whose target operation is already finished. 298 // Callbacks for stray cancels whose target operation is already finished.
292 std::map<OperationID, StatusCallback> stray_cancel_callbacks_; 299 std::map<OperationID, StatusCallback> stray_cancel_callbacks_;
293 300
294 DISALLOW_COPY_AND_ASSIGN(FileSystemOperationRunner); 301 DISALLOW_COPY_AND_ASSIGN(FileSystemOperationRunner);
295 }; 302 };
296 303
297 } // namespace fileapi 304 } // namespace fileapi
298 305
299 #endif // WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_RUNNER_H_ 306 #endif // WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_RUNNER_H_
OLDNEW
« no previous file with comments | « webkit/browser/fileapi/file_system_operation_impl_unittest.cc ('k') | webkit/browser/fileapi/file_system_operation_runner.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698