1d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// found in the LICENSE file. 4d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 5d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#ifndef BatteryStatus_h 6d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#define BatteryStatus_h 7d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 876c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles)#include "platform/heap/Handle.h" 9197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch#include "wtf/Forward.h" 10d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#include "wtf/RefCounted.h" 11d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 12c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 13d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 149e12abdf8c3a23d52091ea54ebb6a04d327f9300Torne (Richard Coles)class BatteryStatus FINAL : public GarbageCollected<BatteryStatus> { 15d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)public: 169e12abdf8c3a23d52091ea54ebb6a04d327f9300Torne (Richard Coles) static BatteryStatus* create(); 179e12abdf8c3a23d52091ea54ebb6a04d327f9300Torne (Richard Coles) static BatteryStatus* create(bool charging, double chargingTime, double dischargingTime, double level); 18d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 19d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) bool charging() const { return m_charging; } 20d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) double chargingTime() const { return m_chargingTime; } 21d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) double dischargingTime() const { return m_dischargingTime; } 22d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) double level() const { return m_level; } 23d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 2476c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) void trace(Visitor*) { } 2576c265b59aa821ccbf8c75ab2bb0d036e97d2956Torne (Richard Coles) 26d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)private: 27d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BatteryStatus(); 28d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) BatteryStatus(bool charging, double chargingTime, double dischargingTime, double level); 29d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 30d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) bool m_charging; 31d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) double m_chargingTime; 32d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) double m_dischargingTime; 33d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) double m_level; 34d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)}; 35d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 36c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 37d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles) 38d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#endif // BatteryStatus_h 39