| Index: services/shell/public/cpp/lib/connector_impl.cc
|
| diff --git a/services/shell/public/cpp/lib/connector_impl.cc b/services/shell/public/cpp/lib/connector_impl.cc
|
| deleted file mode 100644
|
| index 5be6b79344d2ec93861a0d42a3714ed6e471ebd7..0000000000000000000000000000000000000000
|
| --- a/services/shell/public/cpp/lib/connector_impl.cc
|
| +++ /dev/null
|
| @@ -1,125 +0,0 @@
|
| -// Copyright 2016 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 "services/shell/public/cpp/lib/connector_impl.h"
|
| -
|
| -#include "base/memory/ptr_util.h"
|
| -#include "services/shell/public/cpp/identity.h"
|
| -#include "services/shell/public/cpp/lib/connection_impl.h"
|
| -
|
| -namespace shell {
|
| -
|
| -Connector::ConnectParams::ConnectParams(const Identity& target)
|
| - : target_(target) {}
|
| -
|
| -Connector::ConnectParams::ConnectParams(const std::string& name)
|
| - : target_(name, mojom::kInheritUserID) {}
|
| -
|
| -Connector::ConnectParams::~ConnectParams() {}
|
| -
|
| -ConnectorImpl::ConnectorImpl(mojom::ConnectorPtrInfo unbound_state)
|
| - : unbound_state_(std::move(unbound_state)) {
|
| - thread_checker_.DetachFromThread();
|
| -}
|
| -
|
| -ConnectorImpl::ConnectorImpl(mojom::ConnectorPtr connector)
|
| - : connector_(std::move(connector)) {
|
| - connector_.set_connection_error_handler(
|
| - base::Bind(&ConnectorImpl::OnConnectionError, base::Unretained(this)));
|
| -}
|
| -
|
| -ConnectorImpl::~ConnectorImpl() {}
|
| -
|
| -void ConnectorImpl::OnConnectionError() {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - connector_.reset();
|
| -}
|
| -
|
| -std::unique_ptr<Connection> ConnectorImpl::Connect(const std::string& name) {
|
| - ConnectParams params(name);
|
| - return Connect(¶ms);
|
| -}
|
| -
|
| -std::unique_ptr<Connection> ConnectorImpl::Connect(ConnectParams* params) {
|
| - if (!BindIfNecessary())
|
| - return nullptr;
|
| -
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - DCHECK(params);
|
| -
|
| - mojom::InterfaceProviderPtr remote_interfaces;
|
| - mojom::InterfaceProviderRequest remote_request = GetProxy(&remote_interfaces);
|
| - std::unique_ptr<internal::ConnectionImpl> connection(
|
| - new internal::ConnectionImpl(params->target(),
|
| - Connection::State::PENDING));
|
| - if (params->remote_interfaces()) {
|
| - params->remote_interfaces()->Bind(std::move(remote_interfaces));
|
| - connection->set_remote_interfaces(params->remote_interfaces());
|
| - } else {
|
| - std::unique_ptr<InterfaceProvider> remote_interface_provider(
|
| - new InterfaceProvider);
|
| - remote_interface_provider->Bind(std::move(remote_interfaces));
|
| - connection->SetRemoteInterfaces(std::move(remote_interface_provider));
|
| - }
|
| -
|
| - mojom::ServicePtr service;
|
| - mojom::PIDReceiverRequest pid_receiver_request;
|
| - params->TakeClientProcessConnection(&service, &pid_receiver_request);
|
| - mojom::ClientProcessConnectionPtr client_process_connection;
|
| - if (service.is_bound() && pid_receiver_request.is_pending()) {
|
| - client_process_connection = mojom::ClientProcessConnection::New();
|
| - client_process_connection->service =
|
| - service.PassInterface().PassHandle();
|
| - client_process_connection->pid_receiver_request =
|
| - pid_receiver_request.PassMessagePipe();
|
| - } else if (service.is_bound() || pid_receiver_request.is_pending()) {
|
| - NOTREACHED() << "If one of service or pid_receiver_request is valid, "
|
| - << "both must be valid.";
|
| - return std::move(connection);
|
| - }
|
| - connector_->Connect(params->target(), std::move(remote_request),
|
| - std::move(client_process_connection),
|
| - connection->GetConnectCallback());
|
| - return std::move(connection);
|
| -}
|
| -
|
| -std::unique_ptr<Connector> ConnectorImpl::Clone() {
|
| - if (!BindIfNecessary())
|
| - return nullptr;
|
| -
|
| - mojom::ConnectorPtr connector;
|
| - mojom::ConnectorRequest request = GetProxy(&connector);
|
| - connector_->Clone(std::move(request));
|
| - return base::MakeUnique<ConnectorImpl>(connector.PassInterface());
|
| -}
|
| -
|
| -bool ConnectorImpl::BindIfNecessary() {
|
| - // Bind this object to the current thread the first time it is used to
|
| - // connect.
|
| - if (!connector_.is_bound()) {
|
| - if (!unbound_state_.is_valid()) {
|
| - // It's possible to get here when the link to the shell has been severed
|
| - // (and so the connector pipe has been closed) but the app has chosen not
|
| - // to quit.
|
| - return false;
|
| - }
|
| -
|
| - // Bind the ThreadChecker to this thread.
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| -
|
| - connector_.Bind(std::move(unbound_state_));
|
| - connector_.set_connection_error_handler(
|
| - base::Bind(&ConnectorImpl::OnConnectionError, base::Unretained(this)));
|
| - }
|
| -
|
| - return true;
|
| -}
|
| -
|
| -std::unique_ptr<Connector> Connector::Create(mojom::ConnectorRequest* request) {
|
| - mojom::ConnectorPtr proxy;
|
| - *request = mojo::GetProxy(&proxy);
|
| - return base::MakeUnique<ConnectorImpl>(proxy.PassInterface());
|
| -}
|
| -
|
| -} // namespace shell
|
|
|