WebBatteryManagerProxy.h [plain text]
#ifndef WebBatteryManagerProxy_h
#define WebBatteryManagerProxy_h
#if ENABLE(BATTERY_STATUS)
#include "APIObject.h"
#include "MessageReceiver.h"
#include "WebBatteryProvider.h"
#include "WebContextSupplement.h"
#include <wtf/Forward.h>
namespace WebKit {
class WebContext;
class WebBatteryStatus;
class WebBatteryManagerProxy : public TypedAPIObject<APIObject::TypeBatteryManager>, public WebContextSupplement, private CoreIPC::MessageReceiver {
public:
static const char* supplementName();
static PassRefPtr<WebBatteryManagerProxy> create(WebContext*);
virtual ~WebBatteryManagerProxy();
void initializeProvider(const WKBatteryProvider*);
void providerDidChangeBatteryStatus(const WTF::AtomicString&, WebBatteryStatus*);
void providerUpdateBatteryStatus(WebBatteryStatus*);
using APIObject::ref;
using APIObject::deref;
private:
explicit WebBatteryManagerProxy(WebContext*);
virtual void contextDestroyed() OVERRIDE;
virtual void processDidClose(WebProcessProxy*) OVERRIDE;
virtual void refWebContextSupplement() OVERRIDE;
virtual void derefWebContextSupplement() OVERRIDE;
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) OVERRIDE;
void startUpdating();
void stopUpdating();
bool m_isUpdating;
WebBatteryProvider m_provider;
};
}
#endif // ENABLE(BATTERY_STATUS)
#endif // WebBatteryManagerProxy_h