#ifndef WKIconDatabase_h
#define WKIconDatabase_h
#include <WebKit/WKBase.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*WKIconDatabaseDidChangeIconForPageURLCallback)(WKIconDatabaseRef iconDatabase, WKURLRef pageURL, const void* clientInfo);
typedef void (*WKIconDatabaseDidRemoveAllIconsCallback)(WKIconDatabaseRef iconDatabase, const void* clientInfo);
typedef void (*WKIconDatabaseIconDataReadyForPageURLCallback)(WKIconDatabaseRef iconDatabase, WKURLRef pageURL, const void* clientInfo);
typedef struct WKIconDatabaseClientBase {
int version;
const void * clientInfo;
} WKIconDatabaseClientBase;
typedef struct WKIconDatabaseClientV0 {
WKIconDatabaseClientBase base;
WKIconDatabaseDidChangeIconForPageURLCallback didChangeIconForPageURL;
WKIconDatabaseDidRemoveAllIconsCallback didRemoveAllIcons;
} WKIconDatabaseClientV0;
typedef struct WKIconDatabaseClientV1 {
WKIconDatabaseClientBase base;
WKIconDatabaseDidChangeIconForPageURLCallback didChangeIconForPageURL;
WKIconDatabaseDidRemoveAllIconsCallback didRemoveAllIcons;
WKIconDatabaseIconDataReadyForPageURLCallback iconDataReadyForPageURL;
} WKIconDatabaseClientV1;
WK_EXPORT WKTypeID WKIconDatabaseGetTypeID();
WK_EXPORT void WKIconDatabaseSetIconDatabaseClient(WKIconDatabaseRef iconDatabase, const WKIconDatabaseClientBase* client);
WK_EXPORT void WKIconDatabaseRetainIconForURL(WKIconDatabaseRef iconDatabase, WKURLRef pageURL);
WK_EXPORT void WKIconDatabaseReleaseIconForURL(WKIconDatabaseRef iconDatabase, WKURLRef pageURL);
WK_EXPORT void WKIconDatabaseSetIconDataForIconURL(WKIconDatabaseRef iconDatabase, WKDataRef iconData, WKURLRef iconURL);
WK_EXPORT void WKIconDatabaseSetIconURLForPageURL(WKIconDatabaseRef iconDatabase, WKURLRef iconURL, WKURLRef pageURL);
WK_EXPORT WKURLRef WKIconDatabaseCopyIconURLForPageURL(WKIconDatabaseRef iconDatabase, WKURLRef pageURL);
WK_EXPORT WKDataRef WKIconDatabaseCopyIconDataForPageURL(WKIconDatabaseRef iconDatabase, WKURLRef pageURL);
WK_EXPORT void WKIconDatabaseEnableDatabaseCleanup(WKIconDatabaseRef iconDatabase);
WK_EXPORT void WKIconDatabaseRemoveAllIcons(WKIconDatabaseRef iconDatabase);
WK_EXPORT void WKIconDatabaseCheckIntegrityBeforeOpening(WKIconDatabaseRef iconDatabase);
WK_EXPORT void WKIconDatabaseClose(WKIconDatabaseRef iconDatabase);
#ifdef __cplusplus
}
#endif
#endif