Index: mojo/edk/system/child_broker_host.h |
diff --git a/mojo/edk/system/child_broker_host.h b/mojo/edk/system/child_broker_host.h |
deleted file mode 100644 |
index 057b9e0ff6f32f508548f145db31ee4ce2e86d29..0000000000000000000000000000000000000000 |
--- a/mojo/edk/system/child_broker_host.h |
+++ /dev/null |
@@ -1,112 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef MOJO_EDK_SYSTEM_CHILD_BROKER_HOST_H_ |
-#define MOJO_EDK_SYSTEM_CHILD_BROKER_HOST_H_ |
- |
-#include <stdint.h> |
- |
-#include <vector> |
- |
-#include "base/compiler_specific.h" |
-#include "base/macros.h" |
-#include "base/message_loop/message_loop.h" |
-#include "base/process/process.h" |
-#include "mojo/edk/embedder/scoped_platform_handle.h" |
-#include "mojo/edk/system/routed_raw_channel.h" |
-#include "mojo/edk/system/system_impl_export.h" |
- |
-namespace mojo { |
-namespace edk { |
- |
-// Responds to requests from ChildBroker. This is used to handle message pipe |
-// multiplexing and Windows sandbox messages. There is one object of this class |
-// per child process host object. |
-// This object will delete itself when it notices that the pipe is broken. |
-class MOJO_SYSTEM_IMPL_EXPORT ChildBrokerHost |
- : public RawChannel::Delegate |
-#if defined(OS_WIN) |
- , NON_EXPORTED_BASE(public base::MessageLoopForIO::IOHandler) { |
-#else |
- { |
-#endif |
- public: |
- // |child_process| is a handle to the child process. It will be duplicated by |
- // this object. |pipe| is a handle to the communication pipe to the child |
- // process, which is generated inside mojo::edk::ChildProcessLaunched. It is |
- // owned by this class. |
- ChildBrokerHost(base::ProcessHandle child_process, ScopedPlatformHandle pipe); |
- |
- base::ProcessId GetProcessId(); |
- |
- // Sends a message to the child process to connect to |process_id| via |pipe|. |
- void ConnectToProcess(base::ProcessId process_id, ScopedPlatformHandle pipe); |
- |
- // Sends a message to the child process that |pipe_id|'s other end is in |
- // |process_id|. If the other end is in this parent process, |process_id| will |
- // be 0. |
- void ConnectMessagePipe(uint64_t pipe_id, base::ProcessId process_id); |
- |
- // Sends a message to the child process informing it that the peer process has |
- // died before it could connect. |
- void PeerDied(uint64_t pipe_id); |
- |
- RoutedRawChannel* channel() { return child_channel_; } |
- |
- private: |
- ~ChildBrokerHost() override; |
- |
- void InitOnIO(ScopedPlatformHandle parent_async_channel_handle); |
- |
- // RawChannel::Delegate implementation: |
- void OnReadMessage( |
- const MessageInTransit::View& message_view, |
- ScopedPlatformHandleVectorPtr platform_handles) override; |
- void OnError(Error error) override; |
- |
- // Callback for when child_channel_ is destroyed. |
- void ChannelDestructed(RoutedRawChannel* channel); |
- |
-#if defined(OS_WIN) |
- void BeginRead(); |
- |
- // base::MessageLoopForIO::IOHandler implementation: |
- void OnIOCompleted(base::MessageLoopForIO::IOContext* context, |
- DWORD bytes_transferred, |
- DWORD error) override; |
- |
- // Helper wrappers around DuplicateHandle. |
- HANDLE DuplicateToChild(HANDLE handle); |
- HANDLE DuplicateFromChild(HANDLE handle); |
-#endif |
- |
- base::ProcessId process_id_; |
- |
- // Channel used to receive and send multiplexing related messages. |
- RoutedRawChannel* child_channel_; |
- |
-#if defined(OS_WIN) |
- // Handle to the child process, used for duplication of handles. |
- base::Process child_process_; |
- |
- // Pipe used for synchronous messages from the child. Responses are written to |
- // it as well. |
- ScopedPlatformHandle sync_channel_; |
- |
- base::MessageLoopForIO::IOContext read_context_; |
- base::MessageLoopForIO::IOContext write_context_; |
- |
- std::vector<char> read_data_; |
- // How many bytes in read_data_ we already read. |
- uint32_t num_bytes_read_; |
- std::vector<char> write_data_; |
-#endif |
- |
- DISALLOW_COPY_AND_ASSIGN(ChildBrokerHost); |
-}; |
- |
-} // namespace edk |
-} // namespace mojo |
- |
-#endif // MOJO_EDK_SYSTEM_CHILD_BROKER_HOST_H_ |