OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/dbus/power_manager_client.h" | 5 #include "chrome/browser/chromeos/dbus/power_manager_client.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 weak_ptr_factory_.GetWeakPtr())); | 76 weak_ptr_factory_.GetWeakPtr())); |
77 | 77 |
78 // Monitor the D-Bus signal for power supply polling signals. | 78 // Monitor the D-Bus signal for power supply polling signals. |
79 power_manager_proxy_->ConnectToSignal( | 79 power_manager_proxy_->ConnectToSignal( |
80 power_manager::kPowerManagerInterface, | 80 power_manager::kPowerManagerInterface, |
81 power_manager::kPowerSupplyPollSignal, | 81 power_manager::kPowerSupplyPollSignal, |
82 base::Bind(&PowerManagerClientImpl::PowerSupplyPollReceived, | 82 base::Bind(&PowerManagerClientImpl::PowerSupplyPollReceived, |
83 weak_ptr_factory_.GetWeakPtr()), | 83 weak_ptr_factory_.GetWeakPtr()), |
84 base::Bind(&PowerManagerClientImpl::SignalConnected, | 84 base::Bind(&PowerManagerClientImpl::SignalConnected, |
85 weak_ptr_factory_.GetWeakPtr())); | 85 weak_ptr_factory_.GetWeakPtr())); |
| 86 |
| 87 // Monitor the D-Bus signal for power state changed signals. |
| 88 power_manager_proxy_->ConnectToSignal( |
| 89 power_manager::kPowerManagerInterface, |
| 90 power_manager::kPowerStateChangedSignal, |
| 91 base::Bind(&PowerManagerClientImpl::PowerStateChangedSignalReceived, |
| 92 weak_ptr_factory_.GetWeakPtr()), |
| 93 base::Bind(&PowerManagerClientImpl::SignalConnected, |
| 94 weak_ptr_factory_.GetWeakPtr())); |
86 } | 95 } |
87 | 96 |
88 virtual ~PowerManagerClientImpl() { | 97 virtual ~PowerManagerClientImpl() { |
89 } | 98 } |
90 | 99 |
91 // PowerManagerClient override. | 100 // PowerManagerClient override. |
92 virtual void AddObserver(Observer* observer) { | 101 virtual void AddObserver(Observer* observer) { |
93 observers_.AddObserver(observer); | 102 observers_.AddObserver(observer); |
94 } | 103 } |
95 | 104 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
204 | 213 |
205 // Called when a response for IncreaseScreenBrightness() is received. | 214 // Called when a response for IncreaseScreenBrightness() is received. |
206 void OnIncreaseScreenBrightness(dbus::Response* response) { | 215 void OnIncreaseScreenBrightness(dbus::Response* response) { |
207 if (!response) { | 216 if (!response) { |
208 LOG(ERROR) << "Failed to increase screen brightness"; | 217 LOG(ERROR) << "Failed to increase screen brightness"; |
209 return; | 218 return; |
210 } | 219 } |
211 VLOG(1) << "screen brightness increased: " << response->ToString(); | 220 VLOG(1) << "screen brightness increased: " << response->ToString(); |
212 } | 221 } |
213 | 222 |
| 223 // Called when a power state changed signal is received. |
| 224 void PowerStateChangedSignalReceived(dbus::Signal* signal) { |
| 225 VLOG(1) << "Received power state changed signal."; |
| 226 dbus::MessageReader reader(signal); |
| 227 std::string power_state_string; |
| 228 if (!reader.PopString(&power_state_string)) { |
| 229 LOG(ERROR) << "Error reading signal args: " << signal->ToString(); |
| 230 return; |
| 231 } |
| 232 if (power_state_string != "on") |
| 233 return; |
| 234 // Notify all observers of resume event. |
| 235 FOR_EACH_OBSERVER(Observer, observers_, SystemResumed()); |
| 236 } |
| 237 |
214 // Called when a power supply polling signal is received. | 238 // Called when a power supply polling signal is received. |
215 void PowerSupplyPollReceived(dbus::Signal* unused_signal) { | 239 void PowerSupplyPollReceived(dbus::Signal* unused_signal) { |
216 VLOG(1) << "Received power supply poll signal."; | 240 VLOG(1) << "Received power supply poll signal."; |
217 RequestStatusUpdate(); | 241 RequestStatusUpdate(); |
218 } | 242 } |
219 | 243 |
220 // Called when GetAllPropertiesMethod call is complete. | 244 // Called when GetAllPropertiesMethod call is complete. |
221 void OnGetAllPropertiesMethod(dbus::Response* response) { | 245 void OnGetAllPropertiesMethod(dbus::Response* response) { |
222 if (!response) { | 246 if (!response) { |
223 LOG(ERROR) << "Error calling " << power_manager::kGetAllPropertiesMethod; | 247 LOG(ERROR) << "Error calling " << power_manager::kGetAllPropertiesMethod; |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 | 399 |
376 PowerManagerClient* PowerManagerClient::Create(dbus::Bus* bus) { | 400 PowerManagerClient* PowerManagerClient::Create(dbus::Bus* bus) { |
377 if (system::runtime_environment::IsRunningOnChromeOS()) { | 401 if (system::runtime_environment::IsRunningOnChromeOS()) { |
378 return new PowerManagerClientImpl(bus); | 402 return new PowerManagerClientImpl(bus); |
379 } else { | 403 } else { |
380 return new PowerManagerClientStubImpl(); | 404 return new PowerManagerClientStubImpl(); |
381 } | 405 } |
382 } | 406 } |
383 | 407 |
384 } // namespace chromeos | 408 } // namespace chromeos |
OLD | NEW |