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

Unified Diff: components/arc/arc_service_manager.cc

Issue 1596663002: arc-bridge: Introduce the ArcService class (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: Fixed Chrome OS builds 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.cc
diff --git a/components/arc/arc_service_manager.cc b/components/arc/arc_service_manager.cc
index 3769c03de9eb4880af4e55a91342f8338ddc9a50..85f52fed093a3f9da624e784b121bdcb102c98b7 100644
--- a/components/arc/arc_service_manager.cc
+++ b/components/arc/arc_service_manager.cc
@@ -10,13 +10,10 @@
#include "base/thread_task_runner_handle.h"
#include "components/arc/arc_bridge_bootstrap.h"
#include "components/arc/arc_bridge_service_impl.h"
-#include "components/arc/auth/arc_auth_service.h"
#include "components/arc/clipboard/arc_clipboard_bridge.h"
#include "components/arc/ime/arc_ime_bridge.h"
#include "components/arc/input/arc_input_bridge.h"
#include "components/arc/power/arc_power_bridge.h"
-#include "components/arc/settings/arc_settings_bridge.h"
-#include "components/arc/video/arc_video_bridge.h"
#include "ui/arc/notification/arc_notification_manager.h"
namespace arc {
@@ -28,25 +25,16 @@ ArcServiceManager* g_arc_service_manager = nullptr;
} // namespace
-ArcServiceManager::ArcServiceManager(
- scoped_ptr<ArcAuthService> auth_service,
- scoped_ptr<ArcSettingsBridge> settings_bridge,
- scoped_ptr<ArcVideoBridge> video_bridge)
+ArcServiceManager::ArcServiceManager()
: arc_bridge_service_(
- new ArcBridgeServiceImpl(ArcBridgeBootstrap::Create())),
- arc_auth_service_(std::move(auth_service)),
- arc_clipboard_bridge_(new ArcClipboardBridge(arc_bridge_service_.get())),
- arc_ime_bridge_(new ArcImeBridge(arc_bridge_service_.get())),
- arc_input_bridge_(ArcInputBridge::Create(arc_bridge_service_.get())),
- arc_settings_bridge_(std::move(settings_bridge)),
- arc_power_bridge_(new ArcPowerBridge(arc_bridge_service_.get())),
- arc_video_bridge_(std::move(video_bridge)) {
+ new ArcBridgeServiceImpl(ArcBridgeBootstrap::Create())) {
DCHECK(!g_arc_service_manager);
g_arc_service_manager = this;
- arc_settings_bridge_->StartObservingBridgeServiceChanges();
- arc_auth_service_->StartObservingBridgeServiceChanges();
- arc_video_bridge_->StartObservingBridgeServiceChanges();
+ AddService(make_scoped_ptr(new ArcClipboardBridge(arc_bridge_service())));
elijahtaylor1 2016/01/20 00:41:19 what is the distinction between services created f
Luis Héctor Chávez 2016/01/20 17:39:59 Dependencies. All the ones created in chrome_brows
+ AddService(make_scoped_ptr(new ArcImeBridge(arc_bridge_service())));
+ AddService(make_scoped_ptr(new ArcInputBridge(arc_bridge_service())));
+ AddService(make_scoped_ptr(new ArcPowerBridge(arc_bridge_service())));
}
ArcServiceManager::~ArcServiceManager() {
@@ -67,12 +55,18 @@ ArcBridgeService* ArcServiceManager::arc_bridge_service() {
return arc_bridge_service_.get();
}
+void ArcServiceManager::AddService(scoped_ptr<ArcService> service) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ services_.emplace_back(std::move(service));
+}
+
void ArcServiceManager::OnPrimaryUserProfilePrepared(
const AccountId& account_id) {
DCHECK(thread_checker_.CalledOnValidThread());
- arc_notification_manager_.reset(
- new ArcNotificationManager(arc_bridge_service(), account_id));
+ AddService(make_scoped_ptr(
+ new ArcNotificationManager(arc_bridge_service(), account_id)));
}
} // namespace arc

Powered by Google App Engine
This is Rietveld 408576698