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 arg; | |
satorux1
2011/11/23 01:03:27
arg -> something more descriptive, like power_stat
Simon Que
2011/11/23 19:24:17
Done.
| |
228 if (!reader.PopString(&arg)) { | |
229 LOG(ERROR) << "Error reading signal args: " << signal->ToString(); | |
230 return; | |
231 } | |
232 if (arg != "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 |