Index: chrome/browser/chromeos/cros/power_library.cc |
=================================================================== |
--- chrome/browser/chromeos/cros/power_library.cc (revision 42341) |
+++ chrome/browser/chromeos/cros/power_library.cc (working copy) |
@@ -12,80 +12,77 @@ |
// Allows InvokeLater without adding refcounting. This class is a Singleton and |
// won't be deleted until it's last InvokeLater is run. |
template <> |
-struct RunnableMethodTraits<chromeos::PowerLibrary> { |
- void RetainCallee(chromeos::PowerLibrary* obj) {} |
- void ReleaseCallee(chromeos::PowerLibrary* obj) {} |
+struct RunnableMethodTraits<chromeos::PowerLibraryImpl> { |
+ void RetainCallee(chromeos::PowerLibraryImpl* obj) {} |
+ void ReleaseCallee(chromeos::PowerLibraryImpl* obj) {} |
}; |
namespace chromeos { |
-PowerLibrary::PowerLibrary() : status_(chromeos::PowerStatus()) { |
- if (CrosLibrary::EnsureLoaded()) { |
+PowerLibraryImpl::PowerLibraryImpl() |
+ : power_status_connection_(NULL), |
+ status_(chromeos::PowerStatus()) { |
+ if (CrosLibrary::Get()->EnsureLoaded()) { |
Init(); |
} |
} |
-PowerLibrary::~PowerLibrary() { |
- if (CrosLibrary::EnsureLoaded()) { |
+PowerLibraryImpl::~PowerLibraryImpl() { |
+ if (power_status_connection_) { |
chromeos::DisconnectPowerStatus(power_status_connection_); |
} |
} |
-// static |
-PowerLibrary* PowerLibrary::Get() { |
- return Singleton<PowerLibrary>::get(); |
-} |
- |
-void PowerLibrary::AddObserver(Observer* observer) { |
+void PowerLibraryImpl::AddObserver(Observer* observer) { |
observers_.AddObserver(observer); |
} |
-void PowerLibrary::RemoveObserver(Observer* observer) { |
+void PowerLibraryImpl::RemoveObserver(Observer* observer) { |
observers_.RemoveObserver(observer); |
} |
-bool PowerLibrary::line_power_on() const { |
+bool PowerLibraryImpl::line_power_on() const { |
return status_.line_power_on; |
} |
-bool PowerLibrary::battery_is_present() const { |
+bool PowerLibraryImpl::battery_is_present() const { |
return status_.battery_is_present; |
} |
-bool PowerLibrary::battery_fully_charged() const { |
+bool PowerLibraryImpl::battery_fully_charged() const { |
return status_.battery_state == chromeos::BATTERY_STATE_FULLY_CHARGED; |
} |
-double PowerLibrary::battery_percentage() const { |
+double PowerLibraryImpl::battery_percentage() const { |
return status_.battery_percentage; |
} |
-base::TimeDelta PowerLibrary::battery_time_to_empty() const { |
+base::TimeDelta PowerLibraryImpl::battery_time_to_empty() const { |
return base::TimeDelta::FromSeconds(status_.battery_time_to_empty); |
} |
-base::TimeDelta PowerLibrary::battery_time_to_full() const { |
+base::TimeDelta PowerLibraryImpl::battery_time_to_full() const { |
return base::TimeDelta::FromSeconds(status_.battery_time_to_full); |
} |
// static |
-void PowerLibrary::PowerStatusChangedHandler(void* object, |
+void PowerLibraryImpl::PowerStatusChangedHandler(void* object, |
const chromeos::PowerStatus& status) { |
- PowerLibrary* power = static_cast<PowerLibrary*>(object); |
+ PowerLibraryImpl* power = static_cast<PowerLibraryImpl*>(object); |
power->UpdatePowerStatus(status); |
} |
-void PowerLibrary::Init() { |
+void PowerLibraryImpl::Init() { |
power_status_connection_ = chromeos::MonitorPowerStatus( |
&PowerStatusChangedHandler, this); |
} |
-void PowerLibrary::UpdatePowerStatus(const chromeos::PowerStatus& status) { |
+void PowerLibraryImpl::UpdatePowerStatus(const chromeos::PowerStatus& status) { |
// Make sure we run on UI thread. |
if (!ChromeThread::CurrentlyOn(ChromeThread::UI)) { |
ChromeThread::PostTask( |
ChromeThread::UI, FROM_HERE, |
- NewRunnableMethod(this, &PowerLibrary::UpdatePowerStatus, status)); |
+ NewRunnableMethod(this, &PowerLibraryImpl::UpdatePowerStatus, status)); |
return; |
} |