Skip to content

Commit

Permalink
[WK2] Add C API for Battery Status API
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=90545

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-07-05
Reviewed by Anders Carlsson.

Add C API for WKBatteryManager and WKBatteryStatus
so that clients can support the Battery Status API
in WebKit2.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/API/C/WKBatteryManager.cpp:
(WKBatteryManagerProviderDidChangeBatteryStatus):
(WKBatteryManagerProviderUpdateBatteryStatus):
* UIProcess/API/C/WKBatteryStatus.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
(WKBatteryStatusGetTypeID):
(WKBatteryStatusCreate):
* UIProcess/API/C/WKBatteryStatus.h: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.

Canonical link: https://commits.webkit.org/108477@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@121919 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
cdumez authored and webkit-commit-queue committed Jul 5, 2012
1 parent 873c051 commit 78db4d9
Show file tree
Hide file tree
Showing 8 changed files with 153 additions and 0 deletions.
1 change: 1 addition & 0 deletions Source/WebKit2/CMakeLists.txt
Expand Up @@ -269,6 +269,7 @@ SET(WebKit2_SOURCES
UIProcess/API/C/WKBackForwardList.cpp
UIProcess/API/C/WKBackForwardListItem.cpp
UIProcess/API/C/WKBatteryManager.cpp
UIProcess/API/C/WKBatteryStatus.cpp
UIProcess/API/C/WKContext.cpp
UIProcess/API/C/WKCookieManager.cpp
UIProcess/API/C/WKCredential.cpp
Expand Down
22 changes: 22 additions & 0 deletions Source/WebKit2/ChangeLog
@@ -1,3 +1,25 @@
2012-07-05 Christophe Dumez <christophe.dumez@intel.com>

[WK2] Add C API for Battery Status API
https://bugs.webkit.org/show_bug.cgi?id=90545

Reviewed by Anders Carlsson.

Add C API for WKBatteryManager and WKBatteryStatus
so that clients can support the Battery Status API
in WebKit2.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* UIProcess/API/C/WKBatteryManager.cpp:
(WKBatteryManagerProviderDidChangeBatteryStatus):
(WKBatteryManagerProviderUpdateBatteryStatus):
* UIProcess/API/C/WKBatteryStatus.cpp: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.
(WKBatteryStatusGetTypeID):
(WKBatteryStatusCreate):
* UIProcess/API/C/WKBatteryStatus.h: Copied from Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp.

2012-07-05 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r121899.
Expand Down
3 changes: 3 additions & 0 deletions Source/WebKit2/GNUmakefile.list.am
Expand Up @@ -48,6 +48,7 @@ webkit2_h_api += \
$(WebKit2)/UIProcess/API/C/WKBackForwardList.h \
$(WebKit2)/UIProcess/API/C/WKBackForwardListItem.h \
$(WebKit2)/UIProcess/API/C/WKBatteryManager.h \
$(WebKit2)/UIProcess/API/C/WKBatteryStatus.h \
$(WebKit2)/UIProcess/API/C/WKContext.h \
$(WebKit2)/UIProcess/API/C/WKContextPrivate.h \
$(WebKit2)/UIProcess/API/C/WKCookieManager.h \
Expand Down Expand Up @@ -514,6 +515,8 @@ webkit2_sources += \
Source/WebKit2/UIProcess/API/C/WKBackForwardListItem.h \
Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp \
Source/WebKit2/UIProcess/API/C/WKBatteryManager.h \
Source/WebKit2/UIProcess/API/C/WKBatteryStatus.cpp \
Source/WebKit2/UIProcess/API/C/WKBatteryStatus.h \
Source/WebKit2/UIProcess/API/C/WKContext.cpp \
Source/WebKit2/UIProcess/API/C/WKContext.h \
Source/WebKit2/UIProcess/API/C/WKContextPrivate.h \
Expand Down
2 changes: 2 additions & 0 deletions Source/WebKit2/Target.pri
Expand Up @@ -147,6 +147,7 @@ HEADERS += \
UIProcess/API/C/WKBackForwardList.h \
UIProcess/API/C/WKBackForwardListItem.h \
UIProcess/API/C/WKBatteryManager.h \
UIProcess/API/C/WKBatteryStatus.h \
UIProcess/API/C/WKContext.h \
UIProcess/API/C/WKContextPrivate.h \
UIProcess/API/C/WKCredential.h \
Expand Down Expand Up @@ -517,6 +518,7 @@ SOURCES += \
UIProcess/API/C/WKBackForwardList.cpp \
UIProcess/API/C/WKBackForwardListItem.cpp \
UIProcess/API/C/WKBatteryManager.cpp \
UIProcess/API/C/WKBatteryStatus.cpp \
UIProcess/API/C/WKContext.cpp \
UIProcess/API/C/WKCredential.cpp \
UIProcess/API/C/WKDatabaseManager.cpp \
Expand Down
22 changes: 22 additions & 0 deletions Source/WebKit2/UIProcess/API/C/WKBatteryManager.cpp
Expand Up @@ -27,6 +27,7 @@
#include "WKBatteryManager.h"

#include "WKAPICast.h"
#include <wtf/text/AtomicString.h>

#if ENABLE(BATTERY_STATUS)
#include "WebBatteryManagerProxy.h"
Expand All @@ -42,3 +43,24 @@ WKTypeID WKBatteryManagerGetTypeID()
return 0;
#endif
}

