Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Unified Diff: mojo/system/platform_channel.h

Issue 133533007: Mojo: Move PlatformChannelPair to its own files. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/mojo.gyp ('k') | mojo/system/platform_channel.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/system/platform_channel.h
diff --git a/mojo/system/platform_channel.h b/mojo/system/platform_channel.h
index 47e1e6ac99e38973ebc067d7fe6a3bbdcc68109a..9c993d598392680b424cf658669434d742bd6c0e 100644
--- a/mojo/system/platform_channel.h
+++ b/mojo/system/platform_channel.h
@@ -5,14 +5,11 @@
#ifndef MOJO_SYSTEM_PLATFORM_CHANNEL_H_
#define MOJO_SYSTEM_PLATFORM_CHANNEL_H_
-#include "base/basictypes.h"
+#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/system_impl_export.h"
-class CommandLine;
-
namespace mojo {
namespace system {
@@ -41,59 +38,6 @@ class MOJO_SYSTEM_IMPL_EXPORT PlatformChannel {
DISALLOW_COPY_AND_ASSIGN(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 class provides facilities for passing the client channel to a child
-// process. The parent should call |PrepareToPassClientChannelToChildProcess()|
-// 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()|
-// 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();
-
- // 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();
-
- // 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(
- 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(
- CommandLine* command_line,
- base::FileHandleMappingVector* file_handle_mapping) const;
- // To be called once the child process has been successfully launched, to do
- // any cleanup necessary.
- void ChildProcessLaunched();
-
- private:
- PlatformChannelHandle server_handle_;
- PlatformChannelHandle client_handle_;
-
- DISALLOW_COPY_AND_ASSIGN(PlatformChannelPair);
-};
-
} // namespace system
} // namespace mojo
« no previous file with comments | « mojo/mojo.gyp ('k') | mojo/system/platform_channel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698