OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 #ifndef SERVICES_RESOURCE_COORDINATOR_COORDINATION_UNIT_COORDINATION_UNIT_PROVID
ER_IMPL_H_ | 5 #ifndef SERVICES_RESOURCE_COORDINATOR_COORDINATION_UNIT_COORDINATION_UNIT_PROVID
ER_IMPL_H_ |
6 #define SERVICES_RESOURCE_COORDINATOR_COORDINATION_UNIT_COORDINATION_UNIT_PROVID
ER_IMPL_H_ | 6 #define SERVICES_RESOURCE_COORDINATOR_COORDINATION_UNIT_COORDINATION_UNIT_PROVID
ER_IMPL_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
| 9 #include <vector> |
9 | 10 |
10 #include "mojo/public/cpp/bindings/interface_request.h" | 11 #include "mojo/public/cpp/bindings/interface_request.h" |
11 #include "mojo/public/cpp/bindings/strong_binding.h" | 12 #include "mojo/public/cpp/bindings/strong_binding.h" |
| 13 #include "services/resource_coordinator/coordination_unit/coordination_unit_mana
ger.h" |
12 #include "services/resource_coordinator/public/interfaces/coordination_unit_prov
ider.mojom.h" | 14 #include "services/resource_coordinator/public/interfaces/coordination_unit_prov
ider.mojom.h" |
13 #include "services/service_manager/public/cpp/bind_source_info.h" | 15 #include "services/service_manager/public/cpp/bind_source_info.h" |
14 | 16 |
15 namespace service_manager { | 17 namespace service_manager { |
16 class ServiceContextRefFactory; | 18 class ServiceContextRefFactory; |
17 class ServiceContextRef; | 19 class ServiceContextRef; |
18 } // service_manager | 20 } // service_manager |
19 | 21 |
20 namespace resource_coordinator { | 22 namespace resource_coordinator { |
21 | 23 |
22 class CoordinationUnitProviderImpl : public mojom::CoordinationUnitProvider { | 24 class CoordinationUnitProviderImpl : public mojom::CoordinationUnitProvider { |
23 public: | 25 public: |
24 CoordinationUnitProviderImpl( | 26 CoordinationUnitProviderImpl( |
25 service_manager::ServiceContextRefFactory* service_ref_factory); | 27 service_manager::ServiceContextRefFactory* service_ref_factory, |
| 28 CoordinationUnitManager* coordination_unit_manager); |
26 ~CoordinationUnitProviderImpl() override; | 29 ~CoordinationUnitProviderImpl() override; |
27 | 30 |
28 static void Create( | 31 static void Create( |
29 service_manager::ServiceContextRefFactory* service_ref_factory, | 32 service_manager::ServiceContextRefFactory* service_ref_factory, |
| 33 CoordinationUnitManager* coordination_unit_manager, |
30 const service_manager::BindSourceInfo& source_info, | 34 const service_manager::BindSourceInfo& source_info, |
31 resource_coordinator::mojom::CoordinationUnitProviderRequest request); | 35 resource_coordinator::mojom::CoordinationUnitProviderRequest request); |
32 | 36 |
33 // Overridden from mojom::CoordinationUnitProvider: | 37 // Overridden from mojom::CoordinationUnitProvider: |
34 void CreateCoordinationUnit( | 38 void CreateCoordinationUnit( |
35 resource_coordinator::mojom::CoordinationUnitRequest request, | 39 resource_coordinator::mojom::CoordinationUnitRequest request, |
36 const CoordinationUnitID& id) override; | 40 const CoordinationUnitID& id) override; |
37 | 41 |
38 private: | 42 private: |
39 service_manager::ServiceContextRefFactory* service_ref_factory_; | 43 service_manager::ServiceContextRefFactory* service_ref_factory_; |
40 std::unique_ptr<service_manager::ServiceContextRef> service_ref_; | 44 std::unique_ptr<service_manager::ServiceContextRef> service_ref_; |
| 45 CoordinationUnitManager* coordination_unit_manager_; |
41 | 46 |
42 DISALLOW_COPY_AND_ASSIGN(CoordinationUnitProviderImpl); | 47 DISALLOW_COPY_AND_ASSIGN(CoordinationUnitProviderImpl); |
43 }; | 48 }; |
44 | 49 |
45 } // namespace resource_coordinator | 50 } // namespace resource_coordinator |
46 | 51 |
47 #endif // SERVICES_RESOURCE_COORDINATOR_COORDINATION_UNIT_COORDINATION_UNIT_PRO
VIDER_IMPL_H_ | 52 #endif // SERVICES_RESOURCE_COORDINATOR_COORDINATION_UNIT_COORDINATION_UNIT_PRO
VIDER_IMPL_H_ |
OLD | NEW |