Index: mojo/system/platform_channel_pair.h |
diff --git a/mojo/system/platform_channel_pair.h b/mojo/system/platform_channel_pair.h |
index 215b96ee8204173d7b2fde65e1cc0ae2913dbf22..3bea18ee25fe9f95972c2a3e43b26ad0bce1182f 100644 |
--- a/mojo/system/platform_channel_pair.h |
+++ b/mojo/system/platform_channel_pair.h |
@@ -8,7 +8,7 @@ |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/process/launch.h" |
-#include "mojo/system/platform_channel_handle.h" |
+#include "mojo/system/scoped_platform_handle.h" |
#include "mojo/system/system_impl_export.h" |
class CommandLine; |
@@ -16,48 +16,44 @@ class CommandLine; |
namespace mojo { |
namespace system { |
-class PlatformChannel; |
- |
-// This is used to create a pair of connected |PlatformChannel|s. The resulting |
-// channels can then be used in the same process (e.g., in tests) or between |
-// processes. (The "server" channel is the one that will be used in the process |
-// that created the pair, whereas the "client" channel is the one that will be |
-// used in a different process.) |
+// This is used to create a pair of |PlatformHandle|s that are connected by a |
+// suitable (platform-specific) bidirectional "pipe" (e.g., socket on POSIX, |
+// named pipe on Windows). The resulting handles can then be used in the same |
+// process (e.g., in tests) or between processes. (The "server" handle is the |
+// one that will be used in the process that created the pair, whereas the |
+// "client" handle is the one that will be used in a different process.) |
// |
-// This class provides facilities for passing the client channel to a child |
-// process. The parent should call |PrepareToPassClientChannelToChildProcess()| |
+// This class provides facilities for passing the client handle to a child |
+// process. The parent should call |PrepareToPassClientHandlelToChildProcess()| |
// to get the data needed to do this, spawn the child using that data, and then |
// call |ChildProcessLaunched()|. Note that on Windows this facility (will) only |
// work on Vista and later (TODO(vtl)). |
// |
-// Note: |PlatformChannelPair()|, |CreateClientChannelFromParentProcess()|, |
-// |PrepareToPassClientChannelToChildProcess()|, and |ChildProcessLaunched()| |
+// Note: |PlatformChannelPair()|, |PassClientHandleFromParentProcess()|, |
+// |PrepareToPassClientHandleToChildProcess()|, and |ChildProcessLaunched()| |
// have platform-specific implementations. |
class MOJO_SYSTEM_IMPL_EXPORT PlatformChannelPair { |
public: |
PlatformChannelPair(); |
~PlatformChannelPair(); |
- // This transfers ownership of the server channel to the caller. Returns null |
- // on failure. |
- scoped_ptr<PlatformChannel> CreateServerChannel(); |
+ ScopedPlatformHandle PassServerHandle(); |
- // For in-process use (e.g., in tests). This transfers ownership of the client |
- // channel to the caller. Returns null on failure. |
- scoped_ptr<PlatformChannel> CreateClientChannel(); |
+ // For in-process use (e.g., in tests). |
+ ScopedPlatformHandle PassClientHandle(); |
// To be called in the child process, after the parent process called |
- // |PrepareToPassClientChannelToChildProcess()| and launched the child (using |
- // the provided data), to create a client channel connected to the server |
- // channel (in the parent process). Returns null on failure. |
- static scoped_ptr<PlatformChannel> CreateClientChannelFromParentProcess( |
+ // |PrepareToPassClientHandleToChildProcess()| and launched the child (using |
+ // the provided data), to create a client handle connected to the server |
+ // handle (in the parent process). |
+ static ScopedPlatformHandle PassClientHandleFromParentProcess( |
const CommandLine& command_line); |
// Prepares to pass the client channel to a new child process, to be launched |
// using |LaunchProcess()| (from base/launch.h). Modifies |*command_line| and |
// |*file_handle_mapping| as needed. (|file_handle_mapping| may be null on |
// platforms that don't need it, like Windows.) |
- void PrepareToPassClientChannelToChildProcess( |
+ void PrepareToPassClientHandleToChildProcess( |
CommandLine* command_line, |
base::FileHandleMappingVector* file_handle_mapping) const; |
// To be called once the child process has been successfully launched, to do |
@@ -65,8 +61,8 @@ class MOJO_SYSTEM_IMPL_EXPORT PlatformChannelPair { |
void ChildProcessLaunched(); |
private: |
- PlatformChannelHandle server_handle_; |
- PlatformChannelHandle client_handle_; |
+ ScopedPlatformHandle server_handle_; |
+ ScopedPlatformHandle client_handle_; |
DISALLOW_COPY_AND_ASSIGN(PlatformChannelPair); |
}; |