| // Copyright (c) 2012 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_FAKE_DBUS_THREAD_MANAGER_H_ |
| #define CHROMEOS_DBUS_FAKE_DBUS_THREAD_MANAGER_H_ |
| |
| #include <string> |
| |
| #include "base/logging.h" |
| #include "base/observer_list.h" |
| #include "chromeos/chromeos_export.h" |
| #include "chromeos/dbus/dbus_thread_manager.h" |
| |
| namespace dbus { |
| class Bus; |
| class ObjectPath; |
| } // namespace dbus |
| |
| namespace chromeos { |
| |
| class DBusThreadManagerObserver; |
| |
| // This class provides a fake implementation of DBusThreadManager, which |
| // hosts fake D-Bus clients. |
| class CHROMEOS_EXPORT FakeDBusThreadManager : public DBusThreadManager { |
| public: |
| FakeDBusThreadManager(); |
| virtual ~FakeDBusThreadManager(); |
| |
| // Creates and sets all fake DBusClients and the PowerPolicyController. |
| void SetFakeClients(); |
| |
| void SetBluetoothAdapterClient(scoped_ptr<BluetoothAdapterClient> client); |
| void SetBluetoothAgentManagerClient( |
| scoped_ptr<BluetoothAgentManagerClient> client); |
| void SetBluetoothDeviceClient(scoped_ptr<BluetoothDeviceClient> client); |
| void SetBluetoothInputClient(scoped_ptr<BluetoothInputClient> client); |
| void SetBluetoothProfileManagerClient( |
| scoped_ptr<BluetoothProfileManagerClient> client); |
| void SetCrasAudioClient(scoped_ptr<CrasAudioClient> client); |
| void SetCrosDisksClient(scoped_ptr<CrosDisksClient> client); |
| void SetCryptohomeClient(scoped_ptr<CryptohomeClient> client); |
| void SetDebugDaemonClient(scoped_ptr<DebugDaemonClient> client); |
| void SetShillDeviceClient(scoped_ptr<ShillDeviceClient> client); |
| void SetShillIPConfigClient(scoped_ptr<ShillIPConfigClient> client); |
| void SetShillManagerClient(scoped_ptr<ShillManagerClient> client); |
| void SetShillServiceClient(scoped_ptr<ShillServiceClient> client); |
| void SetShillProfileClient(scoped_ptr<ShillProfileClient> client); |
| void SetGsmSMSClient(scoped_ptr<GsmSMSClient> client); |
| void SetImageBurnerClient(scoped_ptr<ImageBurnerClient> client); |
| void SetIntrospectableClient(scoped_ptr<IntrospectableClient> client); |
| void SetModemMessagingClient(scoped_ptr<ModemMessagingClient> client); |
| void SetNfcAdapterClient(scoped_ptr<NfcAdapterClient> client); |
| void SetNfcDeviceClient(scoped_ptr<NfcDeviceClient> client); |
| void SetNfcManagerClient(scoped_ptr<NfcManagerClient> client); |
| void SetNfcRecordClient(scoped_ptr<NfcRecordClient> client); |
| void SetNfcTagClient(scoped_ptr<NfcTagClient> client); |
| void SetPermissionBrokerClient(scoped_ptr<PermissionBrokerClient> client); |
| void SetPowerManagerClient(scoped_ptr<PowerManagerClient> client); |
| void SetPowerPolicyController(scoped_ptr<PowerPolicyController> client); |
| void SetSessionManagerClient(scoped_ptr<SessionManagerClient> client); |
| void SetSMSClient(scoped_ptr<SMSClient> client); |
| void SetSystemClockClient(scoped_ptr<SystemClockClient> client); |
| void SetUpdateEngineClient(scoped_ptr<UpdateEngineClient> client); |
| |
| virtual void AddObserver(DBusThreadManagerObserver* observer) OVERRIDE; |
| virtual void RemoveObserver(DBusThreadManagerObserver* observer) OVERRIDE; |
| virtual dbus::Bus* GetSystemBus() OVERRIDE; |
| |
| virtual BluetoothAdapterClient* GetBluetoothAdapterClient() OVERRIDE; |
| virtual BluetoothAgentManagerClient* |
| GetBluetoothAgentManagerClient() OVERRIDE; |
| virtual BluetoothDeviceClient* GetBluetoothDeviceClient() OVERRIDE; |
| virtual BluetoothInputClient* GetBluetoothInputClient() OVERRIDE; |
| virtual BluetoothProfileManagerClient* |
| GetBluetoothProfileManagerClient() OVERRIDE; |
| virtual CrasAudioClient* GetCrasAudioClient() OVERRIDE; |
| virtual CrosDisksClient* GetCrosDisksClient() OVERRIDE; |
| virtual CryptohomeClient* GetCryptohomeClient() OVERRIDE; |
| virtual DebugDaemonClient* GetDebugDaemonClient() OVERRIDE; |
| virtual ShillDeviceClient* GetShillDeviceClient() OVERRIDE; |
| virtual ShillIPConfigClient* GetShillIPConfigClient() OVERRIDE; |
| virtual ShillManagerClient* GetShillManagerClient() OVERRIDE; |
| virtual ShillProfileClient* GetShillProfileClient() OVERRIDE; |
| virtual ShillServiceClient* GetShillServiceClient() OVERRIDE; |
| virtual GsmSMSClient* GetGsmSMSClient() OVERRIDE; |
| virtual ImageBurnerClient* GetImageBurnerClient() OVERRIDE; |
| virtual IntrospectableClient* GetIntrospectableClient() OVERRIDE; |
| virtual ModemMessagingClient* GetModemMessagingClient() OVERRIDE; |
| virtual NfcAdapterClient* GetNfcAdapterClient() OVERRIDE; |
| virtual NfcDeviceClient* GetNfcDeviceClient() OVERRIDE; |
| virtual NfcManagerClient* GetNfcManagerClient() OVERRIDE; |
| virtual NfcRecordClient* GetNfcRecordClient() OVERRIDE; |
| virtual NfcTagClient* GetNfcTagClient() OVERRIDE; |
| virtual PermissionBrokerClient* GetPermissionBrokerClient() OVERRIDE; |
| virtual PowerManagerClient* GetPowerManagerClient() OVERRIDE; |
| virtual PowerPolicyController* GetPowerPolicyController() OVERRIDE; |
| virtual SessionManagerClient* GetSessionManagerClient() OVERRIDE; |
| virtual SMSClient* GetSMSClient() OVERRIDE; |
| virtual SystemClockClient* GetSystemClockClient() OVERRIDE; |
| virtual UpdateEngineClient* GetUpdateEngineClient() OVERRIDE; |
| |
| private: |
| // Note: Keep this before other members so they can call AddObserver() in |
| // their c'tors. |
| ObserverList<DBusThreadManagerObserver> observers_; |
| |
| scoped_ptr<BluetoothAdapterClient> bluetooth_adapter_client_; |
| scoped_ptr<BluetoothAgentManagerClient> bluetooth_agent_manager_client_; |
| scoped_ptr<BluetoothDeviceClient> bluetooth_device_client_; |
| scoped_ptr<BluetoothInputClient> bluetooth_input_client_; |
| scoped_ptr<BluetoothProfileManagerClient> bluetooth_profile_manager_client_; |
| scoped_ptr<CrasAudioClient> cras_audio_client_; |
| scoped_ptr<CrosDisksClient> cros_disks_client_; |
| scoped_ptr<CryptohomeClient> cryptohome_client_; |
| scoped_ptr<DebugDaemonClient> debug_daemon_client_; |
| scoped_ptr<ShillDeviceClient> shill_device_client_; |
| scoped_ptr<ShillIPConfigClient> shill_ipconfig_client_; |
| scoped_ptr<ShillManagerClient> shill_manager_client_; |
| scoped_ptr<ShillServiceClient> shill_service_client_; |
| scoped_ptr<ShillProfileClient> shill_profile_client_; |
| scoped_ptr<GsmSMSClient> gsm_sms_client_; |
| scoped_ptr<ImageBurnerClient> image_burner_client_; |
| scoped_ptr<IntrospectableClient> introspectable_client_; |
| scoped_ptr<ModemMessagingClient> modem_messaging_client_; |
| scoped_ptr<NfcAdapterClient> nfc_adapter_client_; |
| scoped_ptr<NfcDeviceClient> nfc_device_client_; |
| scoped_ptr<NfcManagerClient> nfc_manager_client_; |
| scoped_ptr<NfcRecordClient> nfc_record_client_; |
| scoped_ptr<NfcTagClient> nfc_tag_client_; |
| scoped_ptr<PermissionBrokerClient> permission_broker_client_; |
| scoped_ptr<SystemClockClient> system_clock_client_; |
| scoped_ptr<PowerManagerClient> power_manager_client_; |
| scoped_ptr<SessionManagerClient> session_manager_client_; |
| scoped_ptr<SMSClient> sms_client_; |
| scoped_ptr<UpdateEngineClient> update_engine_client_; |
| |
| scoped_ptr<PowerPolicyController> power_policy_controller_; |
| |
| DISALLOW_COPY_AND_ASSIGN(FakeDBusThreadManager); |
| }; |
| |
| } // namespace chromeos |
| |
| #endif // CHROMEOS_DBUS_FAKE_DBUS_THREAD_MANAGER_H_ |