diff options
Diffstat (limited to 'base/system_monitor/system_monitor.cc')
-rw-r--r-- | base/system_monitor/system_monitor.cc | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/base/system_monitor/system_monitor.cc b/base/system_monitor/system_monitor.cc deleted file mode 100644 index 7b1349c..0000000 --- a/base/system_monitor/system_monitor.cc +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/system_monitor/system_monitor.h" - -#include "base/logging.h" -#include "base/message_loop.h" -#include "base/time.h" - -namespace base { - -static SystemMonitor* g_system_monitor = NULL; - -#if defined(ENABLE_BATTERY_MONITORING) -// The amount of time (in ms) to wait before running the initial -// battery check. -static int kDelayedBatteryCheckMs = 10 * 1000; -#endif // defined(ENABLE_BATTERY_MONITORING) - -SystemMonitor::SystemMonitor() - : observer_list_(new ObserverListThreadSafe<PowerObserver>()), - battery_in_use_(false), - suspended_(false) { - DCHECK(!g_system_monitor); - g_system_monitor = this; - - DCHECK(MessageLoop::current()); -#if defined(ENABLE_BATTERY_MONITORING) - delayed_battery_check_.Start( - base::TimeDelta::FromMilliseconds(kDelayedBatteryCheckMs), this, - &SystemMonitor::BatteryCheck); -#endif // defined(ENABLE_BATTERY_MONITORING) -#if defined(OS_MACOSX) - PlatformInit(); -#endif -} - -SystemMonitor::~SystemMonitor() { -#if defined(OS_MACOSX) - PlatformDestroy(); -#endif - DCHECK_EQ(this, g_system_monitor); - g_system_monitor = NULL; -} - -// static -SystemMonitor* SystemMonitor::Get() { - return g_system_monitor; -} - -void SystemMonitor::ProcessPowerMessage(PowerEvent event_id) { - // Suppress duplicate notifications. Some platforms may - // send multiple notifications of the same event. - switch (event_id) { - case POWER_STATE_EVENT: - { - bool on_battery = IsBatteryPower(); - if (on_battery != battery_in_use_) { - battery_in_use_ = on_battery; - NotifyPowerStateChange(); - } - } - break; - case RESUME_EVENT: - if (suspended_) { - suspended_ = false; - NotifyResume(); - } - break; - case SUSPEND_EVENT: - if (!suspended_) { - suspended_ = true; - NotifySuspend(); - } - break; - } -} - -void SystemMonitor::AddObserver(PowerObserver* obs) { - observer_list_->AddObserver(obs); -} - -void SystemMonitor::RemoveObserver(PowerObserver* obs) { - observer_list_->RemoveObserver(obs); -} - -void SystemMonitor::NotifyPowerStateChange() { - VLOG(1) << "PowerStateChange: " << (BatteryPower() ? "On" : "Off") - << " battery"; - observer_list_->Notify(&PowerObserver::OnPowerStateChange, BatteryPower()); -} - -void SystemMonitor::NotifySuspend() { - VLOG(1) << "Power Suspending"; - observer_list_->Notify(&PowerObserver::OnSuspend); -} - -void SystemMonitor::NotifyResume() { - VLOG(1) << "Power Resuming"; - observer_list_->Notify(&PowerObserver::OnResume); -} - -void SystemMonitor::BatteryCheck() { - ProcessPowerMessage(SystemMonitor::POWER_STATE_EVENT); -} - -} // namespace base |