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

Unified Diff: third_party/mojo/src/mojo/edk/system/ipc_support.cc

Issue 1676913002: [mojo] Delete third_party/mojo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: let's try that again Created 4 years, 10 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
Index: third_party/mojo/src/mojo/edk/system/ipc_support.cc
diff --git a/third_party/mojo/src/mojo/edk/system/ipc_support.cc b/third_party/mojo/src/mojo/edk/system/ipc_support.cc
deleted file mode 100644
index 26a551193c36f2ebc2a6331753a6f97d748ba76d..0000000000000000000000000000000000000000
--- a/third_party/mojo/src/mojo/edk/system/ipc_support.cc
+++ /dev/null
@@ -1,164 +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.
-
-#include "third_party/mojo/src/mojo/edk/system/ipc_support.h"
-
-#include <utility>
-
-#include "base/logging.h"
-#include "third_party/mojo/src/mojo/edk/embedder/master_process_delegate.h"
-#include "third_party/mojo/src/mojo/edk/embedder/slave_process_delegate.h"
-#include "third_party/mojo/src/mojo/edk/system/channel_manager.h"
-#include "third_party/mojo/src/mojo/edk/system/master_connection_manager.h"
-#include "third_party/mojo/src/mojo/edk/system/message_pipe_dispatcher.h"
-#include "third_party/mojo/src/mojo/edk/system/slave_connection_manager.h"
-
-namespace mojo {
-namespace system {
-
-IPCSupport::IPCSupport(embedder::PlatformSupport* platform_support,
- embedder::ProcessType process_type,
- embedder::ProcessDelegate* process_delegate,
- scoped_refptr<base::TaskRunner> io_thread_task_runner,
- embedder::ScopedPlatformHandle platform_handle)
- : process_type_(process_type),
- process_delegate_(process_delegate),
- io_thread_task_runner_(std::move(io_thread_task_runner)) {
- DCHECK(io_thread_task_runner_);
-
- switch (process_type_) {
- case embedder::ProcessType::UNINITIALIZED:
- CHECK(false);
- break;
- case embedder::ProcessType::NONE:
- DCHECK(!platform_handle.is_valid()); // We wouldn't do anything with it.
- // Nothing to do.
- break;
- case embedder::ProcessType::MASTER:
- DCHECK(!platform_handle.is_valid()); // We wouldn't do anything with it.
- connection_manager_.reset(
- new system::MasterConnectionManager(platform_support));
- static_cast<system::MasterConnectionManager*>(connection_manager_.get())
- ->Init(
- static_cast<embedder::MasterProcessDelegate*>(process_delegate_));
- break;
- case embedder::ProcessType::SLAVE:
- connection_manager_.reset(
- new system::SlaveConnectionManager(platform_support));
- static_cast<system::SlaveConnectionManager*>(connection_manager_.get())
- ->Init(
- static_cast<embedder::SlaveProcessDelegate*>(process_delegate_),
- std::move(platform_handle));
- break;
- }
-
- channel_manager_.reset(new ChannelManager(
- platform_support, io_thread_task_runner_, connection_manager_.get()));
-}
-
-IPCSupport::~IPCSupport() {
- DCHECK_EQ(process_type_, embedder::ProcessType::UNINITIALIZED);
-}
-
-void IPCSupport::ShutdownOnIOThread() {
- DCHECK_NE(process_type_, embedder::ProcessType::UNINITIALIZED);
-
- channel_manager_->ShutdownOnIOThread();
- channel_manager_.reset();
-
- if (connection_manager_) {
- connection_manager_->Shutdown();
- connection_manager_.reset();
- }
-
- io_thread_task_runner_ = nullptr;
- process_delegate_ = nullptr;
- process_type_ = embedder::ProcessType::UNINITIALIZED;
-}
-
-ConnectionIdentifier IPCSupport::GenerateConnectionIdentifier() {
- return connection_manager()->GenerateConnectionIdentifier();
-}
-
-scoped_refptr<system::MessagePipeDispatcher> IPCSupport::ConnectToSlave(
- const ConnectionIdentifier& connection_id,
- embedder::SlaveInfo slave_info,
- embedder::ScopedPlatformHandle platform_handle,
- const base::Closure& callback,
- scoped_refptr<base::TaskRunner> callback_thread_task_runner,
- ChannelId* channel_id) {
- DCHECK(channel_id);
-
- // We rely on |ChannelId| and |ProcessIdentifier| being identical types.
- // TODO(vtl): Use std::is_same instead when we are allowed to (C++11 library).
- static_assert(sizeof(ChannelId) == sizeof(ProcessIdentifier),
- "ChannelId and ProcessIdentifier types don't match");
-
- embedder::ScopedPlatformHandle platform_connection_handle =
- ConnectToSlaveInternal(connection_id, slave_info,
- std::move(platform_handle), channel_id);
- return channel_manager()->CreateChannel(
- *channel_id, std::move(platform_connection_handle), callback,
- callback_thread_task_runner);
-}
-
-scoped_refptr<system::MessagePipeDispatcher> IPCSupport::ConnectToMaster(
- const ConnectionIdentifier& connection_id,
- const base::Closure& callback,
- scoped_refptr<base::TaskRunner> callback_thread_task_runner,
- ChannelId* channel_id) {
- DCHECK(channel_id);
-
- // TODO(vtl): Use std::is_same instead when we are allowed to (C++11 library).
- static_assert(sizeof(ChannelId) == sizeof(ProcessIdentifier),
- "ChannelId and ProcessIdentifier types don't match");
- embedder::ScopedPlatformHandle platform_connection_handle =
- ConnectToMasterInternal(connection_id);
- *channel_id = kMasterProcessIdentifier;
- return channel_manager()->CreateChannel(
- *channel_id, std::move(platform_connection_handle), callback,
- callback_thread_task_runner);
-}
-
-embedder::ScopedPlatformHandle IPCSupport::ConnectToSlaveInternal(
- const ConnectionIdentifier& connection_id,
- embedder::SlaveInfo slave_info,
- embedder::ScopedPlatformHandle platform_handle,
- ProcessIdentifier* slave_process_identifier) {
- DCHECK(slave_process_identifier);
- DCHECK_EQ(process_type_, embedder::ProcessType::MASTER);
-
- *slave_process_identifier =
- static_cast<system::MasterConnectionManager*>(connection_manager())
- ->AddSlaveAndBootstrap(slave_info, std::move(platform_handle),
- connection_id);
-
- system::ProcessIdentifier peer_id = system::kInvalidProcessIdentifier;
- bool is_first;
- embedder::ScopedPlatformHandle platform_connection_handle;
- CHECK_EQ(connection_manager()->Connect(connection_id, &peer_id, &is_first,
- &platform_connection_handle),
- ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION);
- DCHECK_EQ(peer_id, *slave_process_identifier);
- DCHECK(platform_connection_handle.is_valid());
- return platform_connection_handle;
-}
-
-embedder::ScopedPlatformHandle IPCSupport::ConnectToMasterInternal(
- const ConnectionIdentifier& connection_id) {
- DCHECK_EQ(process_type_, embedder::ProcessType::SLAVE);
-
- system::ProcessIdentifier peer_id = system::kInvalidProcessIdentifier;
- bool is_first;
- embedder::ScopedPlatformHandle platform_connection_handle;
- CHECK_EQ(connection_manager()->Connect(connection_id, &peer_id, &is_first,
- &platform_connection_handle),
- ConnectionManager::Result::SUCCESS_CONNECT_NEW_CONNECTION);
- DCHECK_EQ(peer_id, system::kMasterProcessIdentifier);
- DCHECK(platform_connection_handle.is_valid());
- return platform_connection_handle;
-}
-
-} // namespace system
-} // namespace mojo
« no previous file with comments | « third_party/mojo/src/mojo/edk/system/ipc_support.h ('k') | third_party/mojo/src/mojo/edk/system/ipc_support_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698