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

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: Rebased + protected ArcService direct instantiation 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
« no previous file with comments | « components/arc/arc_service.cc ('k') | components/arc/arc_service_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/arc/arc_service_manager.h
diff --git a/components/arc/arc_service_manager.h b/components/arc/arc_service_manager.h
index 205eb7ba0df054bd924fa24ede84d6d95f6dfbf9..b3a1a6d747e449d813fc184697ae8231246ea024 100644
--- a/components/arc/arc_service_manager.h
+++ b/components/arc/arc_service_manager.h
@@ -5,6 +5,8 @@
#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"
@@ -12,31 +14,23 @@
namespace arc {
-class ArcAuthService;
class ArcBridgeService;
-class ArcClipboardBridge;
-class ArcImeBridge;
-class ArcInputBridge;
-class ArcIntentHelperBridge;
-class ArcNotificationManager;
-class ArcPowerBridge;
-class ArcSettingsBridge;
-class ArcVideoBridge;
+class ArcService;
// 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<ArcIntentHelperBridge> intent_helper_bridge,
- 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();
@@ -47,17 +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<ArcIntentHelperBridge> arc_intent_helper_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);
};
« no previous file with comments | « components/arc/arc_service.cc ('k') | components/arc/arc_service_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698