Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / Source / modules / battery / BatteryDispatcher.h
blob40c3fcfb2ebf307d45372439b08f9c12e018c191
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.
5 #ifndef BatteryDispatcher_h
6 #define BatteryDispatcher_h
8 #include "core/frame/PlatformEventDispatcher.h"
9 #include "modules/battery/BatteryManager.h"
10 #include "modules/battery/BatteryStatus.h"
11 #include "public/platform/WebBatteryStatusListener.h"
13 namespace blink {
15 class WebBatteryStatus;
17 class BatteryDispatcher final : public GarbageCollectedFinalized<BatteryDispatcher>, public PlatformEventDispatcher, public WebBatteryStatusListener {
18 USING_GARBAGE_COLLECTED_MIXIN(BatteryDispatcher);
19 public:
20 static BatteryDispatcher& instance();
21 ~BatteryDispatcher() override;
23 BatteryStatus* latestData();
25 // Inherited from WebBatteryStatusListener.
26 void updateBatteryStatus(const WebBatteryStatus&) override;
28 DECLARE_VIRTUAL_TRACE();
30 private:
31 BatteryDispatcher();
33 // Inherited from PlatformEventDispatcher.
34 void startListening() override;
35 void stopListening() override;
37 Member<BatteryStatus> m_batteryStatus;
40 } // namespace blink
42 #endif // BatteryDispatcher_h