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

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

Issue 16311010: Make FileSystemOperation::Write take closure-friendly parameters (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_H_ 5 #ifndef WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_H_
6 #define WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_H_ 6 #define WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
11 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
12 #include "base/platform_file.h" 12 #include "base/platform_file.h"
13 #include "base/process.h" 13 #include "base/process.h"
14 #include "webkit/common/fileapi/directory_entry.h" 14 #include "webkit/common/fileapi/directory_entry.h"
15 15
16 namespace base { 16 namespace base {
17 class Time; 17 class Time;
18 } // namespace base 18 }
19 19
20 namespace net { 20 namespace net {
21 class URLRequestContext; 21 class URLRequest;
22 } // namespace net 22 }
23 23
24 namespace webkit_blob { 24 namespace webkit_blob {
25 class ShareableFileReference; 25 class ShareableFileReference;
26 } 26 }
27 27
28 class GURL; 28 class GURL;
29 29
30 namespace fileapi { 30 namespace fileapi {
31 31
32 class FileSystemURL; 32 class FileSystemURL;
33 class FileWriterDelegate;
33 class LocalFileSystemOperation; 34 class LocalFileSystemOperation;
34 35
35 // The interface class for FileSystemOperation implementations. 36 // The interface class for FileSystemOperation implementations.
36 // 37 //
37 // This interface defines file system operations required to implement 38 // This interface defines file system operations required to implement
38 // "File API: Directories and System" 39 // "File API: Directories and System"
39 // http://www.w3.org/TR/file-system-api/ 40 // http://www.w3.org/TR/file-system-api/
40 // 41 //
41 // DESIGN NOTES 42 // DESIGN NOTES
42 // 43 //
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 165
165 // Reads contents of a directory at |path|. 166 // Reads contents of a directory at |path|.
166 virtual void ReadDirectory(const FileSystemURL& path, 167 virtual void ReadDirectory(const FileSystemURL& path,
167 const ReadDirectoryCallback& callback) = 0; 168 const ReadDirectoryCallback& callback) = 0;
168 169
169 // Removes a file or directory at |path|. If |recursive| is true, remove 170 // Removes a file or directory at |path|. If |recursive| is true, remove
170 // all files and directories under the directory at |path| recursively. 171 // all files and directories under the directory at |path| recursively.
171 virtual void Remove(const FileSystemURL& path, bool recursive, 172 virtual void Remove(const FileSystemURL& path, bool recursive,
172 const StatusCallback& callback) = 0; 173 const StatusCallback& callback) = 0;
173 174
174 // Writes contents of |blob_url| to |path| at |offset|. 175 // Writes the data read from |blob_request| using |writer_delegate|.
175 // |url_request_context| is used to read contents in |blob_url|. 176 virtual void Write(
176 virtual void Write(const net::URLRequestContext* url_request_context, 177 const FileSystemURL& url,
177 const FileSystemURL& path, 178 scoped_ptr<FileWriterDelegate> writer_delegate,
178 const GURL& blob_url, 179 scoped_ptr<net::URLRequest> blob_request,
179 int64 offset, 180 const WriteCallback& callback) = 0;
180 const WriteCallback& callback) = 0;
181 181
182 // Truncates a file at |path| to |length|. If |length| is larger than 182 // Truncates a file at |path| to |length|. If |length| is larger than
183 // the original file size, the file will be extended, and the extended 183 // the original file size, the file will be extended, and the extended
184 // part is filled with null bytes. 184 // part is filled with null bytes.
185 virtual void Truncate(const FileSystemURL& path, int64 length, 185 virtual void Truncate(const FileSystemURL& path, int64 length,
186 const StatusCallback& callback) = 0; 186 const StatusCallback& callback) = 0;
187 187
188 // Tries to cancel the current operation [we support cancelling write or 188 // Tries to cancel the current operation [we support cancelling write or
189 // truncate only]. Reports failure for the current operation, then reports 189 // truncate only]. Reports failure for the current operation, then reports
190 // success for the cancel operation itself via the |cancel_dispatcher|. 190 // success for the cancel operation itself via the |cancel_dispatcher|.
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 kOperationOpenFile, 269 kOperationOpenFile,
270 kOperationCloseFile, 270 kOperationCloseFile,
271 kOperationGetLocalPath, 271 kOperationGetLocalPath,
272 kOperationCancel, 272 kOperationCancel,
273 }; 273 };
274 }; 274 };
275 275
276 } // namespace fileapi 276 } // namespace fileapi
277 277
278 #endif // WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_H_ 278 #endif // WEBKIT_BROWSER_FILEAPI_FILE_SYSTEM_OPERATION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698