Index: base/system_monitor/system_monitor.h |
diff --git a/base/system_monitor/system_monitor.h b/base/system_monitor/system_monitor.h |
index c7799945fa53be685f26a999061f5847647cf4f0..7684523616e0bd787e3a30f5ded9c40e1f7b5371 100644 |
--- a/base/system_monitor/system_monitor.h |
+++ b/base/system_monitor/system_monitor.h |
@@ -90,15 +90,26 @@ class BASE_EXPORT SystemMonitor { |
virtual ~PowerObserver() {} |
}; |
+ class BASE_EXPORT DevicesChangedObserver { |
+ public: |
+ // Notification that the devices connected to the system have changed. |
+ virtual void OnDevicesChanged() {} |
+ |
+ protected: |
+ virtual ~DevicesChangedObserver() {} |
+ }; |
+ |
// Add a new observer. |
// Can be called from any thread. |
// Must not be called from within a notification callback. |
- void AddObserver(PowerObserver* obs); |
+ void AddPowerObserver(PowerObserver* obs); |
+ void AddDevicesChangedObserver(DevicesChangedObserver* obs); |
// Remove an existing observer. |
// Can be called from any thread. |
// Must not be called from within a notification callback. |
- void RemoveObserver(PowerObserver* obs); |
+ void RemovePowerObserver(PowerObserver* obs); |
+ void RemoveDevicesChangedObserver(DevicesChangedObserver* obs); |
#if defined(OS_WIN) |
// Windows-specific handling of a WM_POWERBROADCAST message. |
@@ -110,6 +121,9 @@ class BASE_EXPORT SystemMonitor { |
// Cross-platform handling of a power event. |
void ProcessPowerMessage(PowerEvent event_id); |
+ // Cross-platform handling of a device change event. |
+ void ProcessDevicesChanged(); |
+ |
private: |
#if defined(OS_MACOSX) |
void PlatformInit(); |
@@ -126,11 +140,14 @@ class BASE_EXPORT SystemMonitor { |
void BatteryCheck(); |
// Functions to trigger notifications. |
+ void NotifyDevicesChanged(); |
void NotifyPowerStateChange(); |
void NotifySuspend(); |
void NotifyResume(); |
- scoped_refptr<ObserverListThreadSafe<PowerObserver> > observer_list_; |
+ scoped_refptr<ObserverListThreadSafe<PowerObserver> > power_observer_list_; |
+ scoped_refptr<ObserverListThreadSafe<DevicesChangedObserver> > |
+ devices_changed_observer_list_; |
bool battery_in_use_; |
bool suspended_; |