#ifndef WKBundle_h
#define WKBundle_h
#include <JavaScriptCore/JavaScript.h>
#include <WebKit2/WKBase.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*WKBundleDidCreatePageCallback)(WKBundleRef bundle, WKBundlePageRef page, const void* clientInfo);
typedef void (*WKBundleWillDestroyPageCallback)(WKBundleRef bundle, WKBundlePageRef page, const void* clientInfo);
typedef void (*WKBundleDidInitializePageGroupCallback)(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, const void* clientInfo);
typedef void (*WKBundleDidReceiveMessageCallback)(WKBundleRef bundle, WKStringRef name, WKTypeRef messageBody, const void* clientInfo);
struct WKBundleClient {
int version;
const void * clientInfo;
WKBundleDidCreatePageCallback didCreatePage;
WKBundleWillDestroyPageCallback willDestroyPage;
WKBundleDidInitializePageGroupCallback didInitializePageGroup;
WKBundleDidReceiveMessageCallback didReceiveMessage;
};
typedef struct WKBundleClient WKBundleClient;
enum { kWKBundleClientCurrentVersion = 0 };
WK_EXPORT WKTypeID WKBundleGetTypeID();
WK_EXPORT void WKBundleSetClient(WKBundleRef bundle, WKBundleClient * client);
WK_EXPORT void WKBundlePostMessage(WKBundleRef bundle, WKStringRef messageName, WKTypeRef messageBody);
WK_EXPORT void WKBundlePostSynchronousMessage(WKBundleRef bundle, WKStringRef messageName, WKTypeRef messageBody, WKTypeRef* returnData);
WK_EXPORT WKConnectionRef WKBundleGetApplicationConnection(WKBundleRef bundle);
WK_EXPORT void WKBundleReportException(JSContextRef, JSValueRef exception);
#ifdef __cplusplus
}
#endif
#endif