OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 MOJO_SHELL_DATA_PIPE_UTILS_H_ | 5 #ifndef MOJO_SHELL_DATA_PIPE_UTILS_H_ |
6 #define MOJO_SHELL_DATA_PIPE_UTILS_H_ | 6 #define MOJO_SHELL_DATA_PIPE_UTILS_H_ |
7 | 7 |
| 8 #include <string> |
| 9 |
8 #include "base/callback_forward.h" | 10 #include "base/callback_forward.h" |
9 #include "mojo/common/mojo_common_export.h" | 11 #include "mojo/common/mojo_common_export.h" |
10 #include "mojo/public/cpp/system/core.h" | 12 #include "mojo/public/cpp/system/core.h" |
11 | 13 |
12 namespace base { | 14 namespace base { |
13 class FilePath; | 15 class FilePath; |
14 class TaskRunner; | 16 class TaskRunner; |
15 } | 17 } |
16 | 18 |
17 namespace mojo { | 19 namespace mojo { |
18 namespace common { | 20 namespace common { |
19 | 21 |
20 // Asynchronously copies data from source to the destination file. The given | 22 // Asynchronously copies data from source to the destination file. The given |
21 // |callback| is run upon completion. File writes will be scheduled to the | 23 // |callback| is run upon completion. File writes will be scheduled to the |
22 // given |task_runner|. | 24 // given |task_runner|. |
23 void MOJO_COMMON_EXPORT CopyToFile( | 25 void MOJO_COMMON_EXPORT CopyToFile( |
24 ScopedDataPipeConsumerHandle source, | 26 ScopedDataPipeConsumerHandle source, |
25 const base::FilePath& destination, | 27 const base::FilePath& destination, |
26 base::TaskRunner* task_runner, | 28 base::TaskRunner* task_runner, |
27 const base::Callback<void(bool /*success*/)>& callback); | 29 const base::Callback<void(bool /*success*/)>& callback); |
28 | 30 |
| 31 // Copies the data from |source| into |contents| and returns true on success and |
| 32 // false on error. In case of I/O error, |contents| holds the data that could |
| 33 // be read from source before the error occurred. |
| 34 bool MOJO_COMMON_EXPORT BlockingCopyToString( |
| 35 ScopedDataPipeConsumerHandle source, |
| 36 std::string* contents); |
| 37 |
29 } // namespace common | 38 } // namespace common |
30 } // namespace mojo | 39 } // namespace mojo |
31 | 40 |
32 #endif // MOJO_SHELL_DATA_PIPE_UTILS_H_ | 41 #endif // MOJO_SHELL_DATA_PIPE_UTILS_H_ |
OLD | NEW |