Files
UnrealEngineUWP/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileSystemModule.cpp

51 lines
1.5 KiB
C++
Raw Normal View History

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#include "NetworkFileSystemPrivatePCH.h"
#include "TargetDeviceId.h"
#include "ITargetDevice.h"
#include "ITargetPlatformManagerModule.h"
#include "ModuleManager.h"
DEFINE_LOG_CATEGORY(LogFileServer);
/**
* Implements the NetworkFileSystem module.
*/
class FNetworkFileSystemModule
: public INetworkFileSystemModule
{
public:
// INetworkFileSystemModule interface
virtual INetworkFileServer* CreateNetworkFileServer( int32 Port, const FFileRequestDelegate* InFileRequestDelegate, const FRecompileShadersDelegate* InRecompileShadersDelegate ) const OVERRIDE
{
if (Port < 0)
{
Port = DEFAULT_FILE_SERVING_PORT;
}
TArray<ITargetPlatform*> ActiveTargetPlatforms;
// only bother getting the target platforms if there was "-targetplatform" on the commandline, otherwise UnrealFileServer will
// log out some scary sounding, but innocuous logs
FString Platforms;
if (FParse::Value(FCommandLine::Get(), TEXT("TARGETPLATFORM="), Platforms))
{
ITargetPlatformManagerModule& TPM = GetTargetPlatformManagerRef();
ActiveTargetPlatforms = TPM.GetActiveTargetPlatforms();
}
#if !USE_HTTP_FOR_NFS
return new FNetworkFileServer(Port, InFileRequestDelegate, InRecompileShadersDelegate, ActiveTargetPlatforms);
#else
return new FNetworkFileServerHttp(Port, InFileRequestDelegate, InRecompileShadersDelegate, ActiveTargetPlatforms);
#endif
}
};
IMPLEMENT_MODULE(FNetworkFileSystemModule, NetworkFileSystem);