Home | History | Annotate | Download | only in battery
      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 blink {
     13 
     14 BatteryDispatcher& BatteryDispatcher::instance()
     15 {
     16     DEFINE_STATIC_LOCAL(BatteryDispatcher, batteryDispatcher, ());
     17     return batteryDispatcher;
     18 }
     19 
     20 BatteryDispatcher::BatteryDispatcher()
     21 {
     22 }
     23 
     24 BatteryDispatcher::~BatteryDispatcher()
     25 {
     26 }
     27 
     28 void BatteryDispatcher::updateBatteryStatus(const WebBatteryStatus& batteryStatus)
     29 {
     30     m_batteryStatus = BatteryStatus::create(batteryStatus.charging, batteryStatus.chargingTime, batteryStatus.dischargingTime, batteryStatus.level);
     31     notifyControllers();
     32 }
     33 
     34 BatteryStatus* BatteryDispatcher::latestData()
     35 {
     36     return m_batteryStatus.get();
     37 }
     38 
     39 void BatteryDispatcher::startListening()
     40 {
     41     Platform::current()->startListening(WebPlatformEventBattery, this);
     42 }
     43 
     44 void BatteryDispatcher::stopListening()
     45 {
     46     Platform::current()->stopListening(WebPlatformEventBattery);
     47     m_batteryStatus.clear();
     48 }
     49 
     50 } // namespace blink
     51