#ifndef WKCookieManager_h
#define WKCookieManager_h
#include <WebKit/WKBase.h>
#ifdef __cplusplus
extern "C" {
#endif
enum {
kWKHTTPCookieAcceptPolicyAlways = 0,
kWKHTTPCookieAcceptPolicyNever = 1,
kWKHTTPCookieAcceptPolicyOnlyFromMainDocumentDomain = 2,
kWKHTTPCookieAcceptPolicyExclusivelyFromMainDocumentDomain = 3
};
typedef uint32_t WKHTTPCookieAcceptPolicy;
typedef void (*WKCookieManagerCookiesDidChangeCallback)(WKCookieManagerRef cookieManager, const void *clientInfo);
typedef struct WKCookieManagerClientBase {
int version;
const void * clientInfo;
} WKCookieManagerClientBase;
typedef struct WKCookieManagerClientV0 {
WKCookieManagerClientBase base;
WKCookieManagerCookiesDidChangeCallback cookiesDidChange;
} WKCookieManagerClientV0;
WK_EXPORT WKTypeID WKCookieManagerGetTypeID();
WK_EXPORT void WKCookieManagerSetClient(WKCookieManagerRef cookieManager, const WKCookieManagerClientBase* client);
typedef void (*WKCookieManagerGetCookieHostnamesFunction)(WKArrayRef, WKErrorRef, void*);
WK_EXPORT void WKCookieManagerGetHostnamesWithCookies(WKCookieManagerRef cookieManager, void* context, WKCookieManagerGetCookieHostnamesFunction function);
WK_EXPORT void WKCookieManagerDeleteCookiesForHostname(WKCookieManagerRef cookieManager, WKStringRef hostname);
WK_EXPORT void WKCookieManagerDeleteAllCookies(WKCookieManagerRef cookieManager);
WK_EXPORT void WKCookieManagerDeleteAllCookiesModifiedAfterDate(WKCookieManagerRef cookieManager, double);
typedef void (*WKCookieManagerSetHTTPCookieAcceptPolicyFunction)(WKErrorRef, void*);
WK_EXPORT void WKCookieManagerSetHTTPCookieAcceptPolicy(WKCookieManagerRef cookieManager, WKHTTPCookieAcceptPolicy policy, void* context, WKCookieManagerSetHTTPCookieAcceptPolicyFunction callback);
typedef void (*WKCookieManagerGetHTTPCookieAcceptPolicyFunction)(WKHTTPCookieAcceptPolicy, WKErrorRef, void*);
WK_EXPORT void WKCookieManagerGetHTTPCookieAcceptPolicy(WKCookieManagerRef cookieManager, void* context, WKCookieManagerGetHTTPCookieAcceptPolicyFunction callback);
WK_EXPORT void WKCookieManagerSetStorageAccessAPIEnabled(WKCookieManagerRef cookieManager, bool enabled);
WK_EXPORT void WKCookieManagerStartObservingCookieChanges(WKCookieManagerRef cookieManager);
WK_EXPORT void WKCookieManagerStopObservingCookieChanges(WKCookieManagerRef cookieManager);
#ifdef __cplusplus
}
#endif
#endif // WKCookieManager_h