Index: chromeos/dbus/dbus_thread_manager.cc |
diff --git a/chromeos/dbus/dbus_thread_manager.cc b/chromeos/dbus/dbus_thread_manager.cc |
index 0b0c5d1423247b536ac0ce837f7901b1d5b1d866..1e7c18437b33e2a23e8445cd4bbfbecb328e18b6 100644 |
--- a/chromeos/dbus/dbus_thread_manager.cc |
+++ b/chromeos/dbus/dbus_thread_manager.cc |
@@ -39,6 +39,7 @@ |
#include "chromeos/dbus/modem_messaging_client.h" |
#include "chromeos/dbus/permission_broker_client.h" |
#include "chromeos/dbus/power_manager_client.h" |
+#include "chromeos/dbus/power_policy_controller.h" |
#include "chromeos/dbus/session_manager_client.h" |
#include "chromeos/dbus/sms_client.h" |
#include "chromeos/dbus/speech_synthesizer_client.h" |
@@ -124,6 +125,11 @@ class DBusThreadManagerImpl : public DBusThreadManager { |
SpeechSynthesizerClient::Create(client_type, system_bus_.get())); |
update_engine_client_.reset( |
UpdateEngineClient::Create(client_type, system_bus_.get())); |
+ |
+ // PowerPolicyController is dependent on PowerManagerClient, so |
+ // initialize it after the main list of clients. |
+ power_policy_controller_.reset( |
+ new PowerPolicyController(power_manager_client_.get())); |
} |
virtual ~DBusThreadManagerImpl() { |
@@ -281,6 +287,10 @@ class DBusThreadManagerImpl : public DBusThreadManager { |
return power_manager_client_.get(); |
} |
+ virtual PowerPolicyController* GetPowerPolicyController() OVERRIDE { |
+ return power_policy_controller_.get(); |
+ } |
+ |
virtual SessionManagerClient* GetSessionManagerClient() OVERRIDE { |
return session_manager_client_.get(); |
} |
@@ -375,6 +385,7 @@ class DBusThreadManagerImpl : public DBusThreadManager { |
scoped_ptr<IBusEngineFactoryService> ibus_engine_factory_service_; |
std::map<dbus::ObjectPath, IBusEngineService*> ibus_engine_services_; |
scoped_ptr<IBusPanelService> ibus_panel_service_; |
+ scoped_ptr<PowerPolicyController> power_policy_controller_; |
std::string ibus_address_; |