using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UnrealBuildTool
{
///
/// Interface to allow exposing public methods from the toolchain to other assemblies
///
public interface IAndroidToolChain
{
///
/// Finds the list of supported architectures
///
/// The targeted architectures
List GetAllArchitectures();
///
/// Finds the list of supported GPU architectures
///
/// The targeted GPU architectures
List GetAllGPUArchitectures();
}
///
/// Interface to allow exposing public methods from the Android deployment context to other assemblies
///
public interface IAndroidDeploy
{
///
///
///
///
///
bool PackageDataInsideApk(bool bDisallowPackagingDataInApk);
///
///
///
///
///
void SetAndroidPluginData(List Architectures, List inPluginExtraData);
///
///
///
///
///
///
///
///
///
///
///
///
bool PrepForUATPackageOrDeploy(FileReference ProjectFile, string ProjectName, string ProjectDirectory, string ExecutablePath, string EngineDirectory, bool bForDistribution, string CookFlavor, bool bIsDataDeploy);
}
///
/// Public Android functions exposed to UAT
///
public static class AndroidExports
{
///
///
///
///
///
public static IAndroidToolChain CreateToolChain(FileReference ProjectFile)
{
return new AndroidToolChain(ProjectFile, false, null, null);
}
///
///
///
///
///
public static IAndroidDeploy CreateDeploymentHandler(FileReference ProjectFile)
{
return new UEDeployAndroid(ProjectFile);
}
///
///
///
///
public static bool ShouldMakeSeparateApks()
{
return UEDeployAndroid.ShouldMakeSeparateApks();
}
///
///
///
///
///
public static string GetUE4Arch(string NDKArch)
{
return UEDeployAndroid.GetUE4Arch(NDKArch);
}
///
///
///
///
///
public static void StripSymbols(FileReference SourceFile, FileReference TargetFile)
{
AndroidToolChain ToolChain = new AndroidToolChain(null, false, null, null);
ToolChain.StripSymbols(SourceFile, TargetFile);
}
}
}