Original issue with review is:
http://codereview.chromium.org/8424006/
BUG=none
TEST=test_shell_tests:\*FileSystem\*
TBR=willchan, caseq
Review URL: http://codereview.chromium.org/8466003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108639 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: c7a36cfa4f51efb7b089fa1c3e70536e866c24df
diff --git a/base/file_util_proxy.h b/base/file_util_proxy.h
index eb1d144..15a3e82 100644
--- a/base/file_util_proxy.h
+++ b/base/file_util_proxy.h
@@ -32,7 +32,7 @@
};
// This callback is used by methods that report only an error code. It is
- // valid to pass StatusCallback() to any function that takes a StatusCallback,
+ // valid to pass a null callback to any function that takes a StatusCallback,
// in which case the operation will complete silently.
typedef Callback<void(PlatformFileError)> StatusCallback;
@@ -51,6 +51,9 @@
typedef Callback<void(PlatformFileError,
int /* bytes written */)> WriteCallback;
+ typedef Callback<PlatformFileError(PlatformFile*, bool*)> CreateOrOpenTask;
+ typedef Callback<PlatformFileError(PlatformFile)> CloseTask;
+
// Creates or opens a file with the given flags. It is invalid to pass a null
// callback. If PLATFORM_FILE_CREATE is set in |file_flags| it always tries to
// create a new file at the given |file_path| and calls back with
@@ -164,6 +167,19 @@
PlatformFile file,
const StatusCallback& callback);
+ // Relay helpers.
+ static bool RelayCreateOrOpen(
+ scoped_refptr<MessageLoopProxy> message_loop_proxy,
+ const CreateOrOpenTask& open_task,
+ const CloseTask& close_task,
+ const CreateOrOpenCallback& callback);
+
+ static bool RelayClose(
+ scoped_refptr<MessageLoopProxy> message_loop_proxy,
+ const CloseTask& close_task,
+ PlatformFile,
+ const StatusCallback& callback);
+
private:
DISALLOW_IMPLICIT_CONSTRUCTORS(FileUtilProxy);
};