| // Copyright 2014 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 "config.h" |
| #include "modules/battery/BatteryDispatcher.h" |
| |
| #include "modules/battery/BatteryStatus.h" |
| #include "platform/NotImplemented.h" |
| #include "public/platform/Platform.h" |
| |
| namespace WebCore { |
| |
| BatteryDispatcher& BatteryDispatcher::instance() |
| { |
| DEFINE_STATIC_LOCAL(BatteryDispatcher, batteryDispatcher, ()); |
| return batteryDispatcher; |
| } |
| |
| BatteryDispatcher::BatteryDispatcher() |
| { |
| } |
| |
| BatteryDispatcher::~BatteryDispatcher() |
| { |
| } |
| |
| void BatteryDispatcher::updateBatteryStatus(const blink::WebBatteryStatus& batteryStatus) |
| { |
| m_batteryStatus = BatteryStatus::create(batteryStatus.charging, batteryStatus.chargingTime, batteryStatus.dischargingTime, batteryStatus.level); |
| notifyControllers(); |
| } |
| |
| BatteryStatus* BatteryDispatcher::latestData() |
| { |
| return m_batteryStatus.get(); |
| } |
| |
| void BatteryDispatcher::startListening() |
| { |
| blink::Platform::current()->setBatteryStatusListener(this); |
| } |
| |
| void BatteryDispatcher::stopListening() |
| { |
| blink::Platform::current()->setBatteryStatusListener(0); |
| m_batteryStatus.clear(); |
| } |
| |
| } |