Index: base/power_monitor/power_monitor.h |
diff --git a/base/power_monitor/power_monitor.h b/base/power_monitor/power_monitor.h |
index 4acb3bf122dba93633a1201631063810ef3e9d5d..d00b7211398e207bbaeaa4a0299fdfe2d1d261cd 100644 |
--- a/base/power_monitor/power_monitor.h |
+++ b/base/power_monitor/power_monitor.h |
@@ -19,27 +19,31 @@ class PowerMonitorSource; |
// the change event. |
class BASE_EXPORT PowerMonitor { |
public: |
- // Takes ownership of |source|. |
- explicit PowerMonitor(scoped_ptr<PowerMonitorSource> source); |
+ static PowerMonitor* Create(scoped_ptr<PowerMonitorSource> source); |
Ken Russell (switch to Gerrit)
2014/02/28 02:02:42
I find the pattern here confusing where PowerMonit
jam
2014/02/28 17:05:18
+1
|
~PowerMonitor(); |
// Get the process-wide PowerMonitor (if not present, returns NULL). |
static PowerMonitor* Get(); |
- // Add and remove an observer. |
- // Can be called from any thread. |
- // Must not be called from within a notification callback. |
- void AddObserver(PowerObserver* observer); |
- void RemoveObserver(PowerObserver* observer); |
+ static bool AddObserverThreadSafe(PowerObserver* observer); |
+ static bool RemoveObserverThreadSafe(PowerObserver* observer); |
// Is the computer currently on battery power. |
bool IsOnBatteryPower(); |
private: |
+ // Takes ownership of |source|. |
+ explicit PowerMonitor(scoped_ptr<PowerMonitorSource> source); |
friend class PowerMonitorSource; |
PowerMonitorSource* Source(); |
+ // Add and remove an observer. |
+ // Can be called from any thread. |
+ // Must not be called from within a notification callback. |
+ void AddObserver(PowerObserver* observer); |
+ void RemoveObserver(PowerObserver* observer); |
+ |
void NotifyPowerStateChange(bool battery_in_use); |
void NotifySuspend(); |
void NotifyResume(); |