OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef MOJO_SHELL_DATA_PIPE_UTILS_H_ | |
6 #define MOJO_SHELL_DATA_PIPE_UTILS_H_ | |
7 | |
8 #include <string> | |
9 | |
10 #include "base/callback_forward.h" | |
11 #include "mojo/common/mojo_common_export.h" | |
12 #include "third_party/mojo/src/mojo/public/cpp/system/core.h" | |
13 | |
14 namespace base { | |
15 class FilePath; | |
16 class TaskRunner; | |
17 } | |
18 | |
19 namespace mojo { | |
20 namespace common { | |
21 | |
22 // Asynchronously copies data from source to the destination file. The given | |
23 // |callback| is run upon completion. File writes will be scheduled to the | |
24 // given |task_runner|. | |
25 void MOJO_COMMON_EXPORT CopyToFile( | |
26 ScopedDataPipeConsumerHandle source, | |
27 const base::FilePath& destination, | |
28 base::TaskRunner* task_runner, | |
29 const base::Callback<void(bool /*success*/)>& callback); | |
30 | |
31 void MOJO_COMMON_EXPORT | |
32 CopyFromFile(const base::FilePath& source, | |
33 ScopedDataPipeProducerHandle destination, | |
34 uint32_t skip, | |
35 base::TaskRunner* task_runner, | |
36 const base::Callback<void(bool /*success*/)>& callback); | |
37 | |
38 // Copies the data from |source| into |contents| and returns true on success and | |
39 // false on error. In case of I/O error, |contents| holds the data that could | |
40 // be read from source before the error occurred. | |
41 bool MOJO_COMMON_EXPORT BlockingCopyToString( | |
42 ScopedDataPipeConsumerHandle source, | |
43 std::string* contents); | |
44 | |
45 bool MOJO_COMMON_EXPORT BlockingCopyFromString( | |
46 const std::string& source, | |
47 const ScopedDataPipeProducerHandle& destination); | |
48 | |
49 // Synchronously copies data from source to the destination file returning true | |
50 // on success and false on error. In case of an error, |destination| holds the | |
51 // data that could be read from the source before the error occured. | |
52 bool MOJO_COMMON_EXPORT BlockingCopyToFile(ScopedDataPipeConsumerHandle source, | |
53 const base::FilePath& destination); | |
54 | |
55 } // namespace common | |
56 } // namespace mojo | |
57 | |
58 #endif // MOJO_SHELL_DATA_PIPE_UTILS_H_ | |
OLD | NEW |