Files
UnrealEngineUWP/Engine/Source/Runtime/WebBrowser/Private/IOS/IOSCookieManager.cpp
ryan durand 0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00

58 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "IOSCookieManager.h"
#if PLATFORM_IOS
#import <Foundation/Foundation.h>
#include "IOS/IOSAsyncTask.h"
FIOSCookieManager::FIOSCookieManager()
{
}
FIOSCookieManager::~FIOSCookieManager()
{
}
void FIOSCookieManager::SetCookie(const FString& URL, const FCookie& Cookie, TFunction<void(bool)> Completed)
{
// not implemented
if (Completed)
{
Completed(false);
}
}
void FIOSCookieManager::DeleteCookies(const FString& URL, const FString& CookieName, TFunction<void(int)> Completed)
{
dispatch_async(dispatch_get_main_queue(), ^
{
// Delete matching cookies
NSHTTPCookie* Cookie;
NSHTTPCookieStorage* Storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (Cookie in[Storage cookies])
{
FString Domain([Cookie domain]);
FString Path([Cookie path]);
FString CookieUrl = Domain + Path;
if (CookieUrl.Contains(URL) || URL.IsEmpty())
{
[Storage deleteCookie:Cookie];
}
}
// Notify on the game thread
[FIOSAsyncTask CreateTaskWithBlock:^bool(void)
{
if (Completed)
{
Completed(true);
}
return true;
}];
});
}
#endif