| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 // The PowerManagerClient implementation used in production. | 59 // The PowerManagerClient implementation used in production. |
| 60 class PowerManagerClientImpl : public PowerManagerClient { | 60 class PowerManagerClientImpl : public PowerManagerClient { |
| 61 public: | 61 public: |
| 62 explicit PowerManagerClientImpl(dbus::Bus* bus) | 62 explicit PowerManagerClientImpl(dbus::Bus* bus) |
| 63 : power_manager_proxy_(NULL), | 63 : power_manager_proxy_(NULL), |
| 64 weak_ptr_factory_(this) { | 64 weak_ptr_factory_(this) { |
| 65 power_manager_proxy_ = bus->GetObjectProxy( | 65 power_manager_proxy_ = bus->GetObjectProxy( |
| 66 power_manager::kPowerManagerServiceName, | 66 power_manager::kPowerManagerServiceName, |
| 67 dbus::ObjectPath(power_manager::kPowerManagerServicePath)); | 67 dbus::ObjectPath(power_manager::kPowerManagerServicePath)); |
| 68 | 68 |
| 69 session_manager_proxy_ = bus->GetObjectProxy( |
| 70 login_manager::kSessionManagerServiceName, |
| 71 dbus::ObjectPath(login_manager::kSessionManagerServicePath)); |
| 72 |
| 69 // Monitor the D-Bus signal for brightness changes. Only the power | 73 // Monitor the D-Bus signal for brightness changes. Only the power |
| 70 // manager knows the actual brightness level. We don't cache the | 74 // manager knows the actual brightness level. We don't cache the |
| 71 // brightness level in Chrome as it'll make things less reliable. | 75 // brightness level in Chrome as it'll make things less reliable. |
| 72 power_manager_proxy_->ConnectToSignal( | 76 power_manager_proxy_->ConnectToSignal( |
| 73 power_manager::kPowerManagerInterface, | 77 power_manager::kPowerManagerInterface, |
| 74 power_manager::kBrightnessChangedSignal, | 78 power_manager::kBrightnessChangedSignal, |
| 75 base::Bind(&PowerManagerClientImpl::BrightnessChangedReceived, | 79 base::Bind(&PowerManagerClientImpl::BrightnessChangedReceived, |
| 76 weak_ptr_factory_.GetWeakPtr()), | 80 weak_ptr_factory_.GetWeakPtr()), |
| 77 base::Bind(&PowerManagerClientImpl::SignalConnected, | 81 base::Bind(&PowerManagerClientImpl::SignalConnected, |
| 78 weak_ptr_factory_.GetWeakPtr())); | 82 weak_ptr_factory_.GetWeakPtr())); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 94 weak_ptr_factory_.GetWeakPtr())); | 98 weak_ptr_factory_.GetWeakPtr())); |
| 95 | 99 |
| 96 power_manager_proxy_->ConnectToSignal( | 100 power_manager_proxy_->ConnectToSignal( |
| 97 power_manager::kPowerManagerInterface, | 101 power_manager::kPowerManagerInterface, |
| 98 power_manager::kButtonEventSignal, | 102 power_manager::kButtonEventSignal, |
| 99 base::Bind(&PowerManagerClientImpl::ButtonEventSignalReceived, | 103 base::Bind(&PowerManagerClientImpl::ButtonEventSignalReceived, |
| 100 weak_ptr_factory_.GetWeakPtr()), | 104 weak_ptr_factory_.GetWeakPtr()), |
| 101 base::Bind(&PowerManagerClientImpl::SignalConnected, | 105 base::Bind(&PowerManagerClientImpl::SignalConnected, |
| 102 weak_ptr_factory_.GetWeakPtr())); | 106 weak_ptr_factory_.GetWeakPtr())); |
| 103 | 107 |
| 104 power_manager_proxy_->ConnectToSignal( | 108 session_manager_proxy_->ConnectToSignal( |
| 105 chromium::kChromiumInterface, | 109 chromium::kChromiumInterface, |
| 106 chromium::kLockScreenSignal, | 110 chromium::kLockScreenSignal, |
| 107 base::Bind(&PowerManagerClientImpl::ScreenLockSignalReceived, | 111 base::Bind(&PowerManagerClientImpl::ScreenLockSignalReceived, |
| 108 weak_ptr_factory_.GetWeakPtr()), | 112 weak_ptr_factory_.GetWeakPtr()), |
| 109 base::Bind(&PowerManagerClientImpl::SignalConnected, | 113 base::Bind(&PowerManagerClientImpl::SignalConnected, |
| 110 weak_ptr_factory_.GetWeakPtr())); | 114 weak_ptr_factory_.GetWeakPtr())); |
| 111 | 115 |
| 112 power_manager_proxy_->ConnectToSignal( | 116 session_manager_proxy_->ConnectToSignal( |
| 113 chromium::kChromiumInterface, | 117 chromium::kChromiumInterface, |
| 114 chromium::kUnlockScreenSignal, | 118 chromium::kUnlockScreenSignal, |
| 115 base::Bind(&PowerManagerClientImpl::ScreenUnlockSignalReceived, | 119 base::Bind(&PowerManagerClientImpl::ScreenUnlockSignalReceived, |
| 116 weak_ptr_factory_.GetWeakPtr()), | 120 weak_ptr_factory_.GetWeakPtr()), |
| 117 base::Bind(&PowerManagerClientImpl::SignalConnected, | 121 base::Bind(&PowerManagerClientImpl::SignalConnected, |
| 118 weak_ptr_factory_.GetWeakPtr())); | 122 weak_ptr_factory_.GetWeakPtr())); |
| 119 power_manager_proxy_->ConnectToSignal( | 123 session_manager_proxy_->ConnectToSignal( |
| 120 chromium::kChromiumInterface, | 124 chromium::kChromiumInterface, |
| 121 chromium::kUnlockScreenFailedSignal, | 125 chromium::kUnlockScreenFailedSignal, |
| 122 base::Bind(&PowerManagerClientImpl::ScreenUnlockFailedSignalReceived, | 126 base::Bind(&PowerManagerClientImpl::ScreenUnlockFailedSignalReceived, |
| 123 weak_ptr_factory_.GetWeakPtr()), | 127 weak_ptr_factory_.GetWeakPtr()), |
| 124 base::Bind(&PowerManagerClientImpl::SignalConnected, | 128 base::Bind(&PowerManagerClientImpl::SignalConnected, |
| 125 weak_ptr_factory_.GetWeakPtr())); | 129 weak_ptr_factory_.GetWeakPtr())); |
| 126 | 130 |
| 127 power_manager_proxy_->ConnectToSignal( | 131 power_manager_proxy_->ConnectToSignal( |
| 128 power_manager::kPowerManagerInterface, | 132 power_manager::kPowerManagerInterface, |
| 129 power_manager::kIdleNotifySignal, | 133 power_manager::kIdleNotifySignal, |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 return; | 403 return; |
| 400 } | 404 } |
| 401 DCHECK_EQ(threshold, 0); | 405 DCHECK_EQ(threshold, 0); |
| 402 | 406 |
| 403 VLOG(1) << "Active Notify."; | 407 VLOG(1) << "Active Notify."; |
| 404 FOR_EACH_OBSERVER(Observer, observers_, ActiveNotify()); | 408 FOR_EACH_OBSERVER(Observer, observers_, ActiveNotify()); |
| 405 } | 409 } |
| 406 | 410 |
| 407 | 411 |
| 408 dbus::ObjectProxy* power_manager_proxy_; | 412 dbus::ObjectProxy* power_manager_proxy_; |
| 413 dbus::ObjectProxy* session_manager_proxy_; |
| 409 ObserverList<Observer> observers_; | 414 ObserverList<Observer> observers_; |
| 410 base::WeakPtrFactory<PowerManagerClientImpl> weak_ptr_factory_; | 415 base::WeakPtrFactory<PowerManagerClientImpl> weak_ptr_factory_; |
| 411 | 416 |
| 412 DISALLOW_COPY_AND_ASSIGN(PowerManagerClientImpl); | 417 DISALLOW_COPY_AND_ASSIGN(PowerManagerClientImpl); |
| 413 }; | 418 }; |
| 414 | 419 |
| 415 // The PowerManagerClient implementation used on Linux desktop, | 420 // The PowerManagerClient implementation used on Linux desktop, |
| 416 // which does nothing. | 421 // which does nothing. |
| 417 class PowerManagerClientStubImpl : public PowerManagerClient { | 422 class PowerManagerClientStubImpl : public PowerManagerClient { |
| 418 public: | 423 public: |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 534 | 539 |
| 535 PowerManagerClient* PowerManagerClient::Create(dbus::Bus* bus) { | 540 PowerManagerClient* PowerManagerClient::Create(dbus::Bus* bus) { |
| 536 if (system::runtime_environment::IsRunningOnChromeOS()) { | 541 if (system::runtime_environment::IsRunningOnChromeOS()) { |
| 537 return new PowerManagerClientImpl(bus); | 542 return new PowerManagerClientImpl(bus); |
| 538 } else { | 543 } else { |
| 539 return new PowerManagerClientStubImpl(); | 544 return new PowerManagerClientStubImpl(); |
| 540 } | 545 } |
| 541 } | 546 } |
| 542 | 547 |
| 543 } // namespace chromeos | 548 } // namespace chromeos |
| OLD | NEW |