Index: chromeos/dbus/dbus_thread_manager.h |
diff --git a/chromeos/dbus/dbus_thread_manager.h b/chromeos/dbus/dbus_thread_manager.h |
index 0a6d35991bd3ca49bad4eaa796e8ed7cbb94cac7..31cb3c4c74058caaa3dab27362e339dc8273d3cf 100644 |
--- a/chromeos/dbus/dbus_thread_manager.h |
+++ b/chromeos/dbus/dbus_thread_manager.h |
@@ -34,6 +34,7 @@ class BluetoothProfileManagerClient; |
class CrasAudioClient; |
class CrosDisksClient; |
class CryptohomeClient; |
+class DBusClient; |
class DebugDaemonClient; |
class GsmSMSClient; |
class IBusClient; |
@@ -49,13 +50,13 @@ class NfcTagClient; |
class PermissionBrokerClient; |
class PowerManagerClient; |
class PowerPolicyController; |
-class SMSClient; |
class SessionManagerClient; |
class ShillDeviceClient; |
class ShillIPConfigClient; |
class ShillManagerClient; |
class ShillProfileClient; |
class ShillServiceClient; |
+class SMSClient; |
class SystemClockClient; |
class UpdateEngineClient; |
@@ -130,7 +131,6 @@ class CHROMEOS_EXPORT DBusThreadManager { |
virtual CryptohomeClient* GetCryptohomeClient() = 0; |
virtual DebugDaemonClient* GetDebugDaemonClient() = 0; |
virtual GsmSMSClient* GetGsmSMSClient() = 0; |
- virtual IBusClient* GetIBusClient() = 0; |
virtual ImageBurnerClient* GetImageBurnerClient() = 0; |
virtual IntrospectableClient* GetIntrospectableClient() = 0; |
virtual ModemMessagingClient* GetModemMessagingClient() = 0; |
@@ -151,11 +151,22 @@ class CHROMEOS_EXPORT DBusThreadManager { |
virtual SystemClockClient* GetSystemClockClient() = 0; |
virtual UpdateEngineClient* GetUpdateEngineClient() = 0; |
+ virtual IBusClient* GetIBusClient() = 0; |
+ |
virtual ~DBusThreadManager(); |
protected: |
DBusThreadManager(); |
+ private: |
+ // InitializeClients is called after g_dbus_thread_manager is set. |
+ // NOTE: Clients that access other clients in their Init() must be |
+ // initialized in the correct order. |
+ static void InitializeClients(); |
+ |
+ // Initializes |client| with the |system_bus_|. |
+ static void InitClient(DBusClient* client); |
+ |
DISALLOW_COPY_AND_ASSIGN(DBusThreadManager); |
}; |