Index: Source/modules/battery/BatteryDispatcher.h |
diff --git a/Source/modules/battery/BatteryDispatcher.h b/Source/modules/battery/BatteryDispatcher.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..02aaf6769304f75988a72f66ce62ee956990c91a |
--- /dev/null |
+++ b/Source/modules/battery/BatteryDispatcher.h |
@@ -0,0 +1,43 @@ |
+// 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. |
+ |
+#ifndef BatteryDispatcher_h |
+#define BatteryDispatcher_h |
+ |
+#include "core/frame/DeviceSensorEventDispatcher.h" |
+#include "modules/battery/BatteryManager.h" |
+#include "modules/battery/BatteryStatus.h" |
+#include "public/platform/WebBatteryListener.h" |
+ |
+namespace blink { |
+class WebBatteryStatus; |
+} |
+ |
+namespace WebCore { |
+ |
+class BatteryDispatcher FINAL : public DeviceSensorEventDispatcher, public blink::WebBatteryListener { |
+public: |
+ static BatteryDispatcher& instance(); |
+ virtual ~BatteryDispatcher(); |
+ |
+ void addClient(BatteryManager*); |
+ void removeClient(BatteryManager*); |
+ |
+ const BatteryStatus* getLatestData(); |
+ virtual void updateBatteryStatus(const blink::WebBatteryStatus&) OVERRIDE; |
+ |
+private: |
+ BatteryDispatcher(); |
+ |
+ void didChangeBatteryStatus(const AtomicString& eventType); |
+ |
+ virtual void startListening() OVERRIDE; |
+ virtual void stopListening() OVERRIDE; |
+ |
+ RefPtr<BatteryStatus> m_batteryStatus; |
+}; |
+ |
+} |
+ |
+#endif // BatteryDispatcher_h |