Index: components/arc/arc_service_manager.cc |
diff --git a/components/arc/arc_service_manager.cc b/components/arc/arc_service_manager.cc |
index d6a68dc335c570ffab4f8f0d34ecc31adb816632..9642d9f40d16801672933118e22b7cc1851aa1b3 100644 |
--- a/components/arc/arc_service_manager.cc |
+++ b/components/arc/arc_service_manager.cc |
@@ -56,6 +56,11 @@ ArcServiceManager* ArcServiceManager::Get() { |
return g_arc_service_manager; |
} |
+// static |
+bool ArcServiceManager::IsInitialized() { |
+ return g_arc_service_manager; |
+} |
+ |
ArcBridgeService* ArcServiceManager::arc_bridge_service() { |
DCHECK(thread_checker_.CalledOnValidThread()); |
return arc_bridge_service_.get(); |
@@ -66,6 +71,19 @@ void ArcServiceManager::AddService(std::unique_ptr<ArcService> service) { |
services_.emplace_back(std::move(service)); |
} |
+void ArcServiceManager::AddObserver(Observer* observer) { |
+ observer_list_.AddObserver(observer); |
+} |
+ |
+void ArcServiceManager::RemoveObserver(Observer* observer) { |
+ observer_list_.RemoveObserver(observer); |
+} |
+ |
+void ArcServiceManager::OnAppsUpdated() { |
+ for (auto& observer : observer_list_) |
+ observer.OnAppsUpdated(); |
+} |
+ |
void ArcServiceManager::Shutdown() { |
icon_loader_ = nullptr; |
activity_resolver_ = nullptr; |