Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / device / battery / battery_monitor_impl.h
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 "base/memory/scoped_ptr.h"
6 #include "device/battery/battery_export.h"
7 #include "device/battery/battery_monitor.mojom.h"
8 #include "device/battery/battery_status_service.h"
9
10 #ifndef DEVICE_BATTERY_BATTERY_MONITOR_IMPL_H_
11 #define DEVICE_BATTERY_BATTERY_MONITOR_IMPL_H_
12
13 namespace device {
14
15 class BatteryMonitorImpl : public mojo::InterfaceImpl<BatteryMonitor> {
16  public:
17   DEVICE_BATTERY_EXPORT static void Create(
18       mojo::InterfaceRequest<BatteryMonitor> request);
19
20  private:
21   BatteryMonitorImpl();
22   ~BatteryMonitorImpl() override;
23
24   // mojo::InterfaceImpl<..> methods:
25   void OnConnectionEstablished() override;
26
27   void DidChange(const BatteryStatus& battery_status);
28
29   scoped_ptr<BatteryStatusService::BatteryUpdateSubscription> subscription_;
30 };
31
32 }  // namespace device
33
34 #endif  // DEVICE_BATTERY_BATTERY_MONITOR_IMPL_H_