| Index: chromeos/dbus/dbus_clients_ash.cc
|
| diff --git a/chromeos/dbus/dbus_clients_ash.cc b/chromeos/dbus/dbus_clients_ash.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cb94e1e9015f75f4a6dfa4ebe9c8a39c28417b0a
|
| --- /dev/null
|
| +++ b/chromeos/dbus/dbus_clients_ash.cc
|
| @@ -0,0 +1,59 @@
|
| +// 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_ash.h"
|
| +
|
| +#include "base/command_line.h"
|
| +#include "chromeos/chromeos_switches.h"
|
| +#include "chromeos/dbus/dbus_thread_manager.h"
|
| +#include "chromeos/dbus/fake_gsm_sms_client.h"
|
| +#include "chromeos/dbus/fake_modem_messaging_client.h"
|
| +#include "chromeos/dbus/fake_sms_client.h"
|
| +#include "chromeos/dbus/gsm_sms_client.h"
|
| +#include "chromeos/dbus/modem_messaging_client.h"
|
| +#include "chromeos/dbus/sms_client.h"
|
| +
|
| +namespace chromeos {
|
| +namespace {
|
| +
|
| +// Avoid ugly casts below.
|
| +bool IsUsingReal(DBusClientTypeMask real_clients, DBusClientType type) {
|
| + return real_clients & static_cast<DBusClientTypeMask>(type);
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +DBusClientsAsh::DBusClientsAsh(DBusClientTypeMask real_clients) {
|
| + if (IsUsingReal(real_clients, DBusClientType::GSM_SMS)) {
|
| + gsm_sms_client_.reset(GsmSMSClient::Create());
|
| + } else {
|
| + FakeGsmSMSClient* gsm_sms_client = new FakeGsmSMSClient();
|
| + gsm_sms_client->set_sms_test_message_switch_present(
|
| + base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + chromeos::switches::kSmsTestMessages));
|
| + gsm_sms_client_.reset(gsm_sms_client);
|
| + }
|
| +
|
| + if (IsUsingReal(real_clients, DBusClientType::MODEM_MESSAGING))
|
| + modem_messaging_client_.reset(ModemMessagingClient::Create());
|
| + else
|
| + modem_messaging_client_.reset(new FakeModemMessagingClient);
|
| +
|
| + if (IsUsingReal(real_clients, DBusClientType::SMS))
|
| + sms_client_.reset(SMSClient::Create());
|
| + else
|
| + sms_client_.reset(new FakeSMSClient);
|
| +}
|
| +
|
| +DBusClientsAsh::~DBusClientsAsh() {}
|
| +
|
| +void DBusClientsAsh::Initialize(dbus::Bus* system_bus) {
|
| + DCHECK(DBusThreadManager::IsInitialized());
|
| +
|
| + gsm_sms_client_->Init(system_bus);
|
| + modem_messaging_client_->Init(system_bus);
|
| + sms_client_->Init(system_bus);
|
| +}
|
| +
|
| +} // namespace chromeos
|
|
|