• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 "config.h"
6 #include "modules/battery/BatteryDispatcher.h"
7 
8 #include "modules/battery/BatteryStatus.h"
9 #include "platform/NotImplemented.h"
10 #include "public/platform/Platform.h"
11 
12 namespace WebCore {
13 
instance()14 BatteryDispatcher& BatteryDispatcher::instance()
15 {
16     DEFINE_STATIC_LOCAL(BatteryDispatcher, batteryDispatcher, ());
17     return batteryDispatcher;
18 }
19 
BatteryDispatcher()20 BatteryDispatcher::BatteryDispatcher()
21 {
22 }
23 
~BatteryDispatcher()24 BatteryDispatcher::~BatteryDispatcher()
25 {
26 }
27 
updateBatteryStatus(const blink::WebBatteryStatus & batteryStatus)28 void BatteryDispatcher::updateBatteryStatus(const blink::WebBatteryStatus& batteryStatus)
29 {
30     m_batteryStatus = BatteryStatus::create(batteryStatus.charging, batteryStatus.chargingTime, batteryStatus.dischargingTime, batteryStatus.level);
31     notifyControllers();
32 }
33 
latestData()34 BatteryStatus* BatteryDispatcher::latestData()
35 {
36     return m_batteryStatus.get();
37 }
38 
startListening()39 void BatteryDispatcher::startListening()
40 {
41     blink::Platform::current()->setBatteryStatusListener(this);
42 }
43 
stopListening()44 void BatteryDispatcher::stopListening()
45 {
46     blink::Platform::current()->setBatteryStatusListener(0);
47     m_batteryStatus.clear();
48 }
49 
50 }
51