Index: components/arc/arc_service_manager.h |
diff --git a/components/arc/arc_service_manager.h b/components/arc/arc_service_manager.h |
index 256a1992eb906e9eeac10793e6c46e492ab53e8b..dfa0e84ed258b6938ac29c0db3d4b8c67a67640b 100644 |
--- a/components/arc/arc_service_manager.h |
+++ b/components/arc/arc_service_manager.h |
@@ -13,6 +13,7 @@ |
#include "base/task_runner.h" |
hidehiko
2016/11/25 15:38:00
#include "base/observer_list.h" looks missing.
oka
2016/11/28 07:15:43
Done.
|
#include "base/threading/thread_checker.h" |
#include "components/arc/intent_helper/activity_icon_loader.h" |
+#include "components/arc/intent_helper/arc_intent_helper_observer.h" |
#include "components/arc/intent_helper/local_activity_resolver.h" |
#include "components/prefs/pref_member.h" |
#include "components/signin/core/account_id/account_id.h" |
@@ -24,11 +25,20 @@ class ArcService; |
// Manages creation and destruction of services that communicate with the ARC |
// instance via the ArcBridgeService. |
-class ArcServiceManager { |
+class ArcServiceManager |
+ : public arc::ArcIntentHelperObserver { |
hidehiko
2016/11/25 15:38:00
I think this line can be merged with above one.
Co
oka
2016/11/28 07:15:43
Done.
|
public: |
+ class Observer { |
+ public: |
+ // Called when app's intent filter is updated. |
+ virtual void OnAppsUpdated() = 0; |
+ protected: |
+ virtual ~Observer() {} |
hidehiko
2016/11/25 15:38:00
s/{}/= default;
oka
2016/11/28 07:15:43
Done.
|
+ }; |
+ |
explicit ArcServiceManager( |
scoped_refptr<base::TaskRunner> blocking_task_runner); |
- virtual ~ArcServiceManager(); |
+ ~ArcServiceManager() override; |
// |arc_bridge_service| can only be accessed on the thread that this |
// class was created on. |
@@ -46,6 +56,12 @@ class ArcServiceManager { |
const AccountId& account_id, |
std::unique_ptr<BooleanPrefMember> arc_enabled_pref); |
+ void AddObserver(Observer* observer); |
+ void RemoveObserver(Observer* observer); |
+ |
+ // arc::ArcIntentHelperBridge::Observer overrides. |
+ void OnAppsUpdated() override; |
+ |
// Called to shut down all ARC services. |
void Shutdown(); |
@@ -75,6 +91,8 @@ class ArcServiceManager { |
scoped_refptr<ActivityIconLoader> icon_loader_; |
scoped_refptr<LocalActivityResolver> activity_resolver_; |
+ base::ObserverList<Observer> observer_list_; |
+ |
DISALLOW_COPY_AND_ASSIGN(ArcServiceManager); |
}; |