Index: mojo/public/cpp/application/lib/application_impl.cc |
diff --git a/mojo/public/cpp/application/lib/application_impl.cc b/mojo/public/cpp/application/lib/application_impl.cc |
deleted file mode 100644 |
index 66770030077198955aa73a1a5d0f435415706cd1..0000000000000000000000000000000000000000 |
--- a/mojo/public/cpp/application/lib/application_impl.cc |
+++ /dev/null |
@@ -1,117 +0,0 @@ |
-// Copyright 2014 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 "mojo/public/cpp/application/application_impl.h" |
- |
-#include "mojo/public/cpp/application/application_delegate.h" |
-#include "mojo/public/cpp/application/lib/service_registry.h" |
-#include "mojo/public/cpp/bindings/interface_ptr.h" |
-#include "mojo/public/cpp/environment/logging.h" |
- |
-namespace mojo { |
- |
-class ApplicationImpl::ShellPtrWatcher : public ErrorHandler { |
- public: |
- ShellPtrWatcher(ApplicationImpl* impl) : impl_(impl) {} |
- |
- ~ShellPtrWatcher() override {} |
- |
- void OnConnectionError() override { impl_->OnShellError(); } |
- |
- private: |
- ApplicationImpl* impl_; |
- MOJO_DISALLOW_COPY_AND_ASSIGN(ShellPtrWatcher); |
-}; |
- |
-ApplicationImpl::ApplicationImpl(ApplicationDelegate* delegate, |
- ScopedMessagePipeHandle shell_handle) |
- : initialized_(false), delegate_(delegate), shell_watch_(nullptr) { |
- BindShell(shell_handle.Pass()); |
-} |
- |
-ApplicationImpl::ApplicationImpl(ApplicationDelegate* delegate, |
- MojoHandle shell_handle) |
- : initialized_(false), delegate_(delegate), shell_watch_(nullptr) { |
- BindShell(MakeScopedHandle(MessagePipeHandle(shell_handle))); |
-} |
- |
-bool ApplicationImpl::HasArg(const std::string& arg) const { |
- return std::find(args_.begin(), args_.end(), arg) != args_.end(); |
-} |
- |
-void ApplicationImpl::ClearConnections() { |
- for (ServiceRegistryList::iterator i(incoming_service_registries_.begin()); |
- i != incoming_service_registries_.end(); |
- ++i) |
- delete *i; |
- for (ServiceRegistryList::iterator i(outgoing_service_registries_.begin()); |
- i != outgoing_service_registries_.end(); |
- ++i) |
- delete *i; |
- incoming_service_registries_.clear(); |
- outgoing_service_registries_.clear(); |
-} |
- |
-ApplicationImpl::~ApplicationImpl() { |
- ClearConnections(); |
- delete shell_watch_; |
-} |
- |
-ApplicationConnection* ApplicationImpl::ConnectToApplication( |
- const String& application_url) { |
- MOJO_CHECK(initialized_); |
- ServiceProviderPtr local_services; |
- InterfaceRequest<ServiceProvider> local_request = GetProxy(&local_services); |
- ServiceProviderPtr remote_services; |
- shell_->ConnectToApplication(application_url, GetProxy(&remote_services), |
- local_services.Pass()); |
- internal::ServiceRegistry* registry = new internal::ServiceRegistry( |
- this, application_url, remote_services.Pass(), local_request.Pass()); |
- if (!delegate_->ConfigureOutgoingConnection(registry)) { |
- delete registry; |
- return nullptr; |
- } |
- outgoing_service_registries_.push_back(registry); |
- return registry; |
-} |
- |
-bool ApplicationImpl::WaitForInitialize() { |
- MOJO_CHECK(!initialized_); |
- bool result = shell_.WaitForIncomingMethodCall(); |
- MOJO_CHECK(initialized_ || !result); |
- return result; |
-} |
- |
-ScopedMessagePipeHandle ApplicationImpl::UnbindShell() { |
- return shell_.PassMessagePipe(); |
-} |
- |
-void ApplicationImpl::Initialize(Array<String> args) { |
- MOJO_CHECK(!initialized_); |
- initialized_ = true; |
- args_ = args.To<std::vector<std::string>>(); |
- delegate_->Initialize(this); |
-} |
- |
-void ApplicationImpl::BindShell(ScopedMessagePipeHandle shell_handle) { |
- shell_watch_ = new ShellPtrWatcher(this); |
- shell_.Bind(shell_handle.Pass()); |
- shell_.set_client(this); |
- shell_.set_error_handler(shell_watch_); |
-} |
- |
-void ApplicationImpl::AcceptConnection( |
- const String& requestor_url, |
- InterfaceRequest<ServiceProvider> services, |
- ServiceProviderPtr exposed_services) { |
- internal::ServiceRegistry* registry = new internal::ServiceRegistry( |
- this, requestor_url, exposed_services.Pass(), services.Pass()); |
- if (!delegate_->ConfigureIncomingConnection(registry)) { |
- delete registry; |
- return; |
- } |
- incoming_service_registries_.push_back(registry); |
-} |
- |
-} // namespace mojo |