UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IBuildPatchServicesModule.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
10
12
18
20{
21 enum Type
22 {
24 Full
25 };
26}
27
32 : public IModuleInterface
33{
34public:
39
47
54
60 virtual BuildPatchServices::IBuildStatisticsRef CreateBuildStatistics(const IBuildInstallerRef& Installer) const = 0;
61
67 virtual BuildPatchServices::IPatchDataEnumerationRef CreatePatchDataEnumeration(BuildPatchServices::FPatchDataEnumerationConfiguration Configuration) const = 0;
68
74 virtual IBuildManifestPtr LoadManifestFromFile( const FString& Filename ) = 0;
75
82
89 virtual bool SaveManifestToFile(const FString& Filename, IBuildManifestRef Manifest) = 0;
90
96
101 virtual const TArray<IBuildInstallerRef>& GetInstallers() const = 0;
102
107 virtual void SetStagingDirectory( const FString& StagingDir ) = 0;
108
113 virtual void SetCloudDirectory( FString CloudDir ) = 0;
114
121
126 virtual void SetBackupDirectory( const FString& BackupDir ) = 0;
127
132 virtual void SetAnalyticsProvider( TSharedPtr< IAnalyticsProvider > AnalyticsProvider ) = 0;
133
140
146 virtual bool UnregisterAppInstallation(const FString AppInstallDirectory) = 0;
147
152 virtual void CancelAllInstallers(bool WaitForThreads) = 0;
153
161
169
177
185
193 virtual bool VerifyChunkData(const FString& SearchPath, const FString& OutputFile) = 0;
194
202
216 virtual bool MergeManifests(const FString& ManifestFilePathA, const FString& ManifestFilePathB, const FString& ManifestFilePathC, const FString& NewVersionString, const FString& SelectionDetailFilePath) = 0;
217
225
231
232
234
235 UE_DEPRECATED(4.21, "MakeManifestFromJSON(const FString& ManifestJSON) has been deprecated. Please use MakeManifestFromData(const TArray<uint8>& ManifestData) instead.")
236 virtual IBuildManifestPtr MakeManifestFromJSON(const FString& ManifestJSON) = 0;
237
238 UE_DEPRECATED(4.21, "Please use ChunkBuildDirectory instead.")
239 virtual bool GenerateChunksManifestFromDirectory(const BuildPatchServices::FGenerationConfiguration& Configuration)
240 {
241 return ChunkBuildDirectory(Configuration);
242 }
243
244 UE_DEPRECATED(4.23, "StartBuildInstall(IBuildManifestPtr, IBuildManifestPtr, const FString&, FBuildPatchBoolManifestDelegate, bool, TSet<FString>) has been deprecated. Please use CreateBuildInstaller(BuildPatchServices::FBuildInstallerConfiguration, FBuildPatchInstallerDelegate) instead, followed by IBuildInstaller::StartInstallation.")
246 {
248 FBuildPatchInstallerDelegate CompleteDelegate = FBuildPatchInstallerDelegate::CreateLambda([OnCompleteDelegate, InstallManifest](const IBuildInstallerRef& Installer)
249 {
250 OnCompleteDelegate.ExecuteIfBound(Installer->CompletedSuccessfully(), InstallManifest.ToSharedRef());
251 });
253 Installer->StartInstallation();
254 return Installer;
255 }
256
257 UE_DEPRECATED(4.23, "StartBuildInstallStageOnly(IBuildManifestPtr, IBuildManifestPtr, const FString&, FBuildPatchBoolManifestDelegate, bool, TSet<FString>) has been deprecated. Please use CreateBuildInstaller(BuildPatchServices::FBuildInstallerConfiguration, FBuildPatchInstallerDelegate) instead, followed by IBuildInstaller::StartInstallation.")
259 {
261 InstallerConfiguration.InstallMode = BuildPatchServices::EInstallMode::StageFiles;
262 FBuildPatchInstallerDelegate CompleteDelegate = FBuildPatchInstallerDelegate::CreateLambda([OnCompleteDelegate, InstallManifest](const IBuildInstallerRef& Installer)
263 {
264 OnCompleteDelegate.ExecuteIfBound(Installer->CompletedSuccessfully(), InstallManifest.ToSharedRef());
265 });
267 Installer->StartInstallation();
268 return Installer;
269 }
270
271 UE_DEPRECATED(4.23, "StartBuildInstall(BuildPatchServices::FInstallerConfiguration, FBuildPatchBoolManifestDelegate) has been deprecated. Please use CreateBuildInstaller(BuildPatchServices::FBuildInstallerConfiguration, FBuildPatchInstallerDelegate) instead, followed by IBuildInstaller::StartInstallation.")
273 {
274 FBuildPatchInstallerDelegate CompleteDelegate = FBuildPatchInstallerDelegate::CreateLambda([Configuration, OnCompleteDelegate](const IBuildInstallerRef& Installer)
275 {
276 OnCompleteDelegate.ExecuteIfBound(Installer->CompletedSuccessfully(), Configuration.InstallManifest);
277 });
279 if (Configuration.bIsRepair)
280 {
281 Actions.Add(BuildPatchServices::FInstallerAction::MakeRepair(Configuration.InstallManifest, Configuration.InstallTags));
282 }
283 else
284 {
285 Actions.Add(BuildPatchServices::FInstallerAction::MakeInstallOrUpdate(Configuration.CurrentManifest, Configuration.InstallManifest, Configuration.InstallTags));
286 }
288 BuildInstallerConfiguration.InstallDirectory = Configuration.InstallDirectory;
289 BuildInstallerConfiguration.StagingDirectory = Configuration.StagingDirectory;
290 BuildInstallerConfiguration.BackupDirectory = Configuration.BackupDirectory;
291 BuildInstallerConfiguration.ChunkDatabaseFiles = Configuration.ChunkDatabaseFiles;
292 BuildInstallerConfiguration.CloudDirectories = Configuration.CloudDirectories;
293 BuildInstallerConfiguration.InstallMode = Configuration.InstallMode;
294 BuildInstallerConfiguration.VerifyMode = Configuration.VerifyMode;
295 BuildInstallerConfiguration.DeltaPolicy = Configuration.DeltaPolicy;
296 BuildInstallerConfiguration.bRunRequiredPrereqs = Configuration.bRunRequiredPrereqs;
297 BuildInstallerConfiguration.bAllowConcurrentExecution = Configuration.bAllowConcurrentExecution;
299 Installer->StartInstallation();
300 return Installer;
301 }
302};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
#define DECLARE_EVENT(OwningType, EventName)
Definition DelegateCombinations.h:32
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
OnComplete(MoveTemp(Response))
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition UnrealType.h:3087
Definition IAnalyticsProvider.h:52
Definition IBuildPatchServicesModule.h:33
IBuildManifestPtr const FString FBuildPatchBoolManifestDelegate bool bIsRepair
Definition IBuildPatchServicesModule.h:245
IBuildManifestPtr const FString FBuildPatchBoolManifestDelegate OnCompleteDelegate
Definition IBuildPatchServicesModule.h:245
virtual bool SaveManifestToFile(const FString &Filename, IBuildManifestRef Manifest)=0
virtual BuildPatchServices::IBuildStatisticsRef CreateBuildStatistics(const IBuildInstallerRef &Installer) const =0
virtual void CancelAllInstallers(bool WaitForThreads)=0
IBuildManifestPtr const FString & InstallDirectory
Definition IBuildPatchServicesModule.h:245
virtual const TArray< IBuildInstallerRef > & GetInstallers() const =0
virtual bool OptimiseChunkDelta(const BuildPatchServices::FChunkDeltaOptimiserConfiguration &Configuration)=0
IBuildManifestPtr InstallManifest
Definition IBuildPatchServicesModule.h:245
virtual ~IBuildPatchServicesModule()
Definition IBuildPatchServicesModule.h:38
virtual void RegisterAppInstallation(IBuildManifestRef AppManifest, const FString AppInstallDirectory)=0
virtual IBuildManifestPtr LoadManifestFromFile(const FString &Filename)=0
virtual bool DiffManifests(const BuildPatchServices::FDiffManifestsConfiguration &Configuration)=0
virtual void SetBackupDirectory(const FString &BackupDir)=0
virtual void SetCloudDirectory(FString CloudDir)=0
virtual bool UnregisterAppInstallation(const FString AppInstallDirectory)=0
UE_DEPRECATED(4.23, "StartBuildInstall(IBuildManifestPtr, IBuildManifestPtr, const FString&, FBuildPatchBoolManifestDelegate, bool, TSet<FString>) has been deprecated. Please use CreateBuildInstaller(BuildPatchServices::FBuildInstallerConfiguration, FBuildPatchInstallerDelegate) instead, followed by IBuildInstaller::StartInstallation.") IBuildInstallerPtr StartBuildInstall(IBuildManifestPtr CurrentManifest
virtual bool VerifyChunkData(const FString &SearchPath, const FString &OutputFile)=0
virtual FSimpleEvent & OnStartBuildInstall()=0
virtual void SetCloudDirectories(TArray< FString > CloudDirs)=0
virtual bool ChunkBuildDirectory(const BuildPatchServices::FChunkBuildConfiguration &Configuration)=0
virtual void SetStagingDirectory(const FString &StagingDir)=0
virtual bool GenerateChunksManifestFromDirectory(const BuildPatchServices::FGenerationConfiguration &Configuration)
Definition IBuildPatchServicesModule.h:239
virtual IBuildManifestPtr MakeManifestFromData(const TArray< uint8 > &ManifestData)=0
virtual IBuildInstallerRef CreateBuildInstaller(BuildPatchServices::FBuildInstallerConfiguration Configuration, FBuildPatchInstallerDelegate OnComplete) const =0
virtual bool CompactifyCloudDirectory(const BuildPatchServices::FCompactifyConfiguration &Configuration)=0
virtual bool PackageChunkData(const BuildPatchServices::FPackageChunksConfiguration &Configuration)=0
virtual IBuildInstallerSharedContextRef CreateBuildInstallerSharedContext(const TCHAR *DebugName) const =0
virtual BuildPatchServices::IPatchDataEnumerationRef CreatePatchDataEnumeration(BuildPatchServices::FPatchDataEnumerationConfiguration Configuration) const =0
virtual bool MergeManifests(const FString &ManifestFilePathA, const FString &ManifestFilePathB, const FString &ManifestFilePathC, const FString &NewVersionString, const FString &SelectionDetailFilePath)=0
virtual void SetAnalyticsProvider(TSharedPtr< IAnalyticsProvider > AnalyticsProvider)=0
virtual bool EnumeratePatchData(const BuildPatchServices::FPatchDataEnumerationConfiguration &Configuration)=0
virtual TSet< FString > GetInstalledPrereqIds() const =0
Definition ModuleInterface.h:14
Definition Array.h:670
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
TSharedRef< ObjectType, Mode > ToSharedRef() const &
Definition SharedPointer.h:1028
Definition SharedPointer.h:153
Definition BuildPatchFileConstructor.h:28
Definition IBuildPatchServicesModule.h:20
Type
Definition IBuildPatchServicesModule.h:22
@ Full
Definition IBuildPatchServicesModule.h:24
@ Preview
Definition IBuildPatchServicesModule.h:23
@ false
Definition radaudio_common.h:23
Definition BuildPatchSettings.h:253
EInstallMode InstallMode
Definition BuildPatchSettings.h:284
Definition BuildPatchSettings.h:344
Definition BuildPatchSettings.h:491
Definition BuildPatchSettings.h:451
static BUILDPATCHSERVICES_API FInstallerAction MakeRepair(const IBuildManifestRef &Manifest, TSet< FString > InstallTags=TSet< FString >(), FString InstallSubdirectory=FString(), FString CloudSubdirectory=FString())
Definition BuildPatchSettings.cpp:50
static FInstallerAction MakeInstallOrUpdate(const IBuildManifestPtr &CurrentManifest, const IBuildManifestRef &InstallManifest, TSet< FString > InstallTags=TSet< FString >(), FString InstallSubdirectory=FString(), FString CloudSubdirectory=FString())
Definition BuildPatchSettings.h:100
Definition BuildPatchSettings.h:513