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

Unified Diff: chromeos/dbus/dbus_client_bundle.cc

Issue 2319783002: mash: Allow a subset of D-Bus clients to be created in DBusThreadManager (Closed)
Patch Set: WIP, add DBusThreadManagerAsh and DBusThreadManagerChrome 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_client_bundle.h ('k') | chromeos/dbus/dbus_client_bundle_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/dbus_client_bundle.cc
diff --git a/chromeos/dbus/dbus_client_bundle.cc b/chromeos/dbus/dbus_client_bundle.cc
index a9bc4a09feae0f2a98ca1f183dc8d2e381f596c0..13ed5ce6d46290a3ab7d24bb84ffcd9881f78c41 100644
--- a/chromeos/dbus/dbus_client_bundle.cc
+++ b/chromeos/dbus/dbus_client_bundle.cc
@@ -96,43 +96,53 @@ DBusClientBundle::DBusClientType GetDBusClientType(
} // namespace
-DBusClientBundle::DBusClientBundle(DBusClientTypeMask unstub_client_mask)
- : unstub_client_mask_(unstub_client_mask) {
- if (!IsUsingStub(ARC_OBB_MOUNTER))
+DBusClientBundle::DBusClientBundle(DBusClientTypeMask real_client_mask,
+ DBusClientTypeMask fake_client_mask)
+ : real_client_mask_(real_client_mask), fake_client_mask_(fake_client_mask) {
+ DCHECK(!(real_client_mask & fake_client_mask))
+ << "D-Bus clients cannot be both fake and real.";
+ DCHECK(real_client_mask | fake_client_mask)
+ << "Must initialize at least one D-Bus client.";
+
+ if (IsUsingReal(ARC_OBB_MOUNTER))
arc_obb_mounter_client_.reset(ArcObbMounterClient::Create());
- else
+ else if (IsUsingFake(ARC_OBB_MOUNTER))
arc_obb_mounter_client_.reset(new FakeArcObbMounterClient);
- if (!IsUsingStub(CRAS))
+ if (IsUsingReal(CRAS))
cras_audio_client_.reset(CrasAudioClient::Create());
- else
+ else if (IsUsingFake(CRAS))
cras_audio_client_.reset(new FakeCrasAudioClient);
- cros_disks_client_.reset(CrosDisksClient::Create(
- IsUsingStub(CROS_DISKS) ? STUB_DBUS_CLIENT_IMPLEMENTATION
- : REAL_DBUS_CLIENT_IMPLEMENTATION));
+ if (IsUsingReal(CROS_DISKS)) {
+ cros_disks_client_.reset(
+ CrosDisksClient::Create(REAL_DBUS_CLIENT_IMPLEMENTATION));
+ } else if (IsUsingFake(CROS_DISKS)) {
+ cros_disks_client_.reset(
+ CrosDisksClient::Create(FAKE_DBUS_CLIENT_IMPLEMENTATION));
+ }
- if (!IsUsingStub(CRYPTOHOME))
+ if (IsUsingReal(CRYPTOHOME))
cryptohome_client_.reset(CryptohomeClient::Create());
- else
+ else if (IsUsingFake(CRYPTOHOME))
cryptohome_client_.reset(new FakeCryptohomeClient);
- if (!IsUsingStub(DEBUG_DAEMON))
+ if (IsUsingReal(DEBUG_DAEMON))
debug_daemon_client_.reset(DebugDaemonClient::Create());
- else
+ else if (IsUsingFake(DEBUG_DAEMON))
debug_daemon_client_.reset(new FakeDebugDaemonClient);
- if (!IsUsingStub(EASY_UNLOCK))
+ if (IsUsingReal(EASY_UNLOCK))
easy_unlock_client_.reset(EasyUnlockClient::Create());
- else
+ else if (IsUsingFake(EASY_UNLOCK))
easy_unlock_client_.reset(new FakeEasyUnlockClient);
- if (!IsUsingStub(LORGNETTE_MANAGER))
+ if (IsUsingReal(LORGNETTE_MANAGER))
lorgnette_manager_client_.reset(LorgnetteManagerClient::Create());
- else
+ else if (IsUsingFake(LORGNETTE_MANAGER))
lorgnette_manager_client_.reset(new FakeLorgnetteManagerClient);
- if (!IsUsingStub(SHILL)) {
+ if (IsUsingReal(SHILL)) {
shill_manager_client_.reset(ShillManagerClient::Create());
shill_device_client_.reset(ShillDeviceClient::Create());
shill_ipconfig_client_.reset(ShillIPConfigClient::Create());
@@ -140,7 +150,7 @@ DBusClientBundle::DBusClientBundle(DBusClientTypeMask unstub_client_mask)
shill_profile_client_.reset(ShillProfileClient::Create());
shill_third_party_vpn_driver_client_.reset(
ShillThirdPartyVpnDriverClient::Create());
- } else {
+ } else if (IsUsingFake(SHILL)) {
shill_manager_client_.reset(new FakeShillManagerClient);
shill_device_client_.reset(new FakeShillDeviceClient);
shill_ipconfig_client_.reset(new FakeShillIPConfigClient);
@@ -150,9 +160,9 @@ DBusClientBundle::DBusClientBundle(DBusClientTypeMask unstub_client_mask)
new FakeShillThirdPartyVpnDriverClient);
}
- if (!IsUsingStub(GSM_SMS)) {
+ if (IsUsingReal(GSM_SMS)) {
gsm_sms_client_.reset(GsmSMSClient::Create());
- } else {
+ } else if (IsUsingFake(GSM_SMS)) {
FakeGsmSMSClient* gsm_sms_client = new FakeGsmSMSClient();
gsm_sms_client->set_sms_test_message_switch_present(
base::CommandLine::ForCurrentProcess()->HasSwitch(
@@ -160,57 +170,74 @@ DBusClientBundle::DBusClientBundle(DBusClientTypeMask unstub_client_mask)
gsm_sms_client_.reset(gsm_sms_client);
}
- if (!IsUsingStub(IMAGE_BURNER))
+ if (IsUsingReal(IMAGE_BURNER))
image_burner_client_.reset(ImageBurnerClient::Create());
- else
+ else if (IsUsingFake(IMAGE_BURNER))
image_burner_client_.reset(new FakeImageBurnerClient);
- if (!IsUsingStub(MODEM_MESSAGING))
+ if (IsUsingReal(MODEM_MESSAGING))
modem_messaging_client_.reset(ModemMessagingClient::Create());
- else
+ else if (IsUsingFake(MODEM_MESSAGING))
modem_messaging_client_.reset(new FakeModemMessagingClient);
- if (!IsUsingStub(PERMISSION_BROKER))
+ if (IsUsingReal(PERMISSION_BROKER))
permission_broker_client_.reset(PermissionBrokerClient::Create());
- else
+ else if (IsUsingFake(PERMISSION_BROKER))
permission_broker_client_.reset(new FakePermissionBrokerClient);
- power_manager_client_.reset(PowerManagerClient::Create(
- IsUsingStub(POWER_MANAGER) ? STUB_DBUS_CLIENT_IMPLEMENTATION
- : REAL_DBUS_CLIENT_IMPLEMENTATION));
+ if (IsUsingReal(POWER_MANAGER)) {
+ power_manager_client_.reset(
+ PowerManagerClient::Create(REAL_DBUS_CLIENT_IMPLEMENTATION));
+ } else if (IsUsingFake(POWER_MANAGER)) {
+ power_manager_client_.reset(
+ PowerManagerClient::Create(FAKE_DBUS_CLIENT_IMPLEMENTATION));
+ }
- session_manager_client_.reset(SessionManagerClient::Create(
- IsUsingStub(SESSION_MANAGER) ? STUB_DBUS_CLIENT_IMPLEMENTATION
- : REAL_DBUS_CLIENT_IMPLEMENTATION));
+ if (IsUsingReal(SESSION_MANAGER)) {
+ session_manager_client_.reset(
+ SessionManagerClient::Create(REAL_DBUS_CLIENT_IMPLEMENTATION));
+ } else if (IsUsingFake(SESSION_MANAGER)) {
+ session_manager_client_.reset(
+ SessionManagerClient::Create(FAKE_DBUS_CLIENT_IMPLEMENTATION));
+ }
- if (!IsUsingStub(SMS))
+ if (IsUsingReal(SMS))
sms_client_.reset(SMSClient::Create());
- else
+ else if (IsUsingFake(SMS))
sms_client_.reset(new FakeSMSClient);
- if (!IsUsingStub(SYSTEM_CLOCK))
+ if (IsUsingReal(SYSTEM_CLOCK))
system_clock_client_.reset(SystemClockClient::Create());
- else
+ else if (IsUsingFake(SYSTEM_CLOCK))
system_clock_client_.reset(new FakeSystemClockClient);
- update_engine_client_.reset(UpdateEngineClient::Create(
- IsUsingStub(UPDATE_ENGINE) ? STUB_DBUS_CLIENT_IMPLEMENTATION
- : REAL_DBUS_CLIENT_IMPLEMENTATION));
+ if (IsUsingReal(UPDATE_ENGINE)) {
+ update_engine_client_.reset(
+ UpdateEngineClient::Create(REAL_DBUS_CLIENT_IMPLEMENTATION));
+ } else if (IsUsingFake(UPDATE_ENGINE)) {
+ update_engine_client_.reset(
+ UpdateEngineClient::Create(FAKE_DBUS_CLIENT_IMPLEMENTATION));
+ }
}
DBusClientBundle::~DBusClientBundle() {
}
-bool DBusClientBundle::IsUsingStub(DBusClientType client) {
- return !(unstub_client_mask_ & client);
+bool DBusClientBundle::IsUsingFake(DBusClientType client) const {
+ return fake_client_mask_ & client;
+}
+
+bool DBusClientBundle::IsUsingReal(DBusClientType client) const {
+ return real_client_mask_ & client;
}
bool DBusClientBundle::IsUsingAnyRealClient() {
- // 'Using any real client' is equivalent to 'Unstubbed any client'.
- return unstub_client_mask_ != 0;
+ return real_client_mask_ != 0;
}
void DBusClientBundle::SetupDefaultEnvironment() {
+ if (!shill_manager_client_)
+ return;
ShillManagerClient::TestInterface* manager =
shill_manager_client_->GetTestInterface();
if (manager)
@@ -218,7 +245,7 @@ void DBusClientBundle::SetupDefaultEnvironment() {
}
// static
-DBusClientBundle::DBusClientTypeMask DBusClientBundle::ParseUnstubList(
+DBusClientTypeMask DBusClientBundle::ParseUnstubList(
const std::string& unstub_list) {
DBusClientTypeMask unstub_mask = 0;
for (const std::string& cur : base::SplitString(
« no previous file with comments | « chromeos/dbus/dbus_client_bundle.h ('k') | chromeos/dbus/dbus_client_bundle_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698