| 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 |