| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "services/service_manager/service_manager.h" | 5 #include "services/service_manager/service_manager.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 #include "services/catalog/public/interfaces/constants.mojom.h" | 26 #include "services/catalog/public/interfaces/constants.mojom.h" |
| 27 #include "services/service_manager/connect_util.h" | 27 #include "services/service_manager/connect_util.h" |
| 28 #include "services/service_manager/public/cpp/connector.h" | 28 #include "services/service_manager/public/cpp/connector.h" |
| 29 #include "services/service_manager/public/cpp/service.h" | 29 #include "services/service_manager/public/cpp/service.h" |
| 30 #include "services/service_manager/public/cpp/service_context.h" | 30 #include "services/service_manager/public/cpp/service_context.h" |
| 31 #include "services/service_manager/public/interfaces/connector.mojom.h" | 31 #include "services/service_manager/public/interfaces/connector.mojom.h" |
| 32 #include "services/service_manager/public/interfaces/constants.mojom.h" | 32 #include "services/service_manager/public/interfaces/constants.mojom.h" |
| 33 #include "services/service_manager/public/interfaces/service.mojom.h" | 33 #include "services/service_manager/public/interfaces/service.mojom.h" |
| 34 #include "services/service_manager/public/interfaces/service_control.mojom.h" | 34 #include "services/service_manager/public/interfaces/service_control.mojom.h" |
| 35 #include "services/service_manager/public/interfaces/service_manager.mojom.h" | 35 #include "services/service_manager/public/interfaces/service_manager.mojom.h" |
| 36 #include "services/tracing/public/interfaces/constants.mojom.h" | |
| 37 | 36 |
| 38 namespace service_manager { | 37 namespace service_manager { |
| 39 | 38 |
| 40 namespace { | 39 namespace { |
| 41 | 40 |
| 42 const char kCapability_UserID[] = "service_manager:user_id"; | 41 const char kCapability_UserID[] = "service_manager:user_id"; |
| 43 const char kCapability_ClientProcess[] = "service_manager:client_process"; | 42 const char kCapability_ClientProcess[] = "service_manager:client_process"; |
| 44 const char kCapability_InstanceName[] = "service_manager:instance_name"; | 43 const char kCapability_InstanceName[] = "service_manager:instance_name"; |
| 45 const char kCapability_AllUsers[] = "service_manager:all_users"; | 44 const char kCapability_AllUsers[] = "service_manager:all_users"; |
| 46 const char kCapability_InstancePerChild[] = | 45 const char kCapability_InstancePerChild[] = |
| (...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 695 weak_ptr_factory_(this) { | 694 weak_ptr_factory_(this) { |
| 696 mojom::ServicePtr service; | 695 mojom::ServicePtr service; |
| 697 mojom::ServiceRequest request(&service); | 696 mojom::ServiceRequest request(&service); |
| 698 | 697 |
| 699 InterfaceProviderSpec spec; | 698 InterfaceProviderSpec spec; |
| 700 spec.provides[kCapability_ServiceManager].insert( | 699 spec.provides[kCapability_ServiceManager].insert( |
| 701 "service_manager::mojom::ServiceManager"); | 700 "service_manager::mojom::ServiceManager"); |
| 702 spec.requires["*"].insert("service_manager:service_factory"); | 701 spec.requires["*"].insert("service_manager:service_factory"); |
| 703 spec.requires[catalog::mojom::kServiceName].insert( | 702 spec.requires[catalog::mojom::kServiceName].insert( |
| 704 "service_manager:resolver"); | 703 "service_manager:resolver"); |
| 705 spec.requires[tracing::mojom::kServiceName].insert("app"); | |
| 706 InterfaceProviderSpecMap specs; | 704 InterfaceProviderSpecMap specs; |
| 707 specs[mojom::kServiceManager_ConnectorSpec] = spec; | 705 specs[mojom::kServiceManager_ConnectorSpec] = spec; |
| 708 | 706 |
| 709 service_manager_instance_ = | 707 service_manager_instance_ = |
| 710 CreateInstance(Identity(), CreateServiceManagerIdentity(), specs); | 708 CreateInstance(Identity(), CreateServiceManagerIdentity(), specs); |
| 711 service_manager_instance_->StartWithService(std::move(service)); | 709 service_manager_instance_->StartWithService(std::move(service)); |
| 712 singletons_.insert(service_manager::mojom::kServiceName); | 710 singletons_.insert(service_manager::mojom::kServiceName); |
| 713 service_context_.reset(new ServiceContext( | 711 service_context_.reset(new ServiceContext( |
| 714 base::MakeUnique<ServiceImpl>(this), std::move(request))); | 712 base::MakeUnique<ServiceImpl>(this), std::move(request))); |
| 715 | 713 |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1140 instance->identity()); | 1138 instance->identity()); |
| 1141 if (params->HasInterfaceRequestInfo()) | 1139 if (params->HasInterfaceRequestInfo()) |
| 1142 instance->CallOnBindInterface(¶ms); | 1140 instance->CallOnBindInterface(¶ms); |
| 1143 } | 1141 } |
| 1144 | 1142 |
| 1145 base::WeakPtr<ServiceManager> ServiceManager::GetWeakPtr() { | 1143 base::WeakPtr<ServiceManager> ServiceManager::GetWeakPtr() { |
| 1146 return weak_ptr_factory_.GetWeakPtr(); | 1144 return weak_ptr_factory_.GetWeakPtr(); |
| 1147 } | 1145 } |
| 1148 | 1146 |
| 1149 } // namespace service_manager | 1147 } // namespace service_manager |
| OLD | NEW |