#ifndef WebKitDLL_H
#define WebKitDLL_H
#ifndef _HAS_EXCEPTIONS
#define _HAS_EXCEPTIONS 0
#endif
#include <winsock2.h>
#include <windows.h>
#include <wtf/HashCountedSet.h>
#include <wtf/text/StringHash.h>
#include <wtf/text/WTFString.h>
#ifndef WEBKIT_API
#ifdef WEBKIT_EXPORTS
#define WEBKIT_API __declspec(dllexport)
#else
#define WEBKIT_API __declspec(dllimport)
#endif
#endif
#ifdef __cplusplus
extern "C" {
#endif
extern ULONG gLockCount;
extern ULONG gClassCount;
extern HashCountedSet<WTF::String>& gClassNameCount();
extern HINSTANCE gInstance;
extern CLSID gRegCLSIDs[];
WEBKIT_API void shutDownWebKit();
#if defined(DEPRECATED_EXPORT_SYMBOLS)
#include <JavaScriptCore/JSObjectRef.h>
typedef struct OpaqueJSClass* JSClassRef;
typedef const struct OpaqueJSContext* JSContextRef;
typedef const struct OpaqueJSValue* JSValueRef;
typedef struct OpaqueJSString* JSStringRef;
typedef wchar_t JSChar;
typedef unsigned JSPropertyAttributes;
WEBKIT_API JSClassRef JSClassCreate(const JSClassDefinition* definition);
WEBKIT_API void* JSObjectGetPrivate(JSObjectRef);
WEBKIT_API JSObjectRef JSObjectMake(JSContextRef, JSClassRef, void*);
WEBKIT_API void JSObjectSetProperty(JSContextRef, JSObjectRef, JSStringRef propertyName, JSValueRef, JSPropertyAttributes, JSValueRef* exception);
WEBKIT_API JSStringRef JSStringCreateWithCFString(CFStringRef);
WEBKIT_API JSStringRef JSStringCreateWithUTF8CString(const char*);
WEBKIT_API const JSChar* JSStringGetCharactersPtr(JSStringRef);
WEBKIT_API size_t JSStringGetLength(JSStringRef);
WEBKIT_API void JSStringRelease(JSStringRef);
WEBKIT_API bool JSValueIsNumber(JSContextRef, JSValueRef);
WEBKIT_API bool JSValueIsString(JSContextRef, JSValueRef);
WEBKIT_API JSValueRef JSValueMakeString(JSContextRef, JSStringRef);
WEBKIT_API JSValueRef JSValueMakeUndefined(JSContextRef ctx);
WEBKIT_API double JSValueToNumber(JSContextRef, JSValueRef, JSValueRef*);
WEBKIT_API JSStringRef JSValueToStringCopy(JSContextRef, JSValueRef, JSValueRef* exception);
#endif
#ifdef __cplusplus
}
#endif
#endif // WebKitDLL_H