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

Unified Diff: mojo/public/cpp/application/lib/service_provider_impl.cc

Issue 1984463002: More cleanup: Get rid of ServiceConnectorRegistry. (Closed) Base URL: https://github.com/domokit/mojo.git@work791_app_conn_devo_4
Patch Set: Created 4 years, 7 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: mojo/public/cpp/application/lib/service_provider_impl.cc
diff --git a/mojo/public/cpp/application/lib/service_provider_impl.cc b/mojo/public/cpp/application/lib/service_provider_impl.cc
index a3245b410cd8b97826f4876e6ed0fd16e81f6341..b65b77aa1ef128ffd0c18138a99a7b7329253a8b 100644
--- a/mojo/public/cpp/application/lib/service_provider_impl.cc
+++ b/mojo/public/cpp/application/lib/service_provider_impl.cc
@@ -4,8 +4,7 @@
#include "mojo/public/cpp/application/service_provider_impl.h"
-#include "mojo/public/cpp/application/service_connector.h"
-#include "mojo/public/cpp/environment/logging.h"
+#include <utility>
namespace mojo {
@@ -37,12 +36,26 @@ void ServiceProviderImpl::Close() {
}
}
+void ServiceProviderImpl::AddServiceForName(
+ std::unique_ptr<ServiceConnector> service_connector,
+ const std::string& service_name) {
+ name_to_service_connector_[service_name] = std::move(service_connector);
+}
+
+void ServiceProviderImpl::RemoveServiceForName(
+ const std::string& service_name) {
+ auto it = name_to_service_connector_.find(service_name);
+ if (it != name_to_service_connector_.end())
+ name_to_service_connector_.erase(it);
+}
+
void ServiceProviderImpl::ConnectToService(
const String& service_name,
ScopedMessagePipeHandle client_handle) {
- bool service_found = service_connector_registry_.ConnectToService(
- connection_context_, service_name, &client_handle);
- if (!service_found && fallback_service_provider_) {
+ auto it = name_to_service_connector_.find(service_name);
+ if (it != name_to_service_connector_.end()) {
+ it->second->ConnectToService(connection_context_, client_handle.Pass());
+ } else if (fallback_service_provider_) {
fallback_service_provider_->ConnectToService(service_name,
client_handle.Pass());
}
« no previous file with comments | « mojo/public/cpp/application/lib/service_connector_registry.cc ('k') | mojo/public/cpp/application/service_connector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698