summaryrefslogtreecommitdiffstats
path: root/mojo/public/cpp/application/lib/service_registry.cc
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/public/cpp/application/lib/service_registry.cc')
-rw-r--r--mojo/public/cpp/application/lib/service_registry.cc91
1 files changed, 0 insertions, 91 deletions
diff --git a/mojo/public/cpp/application/lib/service_registry.cc b/mojo/public/cpp/application/lib/service_registry.cc
deleted file mode 100644
index d934a16..0000000
--- a/mojo/public/cpp/application/lib/service_registry.cc
+++ /dev/null
@@ -1,91 +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/lib/service_registry.h"
-
-#include "mojo/public/cpp/application/application_connection.h"
-#include "mojo/public/cpp/application/application_impl.h"
-#include "mojo/public/cpp/application/lib/service_connector.h"
-
-namespace mojo {
-namespace internal {
-
-ServiceRegistry::ServiceRegistry(
- ApplicationImpl* application_impl,
- const std::string& url,
- ServiceProviderPtr remote_services,
- InterfaceRequest<ServiceProvider> local_services)
- : application_impl_(application_impl),
- url_(url),
- local_binding_(this, local_services.Pass()),
- remote_service_provider_(remote_services.Pass()) {
-}
-
-ServiceRegistry::ServiceRegistry()
- : application_impl_(nullptr), local_binding_(this) {
-}
-
-ServiceRegistry::~ServiceRegistry() {
- for (NameToServiceConnectorMap::iterator i =
- name_to_service_connector_.begin();
- i != name_to_service_connector_.end();
- ++i) {
- delete i->second;
- }
- name_to_service_connector_.clear();
-}
-
-void ServiceRegistry::AddServiceConnector(
- ServiceConnectorBase* service_connector) {
- RemoveServiceConnectorInternal(service_connector);
- name_to_service_connector_[service_connector->name()] = service_connector;
- service_connector->set_application_connection(this);
-}
-
-void ServiceRegistry::RemoveServiceConnector(
- ServiceConnectorBase* service_connector) {
- RemoveServiceConnectorInternal(service_connector);
- if (name_to_service_connector_.empty())
- remote_service_provider_.reset();
-}
-
-bool ServiceRegistry::RemoveServiceConnectorInternal(
- ServiceConnectorBase* service_connector) {
- NameToServiceConnectorMap::iterator it =
- name_to_service_connector_.find(service_connector->name());
- if (it == name_to_service_connector_.end())
- return false;
- delete it->second;
- name_to_service_connector_.erase(it);
- return true;
-}
-
-const std::string& ServiceRegistry::GetRemoteApplicationURL() {
- return url_;
-}
-
-ServiceProvider* ServiceRegistry::GetServiceProvider() {
- return remote_service_provider_.get();
-}
-
-ApplicationConnection* ServiceRegistry::ConnectToApplication(
- const std::string& url) {
- return application_impl_->ConnectToApplication(url);
-}
-
-void ServiceRegistry::ConnectToService(const mojo::String& service_name,
- ScopedMessagePipeHandle client_handle) {
- if (name_to_service_connector_.find(service_name) ==
- name_to_service_connector_.end()) {
- client_handle.reset();
- return;
- }
- internal::ServiceConnectorBase* service_connector =
- name_to_service_connector_[service_name];
- return service_connector->ConnectToService(service_name,
- client_handle.Pass());
-}
-
-} // namespace internal
-} // namespace mojo