Index: components/arc/arc_service_manager.h |
diff --git a/components/arc/arc_service_manager.h b/components/arc/arc_service_manager.h |
index 8b0bc8c23bcbcd84774518ab8fca5665d257685e..2e26a31a4cc9c8bd849ead3567d900dabc186b51 100644 |
--- a/components/arc/arc_service_manager.h |
+++ b/components/arc/arc_service_manager.h |
@@ -5,36 +5,32 @@ |
#ifndef COMPONENTS_ARC_ARC_SERVICE_MANAGER_H_ |
#define COMPONENTS_ARC_ARC_SERVICE_MANAGER_H_ |
+#include <vector> |
+ |
#include "base/macros.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/threading/thread_checker.h" |
+#include "components/arc/arc_service.h" |
#include "components/signin/core/account_id/account_id.h" |
namespace arc { |
-class ArcAuthService; |
-class ArcBridgeService; |
-class ArcClipboardBridge; |
-class ArcImeBridge; |
-class ArcInputBridge; |
class ArcNotificationManager; |
-class ArcPowerBridge; |
-class ArcSettingsBridge; |
-class ArcVideoBridge; |
// Manages creation and destruction of services that communicate with the ARC |
// instance via the ArcBridgeService. |
class ArcServiceManager { |
public: |
- ArcServiceManager(scoped_ptr<ArcAuthService> auth_service, |
- scoped_ptr<ArcSettingsBridge> settings_bridge, |
- scoped_ptr<ArcVideoBridge> video_bridge); |
+ ArcServiceManager(); |
virtual ~ArcServiceManager(); |
// |arc_bridge_service| can only be accessed on the thread that this |
// class was created on. |
ArcBridgeService* arc_bridge_service(); |
+ // Adds a service to the managed services list. |
+ void AddService(scoped_ptr<ArcService> service); |
+ |
// Gets the global instance of the ARC Service Manager. This can only be |
// called on the thread that this class was created on. |
static ArcServiceManager* Get(); |
@@ -45,16 +41,7 @@ class ArcServiceManager { |
private: |
base::ThreadChecker thread_checker_; |
scoped_ptr<ArcBridgeService> arc_bridge_service_; |
- |
- // Individual services |
- scoped_ptr<ArcAuthService> arc_auth_service_; |
- scoped_ptr<ArcClipboardBridge> arc_clipboard_bridge_; |
- scoped_ptr<ArcImeBridge> arc_ime_bridge_; |
- scoped_ptr<ArcInputBridge> arc_input_bridge_; |
- scoped_ptr<ArcNotificationManager> arc_notification_manager_; |
- scoped_ptr<ArcSettingsBridge> arc_settings_bridge_; |
- scoped_ptr<ArcPowerBridge> arc_power_bridge_; |
- scoped_ptr<ArcVideoBridge> arc_video_bridge_; |
+ std::vector<scoped_ptr<ArcService>> services_; |
DISALLOW_COPY_AND_ASSIGN(ArcServiceManager); |
}; |