void WKBatteryManagerSetProvider(WKBatteryManagerRef batteryManager, const WKBatteryProvider* provider)
{
#if ENABLE(BATTERY_STATUS)
toImpl(batteryManager)->initializeProvider(provider);
#endif
}

void WKBatteryManagerProviderDidChangeBatteryStatus(WKBatteryManagerRef batteryManager, WKStringRef eventType, WKBatteryStatusRef status)
{
#if ENABLE(BATTERY_STATUS)
toImpl(batteryManager)->providerDidChangeBatteryStatus(AtomicString(toImpl(eventType)->string()), toImpl(status));
#endif
}

void WKBatteryManagerProviderUpdateBatteryStatus(WKBatteryManagerRef batteryManager, WKBatteryStatusRef status)
{
#if ENABLE(BATTERY_STATUS)
toImpl(batteryManager)->providerUpdateBatteryStatus(toImpl(status));
#endif
}
5 changes: 5 additions & 0 deletions Source/WebKit2/UIProcess/API/C/WKBatteryManager.h
Expand Up @@ -48,6 +48,11 @@ enum { kWKBatteryProviderCurrentVersion = 0 };

WK_EXPORT WKTypeID WKBatteryManagerGetTypeID();

WK_EXPORT void WKBatteryManagerSetProvider(WKBatteryManagerRef batteryManager, const WKBatteryProvider* provider);

WK_EXPORT void WKBatteryManagerProviderDidChangeBatteryStatus(WKBatteryManagerRef batteryManager, WKStringRef eventType, WKBatteryStatusRef status);
WK_EXPORT void WKBatteryManagerProviderUpdateBatteryStatus(WKBatteryManagerRef batteryManager, WKBatteryStatusRef status);

#ifdef __cplusplus
}
#endif
Expand Down
55 changes: 55 additions & 0 deletions Source/WebKit2/UIProcess/API/C/WKBatteryStatus.cpp
@@ -0,0 +1,55 @@
/*
* Copyright (C) 2012 Intel Corporation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/

#include "config.h"
#include "WKBatteryStatus.h"

#include "WKAPICast.h"

#if ENABLE(BATTERY_STATUS)
#include "WebBatteryStatus.h"
#endif

using namespace WebKit;

WKTypeID WKBatteryStatusGetTypeID()
{
#if ENABLE(BATTERY_STATUS)
return toAPI(WebBatteryStatus::APIType);
#else
return 0;
#endif
}

WKBatteryStatusRef WKBatteryStatusCreate(bool isCharging, double chargingTime, double dischargingTime, double level)
{
#if ENABLE(BATTERY_STATUS)
RefPtr<WebBatteryStatus> status = WebBatteryStatus::create(isCharging, chargingTime, dischargingTime, level);
return toAPI(status.release().leakRef());
#else
return 0;
#endif
}

43 changes: 43 additions & 0 deletions Source/WebKit2/UIProcess/API/C/WKBatteryStatus.h
@@ -0,0 +1,43 @@
/*
* Copyright (C) 2012 Intel Corporation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/

#ifndef WKBatteryStatus_h
#define WKBatteryStatus_h

#include <WebKit2/WKBase.h>

#ifdef __cplusplus
extern "C" {
#endif

WK_EXPORT WKTypeID WKBatteryStatusGetTypeID();

WK_EXPORT WKBatteryStatusRef WKBatteryStatusCreate(bool isCharging, double chargingTime, double dischargingTime, double level);

#ifdef __cplusplus
}
#endif

#endif // WKBatteryStatus_h

0 comments on commit 78db4d9

Please sign in to comment.