using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UnrealBuildTool
{
///
/// Factory class for registering platforms at startup
///
abstract class UEBuildPlatformFactory
{
///
/// Attempt to register a build platform, checking whether it is a valid platform in installed builds
///
public void TryRegisterBuildPlatforms(SDKOutputLevel OutputLevel, bool bValidatingPlatforms)
{
// We need all platforms to be registered when we run -validateplatform command to check SDK status of each
if (bValidatingPlatforms || InstalledPlatformInfo.Current.IsValidPlatform(TargetPlatform))
{
RegisterBuildPlatforms(OutputLevel);
}
}
///
/// Gets the target platform for an individual factory
///
protected abstract UnrealTargetPlatform TargetPlatform
{
get;
}
///
/// Register the platform with the UEBuildPlatform class
///
protected abstract void RegisterBuildPlatforms(SDKOutputLevel OutputLevel);
}
}