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 |