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_EDK_EMBEDDER_PLATFORM_CHANNEL_PAIR_H_ | 5 #ifndef MOJO_EDK_EMBEDDER_PLATFORM_CHANNEL_PAIR_H_ |
6 #define MOJO_EDK_EMBEDDER_PLATFORM_CHANNEL_PAIR_H_ | 6 #define MOJO_EDK_EMBEDDER_PLATFORM_CHANNEL_PAIR_H_ |
7 | 7 |
8 #include "base/process/launch.h" | 8 #include "base/process/launch.h" |
9 #include "mojo/edk/embedder/scoped_platform_handle.h" | 9 #include "mojo/edk/embedder/scoped_platform_handle.h" |
10 #include "mojo/edk/system/system_impl_export.h" | |
11 #include "mojo/public/cpp/system/macros.h" | 10 #include "mojo/public/cpp/system/macros.h" |
12 | 11 |
13 namespace base { | 12 namespace base { |
14 class CommandLine; | 13 class CommandLine; |
15 } | 14 } |
16 | 15 |
17 namespace mojo { | 16 namespace mojo { |
18 namespace embedder { | 17 namespace embedder { |
19 | 18 |
20 // It would be nice to refactor base/process/launch.h to have a more platform- | 19 // It would be nice to refactor base/process/launch.h to have a more platform- |
(...skipping 13 matching lines...) Expand all Loading... |
34 // call |ChildProcessLaunched()|. | 33 // call |ChildProcessLaunched()|. |
35 // | 34 // |
36 // Note: |PlatformChannelPair()|, |PassClientHandleFromParentProcess()| and | 35 // Note: |PlatformChannelPair()|, |PassClientHandleFromParentProcess()| and |
37 // |PrepareToPassClientHandleToChildProcess()| have platform-specific | 36 // |PrepareToPassClientHandleToChildProcess()| have platform-specific |
38 // implementations. | 37 // implementations. |
39 // | 38 // |
40 // Note: On POSIX platforms, to write to the "pipe", use | 39 // Note: On POSIX platforms, to write to the "pipe", use |
41 // |PlatformChannel{Write,Writev}()| (from platform_channel_utils_posix.h) | 40 // |PlatformChannel{Write,Writev}()| (from platform_channel_utils_posix.h) |
42 // instead of |write()|, |writev()|, etc. Otherwise, you have to worry about | 41 // instead of |write()|, |writev()|, etc. Otherwise, you have to worry about |
43 // platform differences in suppressing |SIGPIPE|. | 42 // platform differences in suppressing |SIGPIPE|. |
44 class MOJO_SYSTEM_IMPL_EXPORT PlatformChannelPair { | 43 class PlatformChannelPair { |
45 public: | 44 public: |
46 PlatformChannelPair(); | 45 PlatformChannelPair(); |
47 ~PlatformChannelPair(); | 46 ~PlatformChannelPair(); |
48 | 47 |
49 ScopedPlatformHandle PassServerHandle(); | 48 ScopedPlatformHandle PassServerHandle(); |
50 | 49 |
51 // For in-process use (e.g., in tests or to pass over another channel). | 50 // For in-process use (e.g., in tests or to pass over another channel). |
52 ScopedPlatformHandle PassClientHandle(); | 51 ScopedPlatformHandle PassClientHandle(); |
53 | 52 |
54 // To be called in the child process, after the parent process called | 53 // To be called in the child process, after the parent process called |
(...skipping 20 matching lines...) Expand all Loading... |
75 ScopedPlatformHandle server_handle_; | 74 ScopedPlatformHandle server_handle_; |
76 ScopedPlatformHandle client_handle_; | 75 ScopedPlatformHandle client_handle_; |
77 | 76 |
78 MOJO_DISALLOW_COPY_AND_ASSIGN(PlatformChannelPair); | 77 MOJO_DISALLOW_COPY_AND_ASSIGN(PlatformChannelPair); |
79 }; | 78 }; |
80 | 79 |
81 } // namespace embedder | 80 } // namespace embedder |
82 } // namespace mojo | 81 } // namespace mojo |
83 | 82 |
84 #endif // MOJO_EDK_EMBEDDER_PLATFORM_CHANNEL_PAIR_H_ | 83 #endif // MOJO_EDK_EMBEDDER_PLATFORM_CHANNEL_PAIR_H_ |
OLD | NEW |