UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BuildPatchUtil.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 BuildPatchUtil.h: Declares miscellaneous utility functions.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "BuildPatchManifest.h"
11
12namespace BuildPatchServices
13{
14 struct FChunkHeader;
15 class IFileSystem;
16 struct FManifestMeta;
17 class IBuildManifestSet;
18}
19
21{
22 // Represents data produced by the chunked patch generation mode.
23 ChunkData = 0,
24 // Represents data produced by the nochunks patch generation mode, which has deprecated.
25 FileData = 1,
26};
27
28
29// A delegate taking a float. Used to receive progress.
31
32// A delegate returning a bool. Used to pass a paused state.
34
39{
47 static FString GetChunkNewFilename(BuildPatchServices::EFeatureLevel FeatureLevel, const FGuid& ChunkGUID, const uint64& ChunkHash);
48
56 static FString GetFileNewFilename(BuildPatchServices::EFeatureLevel FeatureLevel, const FGuid& FileGUID, const FSHAHash& FileHash);
57 static FString GetFileNewFilename(BuildPatchServices::EFeatureLevel FeatureLevel, const FGuid& FileGUID, const uint64& FilePartHash);
58
65 static void GetChunkDetailFromNewFilename(const FString& ChunkNewFilename, FGuid& ChunkGUID, uint64& ChunkHash);
66
73 static void GetFileDetailFromNewFilename(const FString& FileNewFilename, FGuid& FileGUID, FSHAHash& FileHash);
74
80 static FString GetChunkOldFilename(const FGuid& ChunkGUID);
81
87 static FString GetFileOldFilename(const FGuid& FileGUID);
88
95 static FString GetDataTypeOldFilename(EBuildPatchDataType DataType, const FGuid& Guid);
96
103 static FString GetDataFilename(const FBuildPatchAppManifestRef& Manifest, const FGuid& DataGUID);
104 static FString GetDataFilename(const FBuildPatchAppManifest& Manifest, const FGuid& DataGUID);
105
112 static bool GetGUIDFromFilename(const FString& DataFilename, FGuid& DataGUID);
113
118 static FString GenerateNewBuildId();
119
126 static FString GetBackwardsCompatibleBuildId(const BuildPatchServices::FManifestMeta& ManifestMeta);
127
133 static FString GetChunkDeltaDirectory(const FBuildPatchAppManifest& DestinationManifest);
134
141 static FString GetChunkDeltaFilename(const FBuildPatchAppManifest& SourceManifest, const FBuildPatchAppManifest& DestinationManifest);
142
156
167
174};
EBuildPatchDataType
Definition BuildPatchUtil.h:21
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_RetVal(ReturnValueType, DelegateName)
Definition DelegateCombinations.h:41
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition IBuildManifestSet.h:85
Definition FileSystem.h:51
Definition BuildPatchManifest.h:64
Definition SecureHash.h:226
Definition Array.h:670
Definition BuildPatchFileConstructor.h:28
Definition ManifestData.h:75
Definition BuildPatchUtil.h:39
static void GetChunkDetailFromNewFilename(const FString &ChunkNewFilename, FGuid &ChunkGUID, uint64 &ChunkHash)
Definition BuildPatchUtil.cpp:41
static bool GetGUIDFromFilename(const FString &DataFilename, FGuid &DataGUID)
Definition BuildPatchUtil.cpp:134
static FString GetFileOldFilename(const FGuid &FileGUID)
Definition BuildPatchUtil.cpp:73
static FString GetFileNewFilename(BuildPatchServices::EFeatureLevel FeatureLevel, const FGuid &FileGUID, const uint64 &FilePartHash)
static FString GetDataTypeOldFilename(EBuildPatchDataType DataType, const FGuid &Guid)
Definition BuildPatchUtil.cpp:79
static FString GetDataFilename(const FBuildPatchAppManifestRef &Manifest, const FGuid &DataGUID)
Definition BuildPatchUtil.cpp:96
static FString GetFileNewFilename(BuildPatchServices::EFeatureLevel FeatureLevel, const FGuid &FileGUID, const FSHAHash &FileHash)
static uint64 CalculateDiskSpaceRequirementsWithDeleteDuringInstall(const TArray< FString > &InFilesToConstruct, int32 InCompletedFileCount, BuildPatchServices::IBuildManifestSet *InManifestSet, const TArray< uint64 > &InChunkDbSizesAtPosition, uint64 InTotalChunkDbSize)
Definition BuildPatchUtil.cpp:259
static FString GetChunkDeltaDirectory(const FBuildPatchAppManifest &DestinationManifest)
Definition BuildPatchUtil.cpp:194
static FString GenerateNewBuildId()
Definition BuildPatchUtil.cpp:153
static FString GetChunkOldFilename(const FGuid &ChunkGUID)
Definition BuildPatchUtil.cpp:67
static uint8 VerifyFile(BuildPatchServices::IFileSystem *FileSystem, const FString &FileToVerify, const FSHAHash &Hash1, const FSHAHash &Hash2, FBuildPatchFloatDelegate ProgressDelegate, FBuildPatchBoolRetDelegate ShouldPauseDelegate, FBuildPatchBoolRetDelegate ShouldAbortDelegate)
Definition BuildPatchUtil.cpp:212
static FString GetChunkNewFilename(BuildPatchServices::EFeatureLevel FeatureLevel, const FGuid &ChunkGUID, const uint64 &ChunkHash)
Definition BuildPatchUtil.cpp:19
static FString GetBackwardsCompatibleBuildId(const BuildPatchServices::FManifestMeta &ManifestMeta)
Definition BuildPatchUtil.cpp:166
static void GetFileDetailFromNewFilename(const FString &FileNewFilename, FGuid &FileGUID, FSHAHash &FileHash)
Definition BuildPatchUtil.cpp:54
static FString GetChunkDeltaFilename(const FBuildPatchAppManifest &SourceManifest, const FBuildPatchAppManifest &DestinationManifest)
Definition BuildPatchUtil.cpp:199
Definition AudioWaveFormatParser.h:25
Definition Guid.h:109