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); } } }