1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "base/power_monitor/power_monitor_device_source.h" 6 7#include "base/time/time.h" 8 9namespace base { 10 11#if defined(ENABLE_BATTERY_MONITORING) 12// The amount of time (in ms) to wait before running the initial 13// battery check. 14static int kDelayedBatteryCheckMs = 10 * 1000; 15#endif // defined(ENABLE_BATTERY_MONITORING) 16 17PowerMonitorDeviceSource::PowerMonitorDeviceSource() { 18 DCHECK(MessageLoop::current()); 19#if defined(ENABLE_BATTERY_MONITORING) 20 delayed_battery_check_.Start(FROM_HERE, 21 base::TimeDelta::FromMilliseconds(kDelayedBatteryCheckMs), this, 22 &PowerMonitorDeviceSource::BatteryCheck); 23#endif // defined(ENABLE_BATTERY_MONITORING) 24#if defined(OS_MACOSX) 25 PlatformInit(); 26#endif 27} 28 29PowerMonitorDeviceSource::~PowerMonitorDeviceSource() { 30#if defined(OS_MACOSX) 31 PlatformDestroy(); 32#endif 33} 34 35void PowerMonitorDeviceSource::BatteryCheck() { 36 ProcessPowerEvent(PowerMonitorSource::POWER_STATE_EVENT); 37} 38 39} // namespace base 40