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

Side by Side Diff: webkit/fileapi/file_system_file_util_proxy.h

Issue 8508001: Retry: Bind: Merge FileUtilProxy and FileSystemFileUtilProxy: Delete/Touch/Truncate/Copy/Move (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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
« no previous file with comments | « base/file_util_proxy.cc ('k') | webkit/fileapi/file_system_file_util_proxy.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_FILEAPI_FILE_SYSTEM_FILE_UTIL_PROXY_H_ 5 #ifndef WEBKIT_FILEAPI_FILE_SYSTEM_FILE_UTIL_PROXY_H_
6 #define WEBKIT_FILEAPI_FILE_SYSTEM_FILE_UTIL_PROXY_H_ 6 #define WEBKIT_FILEAPI_FILE_SYSTEM_FILE_UTIL_PROXY_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 17 matching lines...) Expand all
28 using base::PlatformFile; 28 using base::PlatformFile;
29 using base::PlatformFileError; 29 using base::PlatformFileError;
30 using base::PlatformFileInfo; 30 using base::PlatformFileInfo;
31 31
32 // This class provides asynchronous access to common file routines for the 32 // This class provides asynchronous access to common file routines for the
33 // FileSystem API. 33 // FileSystem API.
34 class FileSystemFileUtilProxy { 34 class FileSystemFileUtilProxy {
35 public: 35 public:
36 typedef base::FileUtilProxy::Entry Entry; 36 typedef base::FileUtilProxy::Entry Entry;
37 37
38 typedef base::FileUtilProxy::StatusCallback StatusCallback;
39 typedef base::Callback<void(PlatformFileError, 38 typedef base::Callback<void(PlatformFileError,
40 bool /* created */ 39 bool /* created */
41 )> EnsureFileExistsCallback; 40 )> EnsureFileExistsCallback;
42 typedef base::Callback<void(PlatformFileError, 41 typedef base::Callback<void(PlatformFileError,
43 const PlatformFileInfo&, 42 const PlatformFileInfo&,
44 const FilePath& /* platform_path */ 43 const FilePath& /* platform_path */
45 )> GetFileInfoCallback; 44 )> GetFileInfoCallback;
46 typedef base::Callback<void(PlatformFileError, 45 typedef base::Callback<void(PlatformFileError,
47 const std::vector<Entry>& 46 const std::vector<Entry>&
48 )> ReadDirectoryCallback; 47 )> ReadDirectoryCallback;
49 48
50 typedef Callback2<PlatformFileError /* error code */,
51 const FilePath& /* local_path, where possible */
52 >::Type GetLocalPathCallback;
53
54 // Ensures that the given |file_path| exist. This creates a empty new file 49 // Ensures that the given |file_path| exist. This creates a empty new file
55 // at |file_path| if the |file_path| does not exist. 50 // at |file_path| if the |file_path| does not exist.
56 // If a new file han not existed and is created at the |file_path|, 51 // If a new file han not existed and is created at the |file_path|,
57 // |created| of the callback argument is set true and |error code| 52 // |created| of the callback argument is set true and |error code|
58 // is set PLATFORM_FILE_OK. 53 // is set PLATFORM_FILE_OK.
59 // If the file already exists, |created| is set false and |error code| 54 // If the file already exists, |created| is set false and |error code|
60 // is set PLATFORM_FILE_OK. 55 // is set PLATFORM_FILE_OK.
61 // If the file hasn't existed but it couldn't be created for some other 56 // If the file hasn't existed but it couldn't be created for some other
62 // reasons, |created| is set false and |error code| indicates the error. 57 // reasons, |created| is set false and |error code| indicates the error.
63 static bool EnsureFileExists( 58 static bool EnsureFileExists(
64 const FileSystemOperationContext& context, 59 const FileSystemOperationContext& context,
65 scoped_refptr<MessageLoopProxy> message_loop_proxy, 60 scoped_refptr<MessageLoopProxy> message_loop_proxy,
66 const FilePath& file_path, 61 const FilePath& file_path,
67 const EnsureFileExistsCallback& callback); 62 const EnsureFileExistsCallback& callback);
68 63
69 // Maps virtual file patch to its local physical location.
70 static bool GetLocalPath(
71 const FileSystemOperationContext& context,
72 scoped_refptr<MessageLoopProxy> message_loop_proxy,
73 const FilePath& virtual_path,
74 GetLocalPathCallback* callback);
75
76 // Retrieves the information about a file. It is invalid to pass NULL for the 64 // Retrieves the information about a file. It is invalid to pass NULL for the
77 // callback. 65 // callback.
78 static bool GetFileInfo( 66 static bool GetFileInfo(
79 const FileSystemOperationContext& context, 67 const FileSystemOperationContext& context,
80 scoped_refptr<MessageLoopProxy> message_loop_proxy, 68 scoped_refptr<MessageLoopProxy> message_loop_proxy,
81 const FilePath& file_path, 69 const FilePath& file_path,
82 const GetFileInfoCallback& callback); 70 const GetFileInfoCallback& callback);
83 71
84 static bool ReadDirectory(const FileSystemOperationContext& context, 72 static bool ReadDirectory(const FileSystemOperationContext& context,
85 scoped_refptr<MessageLoopProxy> message_loop_proxy, 73 scoped_refptr<MessageLoopProxy> message_loop_proxy,
86 const FilePath& file_path, 74 const FilePath& file_path,
87 const ReadDirectoryCallback& callback); 75 const ReadDirectoryCallback& callback);
88 76
89 // Creates directory at given path. It's an error to create
90 // if |exclusive| is true and dir already exists.
91 static bool CreateDirectory(
92 const FileSystemOperationContext& context,
93 scoped_refptr<MessageLoopProxy> message_loop_proxy,
94 const FilePath& file_path,
95 bool exclusive,
96 bool recursive,
97 const StatusCallback& callback);
98
99 // Copies a file or a directory from |src_file_path| to |dest_file_path|
100 // Error cases:
101 // If destination file doesn't exist or destination's parent
102 // doesn't exists.
103 // If source dir exists but destination path is an existing file.
104 // If source file exists but destination path is an existing directory.
105 // If source is a parent of destination.
106 // If source doesn't exists.
107 static bool Copy(const FileSystemOperationContext& context,
108 scoped_refptr<MessageLoopProxy> message_loop_proxy,
109 const FilePath& src_file_path,
110 const FilePath& dest_file_path,
111 const StatusCallback& callback);
112
113 // Moves a file or a directory from src_file_path to dest_file_path.
114 // Error cases are similar to Copy method's error cases.
115 static bool Move(
116 const FileSystemOperationContext& context,
117 scoped_refptr<MessageLoopProxy> message_loop_proxy,
118 const FilePath& src_file_path,
119 const FilePath& dest_file_path,
120 const StatusCallback& callback);
121
122 // Deletes a file or a directory.
123 // It is an error to delete a non-empty directory with recursive=false.
124 static bool Delete(const FileSystemOperationContext& context,
125 scoped_refptr<MessageLoopProxy> message_loop_proxy,
126 const FilePath& file_path,
127 bool recursive,
128 const StatusCallback& callback);
129
130 // Touches a file. The callback can be NULL.
131 static bool Touch(
132 const FileSystemOperationContext& context,
133 scoped_refptr<MessageLoopProxy> message_loop_proxy,
134 const FilePath& file_path,
135 const base::Time& last_access_time,
136 const base::Time& last_modified_time,
137 const StatusCallback& callback);
138
139 // Truncates a file to the given length. If |length| is greater than the
140 // current length of the file, the file will be extended with zeroes.
141 // The callback can be NULL.
142 static bool Truncate(
143 const FileSystemOperationContext& context,
144 scoped_refptr<MessageLoopProxy> message_loop_proxy,
145 const FilePath& path,
146 int64 length,
147 const StatusCallback& callback);
148
149 private: 77 private:
150 DISALLOW_IMPLICIT_CONSTRUCTORS(FileSystemFileUtilProxy); 78 DISALLOW_IMPLICIT_CONSTRUCTORS(FileSystemFileUtilProxy);
151 }; 79 };
152 80
153 } // namespace fileapi 81 } // namespace fileapi
154 82
155 #endif // WEBKIT_FILEAPI_FILE_SYSTEM_FILE_UTIL_PROXY_H_ 83 #endif // WEBKIT_FILEAPI_FILE_SYSTEM_FILE_UTIL_PROXY_H_
OLDNEW
« no previous file with comments | « base/file_util_proxy.cc ('k') | webkit/fileapi/file_system_file_util_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698