Index: mojo/edk/embedder/embedder.h |
diff --git a/mojo/edk/embedder/embedder.h b/mojo/edk/embedder/embedder.h |
index b7ceaa92c8d70a023c61d0de04912d2714e2fc61..97258e52f61d535bcf96f95be25ecf659fbefb56 100644 |
--- a/mojo/edk/embedder/embedder.h |
+++ b/mojo/edk/embedder/embedder.h |
@@ -16,6 +16,7 @@ |
#include "base/memory/shared_memory_handle.h" |
#include "base/process/process_handle.h" |
#include "base/task_runner.h" |
+#include "mojo/edk/embedder/pending_process_connection.h" |
#include "mojo/edk/embedder/scoped_platform_handle.h" |
#include "mojo/edk/system/system_impl_export.h" |
#include "mojo/public/cpp/system/message_pipe.h" |
@@ -27,8 +28,6 @@ class PortProvider; |
namespace mojo { |
namespace edk { |
-using ProcessErrorCallback = base::Callback<void(const std::string& error)>; |
- |
// Basic configuration/initialization ------------------------------------------ |
// |Init()| sets up the basic Mojo system environment, making the |Mojo...()| |
@@ -38,30 +37,9 @@ using ProcessErrorCallback = base::Callback<void(const std::string& error)>; |
// Allows changing the default max message size. Must be called before Init. |
MOJO_SYSTEM_IMPL_EXPORT void SetMaxMessageSize(size_t bytes); |
-// Called in the parent process for each child process that is launched. |
-MOJO_SYSTEM_IMPL_EXPORT void ChildProcessLaunched( |
- base::ProcessHandle child_process, |
- ScopedPlatformHandle server_pipe, |
- const std::string& child_token); |
- |
-// Called in the parent process for each child process that is launched. |
-// |process_error_callback| is called if the system becomes aware of some |
-// internal error related to this process, e.g., if the system is notified of a |
-// bad message from this process via the |MojoNotifyBadMessage()| API. |
-MOJO_SYSTEM_IMPL_EXPORT void ChildProcessLaunched( |
- base::ProcessHandle child_process, |
- ScopedPlatformHandle server_pipe, |
- const std::string& child_token, |
- const ProcessErrorCallback& error_callback); |
- |
-// Called in the parent process when a child process fails to launch. |
-// Exactly one of ChildProcessLaunched() or ChildProcessLaunchFailed() must be |
-// called per child process launch attempt. |
-MOJO_SYSTEM_IMPL_EXPORT void ChildProcessLaunchFailed( |
- const std::string& child_token); |
- |
-// Should be called as early as possible in the child process with the handle |
-// that the parent received from ChildProcessLaunched. |
+// Should be called as early as possible in a child process with a handle to the |
+// other end of a pipe provided in the parent to |
+// PendingProcessConnection::Connect. |
MOJO_SYSTEM_IMPL_EXPORT void SetParentPipeHandle(ScopedPlatformHandle pipe); |
// Same as above but extracts the pipe handle from the command line. See |
@@ -170,25 +148,14 @@ MOJO_SYSTEM_IMPL_EXPORT void SetMachPortProvider( |
base::PortProvider* port_provider); |
#endif |
-// Creates a message pipe from a token. A child embedder must also have this |
-// token and call CreateChildMessagePipe() with it in order for the pipe to get |
-// connected. |child_token| identifies the child process and should be the same |
-// as the token passed into ChildProcessLaunched(). If they are different, the |
-// returned message pipe will not be signaled of peer closure if the child |
-// process dies before establishing connection to the pipe. |
-MOJO_SYSTEM_IMPL_EXPORT ScopedMessagePipeHandle |
-CreateParentMessagePipe(const std::string& token, |
- const std::string& child_token); |
- |
-// Creates a message pipe from a token in a child process. The parent must also |
-// have this token and call CreateParentMessagePipe() with it in order for the |
-// pipe to get connected. |
+// Creates a message pipe from a token in a child process. This token must have |
+// been acquired by a corresponding call to |
+// PendingProcessConnection::CreateMessagePipe. |
MOJO_SYSTEM_IMPL_EXPORT ScopedMessagePipeHandle |
CreateChildMessagePipe(const std::string& token); |
-// Generates a random ASCII token string for use with CreateParentMessagePipe() |
-// and CreateChildMessagePipe() above. The generated token is suitably random so |
-// as to not have to worry about collisions with other generated tokens. |
+// Generates a random ASCII token string for use with various APIs that expect |
+// a globally unique token string. |
MOJO_SYSTEM_IMPL_EXPORT std::string GenerateRandomToken(); |
// Sets system properties that can be read by the MojoGetProperty() API. See the |