| Index: services/resource_coordinator/coordination_unit/coordination_unit_manager.h
|
| diff --git a/services/resource_coordinator/coordination_unit/coordination_unit_manager.h b/services/resource_coordinator/coordination_unit/coordination_unit_manager.h
|
| index 4b10fcd096f88ea691f16d897f47ca63694a5fce..d9e368df5c6b111d559ec4c5a14653d48b645397 100644
|
| --- a/services/resource_coordinator/coordination_unit/coordination_unit_manager.h
|
| +++ b/services/resource_coordinator/coordination_unit/coordination_unit_manager.h
|
| @@ -5,6 +5,9 @@
|
| #ifndef SERVICES_RESOURCE_COORDINATOR_COORDINATION_UNIT_COORDINATION_UNIT_MANAGER_H_
|
| #define SERVICES_RESOURCE_COORDINATOR_COORDINATION_UNIT_COORDINATION_UNIT_MANAGER_H_
|
|
|
| +#include <memory>
|
| +#include <vector>
|
| +
|
| #include "base/macros.h"
|
| #include "services/service_manager/public/cpp/binder_registry.h"
|
|
|
| @@ -14,6 +17,9 @@ class ServiceContextRefFactory;
|
|
|
| namespace resource_coordinator {
|
|
|
| +class CoordinationUnitImpl;
|
| +class CoordinationUnitGraphObserver;
|
| +
|
| // The CoordinationUnitManager is a singleton that encapsulates all
|
| // aspects of Coordination Units within the ResourceCoordinatorService.
|
| // All functionality for dealing with CoordinationUnits should be contained
|
| @@ -25,8 +31,17 @@ class CoordinationUnitManager {
|
|
|
| void OnStart(service_manager::BinderRegistry* registry,
|
| service_manager::ServiceContextRefFactory* service_ref_factory);
|
| + void RegisterObserver(
|
| + std::unique_ptr<CoordinationUnitGraphObserver> observers);
|
| +
|
| + void NotifyObserversCoordinationUnitCreated(
|
| + CoordinationUnitImpl* coordination_unit);
|
| + void NotifyObserversCoordinationUnitWillBeDestroyed(
|
| + CoordinationUnitImpl* coordination_unit);
|
|
|
| private:
|
| + std::vector<std::unique_ptr<CoordinationUnitGraphObserver>> observers_;
|
| +
|
| static void Create(
|
| service_manager::ServiceContextRefFactory* service_ref_factory);
|
|
|
|
|