| Index: chrome/browser/chromeos/cros/power_library.h
|
| diff --git a/chrome/browser/chromeos/cros/power_library.h b/chrome/browser/chromeos/cros/power_library.h
|
| index e6ef46d0935746bf0869be3a7bcb9ba4dca79077..20f30acfa59cf6a35f965ebe417206b6df76770b 100644
|
| --- a/chrome/browser/chromeos/cros/power_library.h
|
| +++ b/chrome/browser/chromeos/cros/power_library.h
|
| @@ -9,6 +9,7 @@
|
| // TODO(sque): Move to chrome/browser/chromeos/system, crosbug.com/16558
|
|
|
| #include "base/callback.h"
|
| +#include "chrome/browser/chromeos/dbus/power_manager_client.h"
|
|
|
| namespace base {
|
| class TimeDelta;
|
| @@ -17,6 +18,7 @@ class TimeDelta;
|
| namespace chromeos {
|
|
|
| typedef base::Callback<void(int64_t)> CalculateIdleTimeCallback;
|
| +struct PowerStatus;
|
|
|
| struct PowerSupplyStatus {
|
| bool line_power_on;
|
| @@ -36,12 +38,14 @@ struct PowerSupplyStatus {
|
| battery_seconds_to_empty(0),
|
| battery_seconds_to_full(0),
|
| battery_percentage(0) {}
|
| +
|
| + const std::string& ToString() const;
|
| };
|
|
|
| // This interface defines interaction with the ChromeOS power library APIs.
|
| // Classes can add themselves as observers. Users can get an instance of this
|
| // library class like this: chromeos::CrosLibrary::Get()->GetPowerLibrary()
|
| -class PowerLibrary {
|
| +class PowerLibrary : public PowerManagerClient::Observer {
|
| public:
|
| class Observer {
|
| public:
|
| @@ -75,6 +79,10 @@ class PowerLibrary {
|
| // UI initiated request for status update.
|
| virtual void RequestStatusUpdate() = 0;
|
|
|
| + // Requests power supply info.
|
| + virtual void UpdatePowerStatus(const PowerStatus& status) = 0;
|
| +
|
| +
|
| // Factory function, creates a new instance and returns ownership.
|
| // For normal usage, access the singleton via CrosLibrary::Get().
|
| static PowerLibrary* GetImpl(bool stub);
|
|
|