ewk_cookie_manager_private.h [plain text]
#ifndef ewk_cookie_manager_private_h
#define ewk_cookie_manager_private_h
#include "WKCookieManager.h"
#include "WKCookieManagerSoup.h"
#include "WKRetainPtr.h"
#include "ewk_cookie_manager.h"
#include <WebKit/WKBase.h>
struct Cookie_Change_Handler {
Ewk_Cookie_Manager_Changes_Watch_Cb callback;
void* userData;
Cookie_Change_Handler()
: callback(0)
, userData(0)
{ }
Cookie_Change_Handler(Ewk_Cookie_Manager_Changes_Watch_Cb _callback, void* _userData)
: callback(_callback)
, userData(_userData)
{ }
};
class EwkCookieManager {
public:
explicit EwkCookieManager(WKCookieManagerRef cookieManager);
~EwkCookieManager();
void setPersistentStorage(const char* filename, WKCookieStorageType);
void getHTTPAcceptPolicy(WKCookieManagerGetHTTPCookieAcceptPolicyFunction callback, void* userData) const;
void setHTTPAcceptPolicy(WKHTTPCookieAcceptPolicy policy);
void clearHostnameCookies(const char* hostname);
void clearAllCookies();
void getHostNamesWithCookies(WKCookieManagerGetCookieHostnamesFunction callback, void* userData) const;
void watchChanges(const Cookie_Change_Handler& changeHandler);
private:
bool isWatchingForChanges() const;
static void cookiesDidChange(WKCookieManagerRef, const void* clientInfo);
WKRetainPtr<WKCookieManagerRef> m_cookieManager;
Cookie_Change_Handler m_changeHandler;
};
#endif // ewk_cookie_manager_private_h