BatteryController.h [plain text]
#ifndef BatteryController_h
#define BatteryController_h
#if ENABLE(BATTERY_STATUS)
#include "BatteryManager.h"
#include "Page.h"
namespace WebCore {
class BatteryClient;
class BatteryController : public Supplement<Page> {
public:
explicit BatteryController(BatteryClient*);
~BatteryController();
void addListener(BatteryManager*);
void removeListener(BatteryManager*);
void updateBatteryStatus(PassRefPtr<BatteryStatus>);
void didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<BatteryStatus>);
static const char* supplementName();
static BatteryController* from(Page* page) { return static_cast<BatteryController*>(Supplement<Page>::from(page, supplementName())); }
private:
typedef Vector<BatteryManager*> ListenerVector;
BatteryClient* m_client;
ListenerVector m_listeners;
RefPtr<BatteryStatus> m_batteryStatus;
};
}
#endif // BATTERY_STATUS
#endif // BatteryController_h