2019-12-26 14:45:42 -05:00
// Copyright Epic Games, Inc. All Rights Reserved.
2019-02-07 09:15:10 -05:00
2019-02-05 18:09:08 -05:00
# include "BackgroundHttpModule.h"
# include "BackgroundHttp.h"
2019-09-04 15:27:24 -04:00
# include "PlatformBackgroundHttp.h"
2019-02-05 18:09:08 -05:00
# include "Modules/ModuleManager.h"
# include "Interfaces/IHttpRequest.h"
IMPLEMENT_MODULE ( FBackgroundHttpModule , BackgroundHTTP ) ;
FBackgroundHttpModule * FBackgroundHttpModule : : Singleton = NULL ;
void FBackgroundHttpModule : : StartupModule ( )
{
Singleton = this ;
FPlatformBackgroundHttp : : Initialize ( ) ;
BackgroundHttpManager = FPlatformBackgroundHttp : : CreatePlatformBackgroundHttpManager ( ) ;
if ( ensureAlwaysMsgf ( BackgroundHttpManager . IsValid ( ) , TEXT ( " Invalid result from FPlatformBackgroundHttp::CreatePlatformBackgroundHttpManager! Ensure this platform has an implementation supplied! " ) ) )
{
BackgroundHttpManager - > Initialize ( ) ;
}
}
void FBackgroundHttpModule : : ShutdownModule ( )
{
FPlatformBackgroundHttp : : Shutdown ( ) ;
BackgroundHttpManager . Reset ( ) ;
Singleton = nullptr ;
}
FBackgroundHttpModule & FBackgroundHttpModule : : Get ( )
{
if ( Singleton = = NULL )
{
check ( IsInGameThread ( ) ) ;
FModuleManager : : LoadModuleChecked < FBackgroundHttpModule > ( " BackgroundHTTP " ) ;
}
check ( Singleton ! = NULL ) ;
return * Singleton ;
}
FBackgroundHttpRequestPtr FBackgroundHttpModule : : CreateBackgroundRequest ( )
{
// Create the platform specific Background Http request instance
return FPlatformBackgroundHttp : : ConstructBackgroundRequest ( ) ;
}
FBackgroundHttpManagerPtr FBackgroundHttpModule : : GetBackgroundHttpManager ( )
{
return BackgroundHttpManager ;
}