Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Unified Diff: components/arc/arc_service_manager.h

Issue 1596663002: arc-bridge: Introduce the ArcService class (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: Addressed feedback Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698