• 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 #ifndef BatteryDispatcher_h
6 #define BatteryDispatcher_h
7 
8 #include "core/frame/DeviceEventDispatcherBase.h"
9 #include "modules/battery/BatteryManager.h"
10 #include "modules/battery/BatteryStatus.h"
11 #include "public/platform/WebBatteryStatusListener.h"
12 
13 namespace blink {
14 class WebBatteryStatus;
15 }
16 
17 namespace WebCore {
18 
19 class BatteryDispatcher FINAL : public DeviceEventDispatcherBase, public blink::WebBatteryStatusListener {
20 public:
21     static BatteryDispatcher& instance();
22     virtual ~BatteryDispatcher();
23 
24     BatteryStatus* latestData();
25 
26     // Inherited from blink::WebBatteryStatusListener.
27     virtual void updateBatteryStatus(const blink::WebBatteryStatus&) OVERRIDE;
28 
29 private:
30     BatteryDispatcher();
31 
32     // Inherited from DeviceEventDispatcherBase.
33     virtual void startListening() OVERRIDE;
34     virtual void stopListening() OVERRIDE;
35 
36     RefPtrWillBePersistent<BatteryStatus> m_batteryStatus;
37 };
38 
39 }
40 
41 #endif // BatteryDispatcher_h
42