OLD | NEW |
(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 |
OLD | NEW |