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 BatteryStatus_h
6#define BatteryStatus_h
7
8#include "platform/heap/Handle.h"
9#include "wtf/Forward.h"
10#include "wtf/RefCounted.h"
11
12namespace blink {
13
14class BatteryStatus FINAL : public GarbageCollected<BatteryStatus> {
15public:
16    static BatteryStatus* create();
17    static BatteryStatus* create(bool charging, double chargingTime, double dischargingTime, double level);
18
19    bool charging() const { return m_charging; }
20    double chargingTime() const  { return m_chargingTime; }
21    double dischargingTime() const  { return m_dischargingTime; }
22    double level() const  { return m_level; }
23
24    void trace(Visitor*) { }
25
26private:
27    BatteryStatus();
28    BatteryStatus(bool charging, double chargingTime, double dischargingTime, double level);
29
30    bool m_charging;
31    double m_chargingTime;
32    double m_dischargingTime;
33    double m_level;
34};
35
36} // namespace blink
37
38#endif // BatteryStatus_h
39