Chromium Code Reviews| Index: chromeos/dbus/dbus_clients_ash.h |
| diff --git a/chromeos/dbus/dbus_clients_ash.h b/chromeos/dbus/dbus_clients_ash.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ed6bccd25927f06c76c2ab71ad5793cb4f675e7c |
| --- /dev/null |
| +++ b/chromeos/dbus/dbus_clients_ash.h |
| @@ -0,0 +1,47 @@ |
| +// 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. |
| + |
| +#ifndef CHROMEOS_DBUS_DBUS_CLIENTS_ASH_H_ |
| +#define CHROMEOS_DBUS_DBUS_CLIENTS_ASH_H_ |
| + |
| +#include <memory> |
| + |
| +#include "base/macros.h" |
| +#include "chromeos/chromeos_export.h" |
| +#include "chromeos/dbus/dbus_client_types.h" |
| + |
| +namespace dbus { |
| +class Bus; |
| +} |
| + |
| +namespace chromeos { |
| + |
| +class GsmSMSClient; |
| +class ModemMessagingClient; |
| +class SMSClient; |
| + |
| +// D-Bus clients used only in the ash window manager process. |
| +// TODO(jamescook): Move this under //ash. http://crbug.com/647367 |
| +class CHROMEOS_EXPORT DBusClientsAsh { |
|
James Cook
2016/09/15 22:23:10
I intentionally do not provide DBusClientsAsh::Get
stevenjb
2016/09/16 15:17:59
Agreed.
|
| + public: |
| + // Creates real implementations for |real_clients| and fakes for all others. |
| + // Fakes are used when running on Linux desktop and in tests. |
| + explicit DBusClientsAsh(DBusClientTypeMask real_clients); |
| + ~DBusClientsAsh(); |
| + |
| + void Initialize(dbus::Bus* system_bus); |
| + |
| + private: |
| + friend class DBusThreadManager; |
| + |
| + std::unique_ptr<GsmSMSClient> gsm_sms_client_; |
| + std::unique_ptr<ModemMessagingClient> modem_messaging_client_; |
| + std::unique_ptr<SMSClient> sms_client_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(DBusClientsAsh); |
| +}; |
| + |
| +} // namespace chromeos |
| + |
| +#endif // CHROMEOS_DBUS_DBUS_CLIENTS_ASH_H_ |