| Index: base/system_monitor/system_monitor.cc
|
| diff --git a/base/system_monitor/system_monitor.cc b/base/system_monitor/system_monitor.cc
|
| index 5131fbf124c7689aeecba0783c727e9b5db89664..ed6a1c76b62687996a90f3b65e8dfc4536a5382f 100644
|
| --- a/base/system_monitor/system_monitor.cc
|
| +++ b/base/system_monitor/system_monitor.cc
|
| @@ -19,7 +19,9 @@ static int kDelayedBatteryCheckMs = 10 * 1000;
|
| #endif // defined(ENABLE_BATTERY_MONITORING)
|
|
|
| SystemMonitor::SystemMonitor()
|
| - : observer_list_(new ObserverListThreadSafe<PowerObserver>()),
|
| + : power_observer_list_(new ObserverListThreadSafe<PowerObserver>()),
|
| + device_change_observer_list_(
|
| + new ObserverListThreadSafe<DeviceChangeObserver>()),
|
| battery_in_use_(false),
|
| suspended_(false) {
|
| DCHECK(!g_system_monitor);
|
| @@ -77,28 +79,46 @@ void SystemMonitor::ProcessPowerMessage(PowerEvent event_id) {
|
| }
|
| }
|
|
|
| +void SystemMonitor::ProcessDeviceChange() {
|
| + NotifyDeviceChange();
|
| +}
|
| +
|
| void SystemMonitor::AddObserver(PowerObserver* obs) {
|
| - observer_list_->AddObserver(obs);
|
| + power_observer_list_->AddObserver(obs);
|
| }
|
|
|
| void SystemMonitor::RemoveObserver(PowerObserver* obs) {
|
| - observer_list_->RemoveObserver(obs);
|
| + power_observer_list_->RemoveObserver(obs);
|
| +}
|
| +
|
| +void SystemMonitor::AddObserver(DeviceChangeObserver* obs) {
|
| + device_change_observer_list_->AddObserver(obs);
|
| +}
|
| +
|
| +void SystemMonitor::RemoveObserver(DeviceChangeObserver* obs) {
|
| + device_change_observer_list_->RemoveObserver(obs);
|
| +}
|
| +
|
| +void SystemMonitor::NotifyDeviceChange() {
|
| + DVLOG(1) << "DeviceChange";
|
| + device_change_observer_list_->Notify(&DeviceChangeObserver::OnDeviceChange);
|
| }
|
|
|
| void SystemMonitor::NotifyPowerStateChange() {
|
| DVLOG(1) << "PowerStateChange: " << (BatteryPower() ? "On" : "Off")
|
| << " battery";
|
| - observer_list_->Notify(&PowerObserver::OnPowerStateChange, BatteryPower());
|
| + power_observer_list_->Notify(&PowerObserver::OnPowerStateChange,
|
| + BatteryPower());
|
| }
|
|
|
| void SystemMonitor::NotifySuspend() {
|
| DVLOG(1) << "Power Suspending";
|
| - observer_list_->Notify(&PowerObserver::OnSuspend);
|
| + power_observer_list_->Notify(&PowerObserver::OnSuspend);
|
| }
|
|
|
| void SystemMonitor::NotifyResume() {
|
| DVLOG(1) << "Power Resuming";
|
| - observer_list_->Notify(&PowerObserver::OnResume);
|
| + power_observer_list_->Notify(&PowerObserver::OnResume);
|
| }
|
|
|
| void SystemMonitor::BatteryCheck() {
|
|
|