Files
UnrealEngineUWP/Engine/Source/Runtime/Online/BackgroundHTTP/Private/BackgroundHttpModule.cpp
thomas ross ba30c91d75 Adding background http protype system. Enables downloading files while app is suspended on iOS. Other platforms need to be added over time if desired. For now other platforms just wrap basic HTTPRequests under the hood.
#rb none
#tests iOS / Android
[CODEREVIEW] Andrew.Grant,Daniel.Lamb,Justin.Marcus
[FYI] Pete.Sauerbrei


#ROBOMERGE-SOURCE: CL 4898958 via CL 4898963 via CL 4898965 via CL 4905881

[CL 4906509 by thomas ross in Main branch]
2019-02-05 18:09:08 -05:00

53 lines
1.4 KiB
C++

#include "BackgroundHttpModule.h"
#include "BackgroundHttp.h"
#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;
}