Index: components/arc/arc_service_manager.h |
diff --git a/components/arc/arc_service_manager.h b/components/arc/arc_service_manager.h |
index 81a4ea9e98b2e715e289b112d3cae2660d72cbd6..04be5dd7a8b4f3540fdcda409b1a77d827cebe9c 100644 |
--- a/components/arc/arc_service_manager.h |
+++ b/components/arc/arc_service_manager.h |
@@ -19,6 +19,7 @@ |
namespace arc { |
class ArcBridgeService; |
+class ArcFileSystemObserver; |
class ArcIntentHelperObserver; |
class ArcService; |
@@ -31,10 +32,13 @@ class ArcServiceManager { |
// Called when ArcServiceManager is being shut down. Observer |
// implementation should clean up ARC related stuff here. One of the |
// typical use cases is calling ArcServiceManager::RemoveObserver(). |
- virtual void OnArcShutdown() = 0; |
+ virtual void OnArcShutdown() {} |
// Called when intent filters are added or removed. |
- virtual void OnIntentFiltersUpdated() = 0; |
+ virtual void OnIntentFiltersUpdated() {} |
+ |
+ // Called when ARC filesystems are ready. |
+ virtual void OnFileSystemsReady() {} |
protected: |
virtual ~Observer() = default; |
@@ -73,12 +77,18 @@ class ArcServiceManager { |
return activity_resolver_; |
} |
- // Returns the IntentHelperObserver instance owned by ArcServiceManager. |
+ // Returns the ArcIntentHelperObserver instance owned by ArcServiceManager. |
ArcIntentHelperObserver* intent_helper_observer() { |
return intent_helper_observer_.get(); |
} |
+ // Returns the ArcFileSystemObserver instance owned by ArcServiceManager. |
+ ArcFileSystemObserver* file_system_observer() { |
+ return file_system_observer_.get(); |
+ } |
+ |
private: |
+ class FileSystemObserverImpl; // implemented in arc_service_manager.cc. |
class IntentHelperObserverImpl; // implemented in arc_service_manager.cc. |
base::ThreadChecker thread_checker_; |
@@ -87,6 +97,9 @@ class ArcServiceManager { |
// An object for observing the ArcIntentHelper instance in |services_|. |
std::unique_ptr<ArcIntentHelperObserver> intent_helper_observer_; |
+ // An object for observing the ArcFileSystemService instance in |services_|. |
+ std::unique_ptr<ArcFileSystemObserver> file_system_observer_; |
+ |
std::unique_ptr<ArcBridgeService> arc_bridge_service_; |
std::vector<std::unique_ptr<ArcService>> services_; |
scoped_refptr<ActivityIconLoader> icon_loader_; |