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

Side by Side Diff: chromeos/dbus/dbus_clients_ash.cc

Issue 2343993003: chromeos: Refactor D-Bus client creation for ash and browser processes (Closed)
Patch Set: cleanup, extend tests 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chromeos/dbus/dbus_clients_ash.h"
6
7 #include "base/command_line.h"
8 #include "chromeos/chromeos_switches.h"
9 #include "chromeos/dbus/dbus_thread_manager.h"
10 #include "chromeos/dbus/fake_gsm_sms_client.h"
11 #include "chromeos/dbus/fake_modem_messaging_client.h"
12 #include "chromeos/dbus/fake_sms_client.h"
13 #include "chromeos/dbus/gsm_sms_client.h"
14 #include "chromeos/dbus/modem_messaging_client.h"
15 #include "chromeos/dbus/sms_client.h"
16
17 namespace chromeos {
18 namespace {
19
20 // Avoid ugly casts below.
21 bool IsUsingReal(DBusClientTypeMask real_clients, DBusClientType type) {
22 return real_clients & static_cast<DBusClientTypeMask>(type);
23 }
24
25 } // namespace
26
27 DBusClientsAsh::DBusClientsAsh(DBusClientTypeMask real_clients) {
28 if (IsUsingReal(real_clients, DBusClientType::GSM_SMS)) {
29 gsm_sms_client_.reset(GsmSMSClient::Create());
30 } else {
31 FakeGsmSMSClient* gsm_sms_client = new FakeGsmSMSClient();
32 gsm_sms_client->set_sms_test_message_switch_present(
33 base::CommandLine::ForCurrentProcess()->HasSwitch(
34 chromeos::switches::kSmsTestMessages));
35 gsm_sms_client_.reset(gsm_sms_client);
36 }
37
38 if (IsUsingReal(real_clients, DBusClientType::MODEM_MESSAGING))
39 modem_messaging_client_.reset(ModemMessagingClient::Create());
40 else
41 modem_messaging_client_.reset(new FakeModemMessagingClient);
42
43 if (IsUsingReal(real_clients, DBusClientType::SMS))
44 sms_client_.reset(SMSClient::Create());
45 else
46 sms_client_.reset(new FakeSMSClient);
47 }
48
49 DBusClientsAsh::~DBusClientsAsh() {}
50
51 void DBusClientsAsh::Initialize(dbus::Bus* system_bus) {
52 DCHECK(DBusThreadManager::IsInitialized());
53
54 gsm_sms_client_->Init(system_bus);
55 modem_messaging_client_->Init(system_bus);
56 sms_client_->Init(system_bus);
57 }
58
59 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698