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

Unified Diff: chromeos/dbus/dbus_clients_browser.cc

Issue 2343993003: chromeos: Refactor D-Bus client creation for ash and browser processes (Closed)
Patch Set: rebase Created 4 years, 3 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 | « chromeos/dbus/dbus_clients_browser.h ('k') | chromeos/dbus/dbus_clients_common.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/dbus_clients_browser.cc
diff --git a/chromeos/dbus/dbus_clients_browser.cc b/chromeos/dbus/dbus_clients_browser.cc
new file mode 100644
index 0000000000000000000000000000000000000000..52092190a858735d3f7307bb8417d716e5f1d9ca
--- /dev/null
+++ b/chromeos/dbus/dbus_clients_browser.cc
@@ -0,0 +1,76 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chromeos/dbus/dbus_clients_browser.h"
+
+#include "base/logging.h"
+#include "chromeos/dbus/arc_obb_mounter_client.h"
+#include "chromeos/dbus/cros_disks_client.h"
+#include "chromeos/dbus/dbus_thread_manager.h"
+#include "chromeos/dbus/debug_daemon_client.h"
+#include "chromeos/dbus/easy_unlock_client.h"
+#include "chromeos/dbus/fake_arc_obb_mounter_client.h"
+#include "chromeos/dbus/fake_debug_daemon_client.h"
+#include "chromeos/dbus/fake_easy_unlock_client.h"
+#include "chromeos/dbus/fake_image_burner_client.h"
+#include "chromeos/dbus/fake_lorgnette_manager_client.h"
+#include "chromeos/dbus/image_burner_client.h"
+#include "chromeos/dbus/lorgnette_manager_client.h"
+
+namespace chromeos {
+namespace {
+
+// Avoid ugly casts below.
+bool IsUsingReal(DBusClientTypeMask real_clients, DBusClientType type) {
+ return real_clients & static_cast<DBusClientTypeMask>(type);
+}
+
+} // namespace
+
+DBusClientsBrowser::DBusClientsBrowser(DBusClientTypeMask real_clients) {
+ if (IsUsingReal(real_clients, DBusClientType::ARC_OBB_MOUNTER))
+ arc_obb_mounter_client_.reset(ArcObbMounterClient::Create());
+ else
+ arc_obb_mounter_client_.reset(new FakeArcObbMounterClient);
+
+ cros_disks_client_.reset(CrosDisksClient::Create(
+ IsUsingReal(real_clients, DBusClientType::CROS_DISKS)
+ ? REAL_DBUS_CLIENT_IMPLEMENTATION
+ : FAKE_DBUS_CLIENT_IMPLEMENTATION));
+
+ if (IsUsingReal(real_clients, DBusClientType::DEBUG_DAEMON))
+ debug_daemon_client_.reset(DebugDaemonClient::Create());
+ else
+ debug_daemon_client_.reset(new FakeDebugDaemonClient);
+
+ if (IsUsingReal(real_clients, DBusClientType::EASY_UNLOCK))
+ easy_unlock_client_.reset(EasyUnlockClient::Create());
+ else
+ easy_unlock_client_.reset(new FakeEasyUnlockClient);
+
+ if (IsUsingReal(real_clients, DBusClientType::IMAGE_BURNER))
+ image_burner_client_.reset(ImageBurnerClient::Create());
+ else
+ image_burner_client_.reset(new FakeImageBurnerClient);
+
+ if (IsUsingReal(real_clients, DBusClientType::LORGNETTE_MANAGER))
+ lorgnette_manager_client_.reset(LorgnetteManagerClient::Create());
+ else
+ lorgnette_manager_client_.reset(new FakeLorgnetteManagerClient);
+}
+
+DBusClientsBrowser::~DBusClientsBrowser() {}
+
+void DBusClientsBrowser::Initialize(dbus::Bus* system_bus) {
+ DCHECK(DBusThreadManager::IsInitialized());
+
+ arc_obb_mounter_client_->Init(system_bus);
+ cros_disks_client_->Init(system_bus);
+ debug_daemon_client_->Init(system_bus);
+ easy_unlock_client_->Init(system_bus);
+ image_burner_client_->Init(system_bus);
+ lorgnette_manager_client_->Init(system_bus);
+}
+
+} // namespace chromeos
« no previous file with comments | « chromeos/dbus/dbus_clients_browser.h ('k') | chromeos/dbus/dbus_clients_common.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698