UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IBuildManifest.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 IBuildManifest.h: Declares the IBuildManifest and IManifestField interfaces.
5 This defines the functionality provided by a Build Manifest of a specific
6 App, and also the interface to creating and reading custom fields.
7=============================================================================*/
8
9#pragma once
10
11#include "CoreMinimal.h"
12
13class IBuildManifest;
14class IManifestField;
15
20
25{
26public:
30 virtual ~IManifestField() { }
31
36 virtual FString AsString() const = 0;
37
42 virtual double AsDouble() const = 0;
43
48 virtual int64 AsInteger() const = 0;
49};
50
55{
56public:
60 virtual ~IBuildManifest() { }
61
66 virtual uint32 GetAppID() const = 0;
67
72 virtual const FString& GetAppName() const = 0;
73
78 virtual const FString& GetVersionString() const = 0;
79
84 virtual const FString& GetLaunchExe() const = 0;
85
90 virtual const FString& GetLaunchCommand() const = 0;
91
96 virtual const TSet<FString>& GetPrereqIds() const = 0;
97
102 virtual const FString& GetPrereqName() const = 0;
103
108 virtual const FString& GetPrereqPath() const = 0;
109
114 virtual const FString& GetPrereqArgs() const = 0;
115
120 virtual int64 GetDownloadSize() const = 0;
121
127 virtual int64 GetDownloadSize(const TSet<FString>& Tags) const = 0;
128
136
145
150 virtual int64 GetBuildSize() const = 0;
151
157 virtual int64 GetBuildSize(const TSet<FString>& Tags) const = 0;
158
164
171
178
185
191 virtual int64 GetFileSize(FStringView Filename) const = 0;
192
198 virtual int64 GetFileSize(const TArray<FString>& Filenames) const = 0;
199
205 virtual int64 GetFileSize(const TSet<FString>& Filenames) const = 0;
206
213 virtual bool GetFileHash(const FString& Filename, FSHAHash& OutHash) const = 0;
214
219 virtual TSet<FString> GetFileTagList() const = 0;
220
225 virtual void GetFileTagList(TSet<FString>& Tags) const = 0;
226
232 virtual void GetOutdatedFiles(const IBuildManifestRef& OldManifest, TSet<FString>& OutdatedFiles) const = 0;
233
240
247
252 virtual bool NeedsResaving() const = 0;
253
259 virtual void CopyCustomFields(const IBuildManifestRef& Other, bool bClobber) = 0;
260
266 virtual const IManifestFieldPtr GetCustomField(const FString& FieldName) const = 0;
267
274 virtual const IManifestFieldPtr SetCustomField(const FString& FieldName, const FString& Value) = 0;
275 virtual const IManifestFieldPtr SetCustomField(const FString& FieldName, const double& Value) = 0;
276 virtual const IManifestFieldPtr SetCustomField(const FString& FieldName, const int64& Value) = 0;
277
282 virtual void RemoveCustomField(const FString& FieldName) = 0;
283
289 virtual IBuildManifestRef Duplicate() const = 0;
290};
291
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
TSharedRef< class IBuildManifest, ESPMode::ThreadSafe > IBuildManifestRef
Definition IBuildManifest.h:19
TSharedPtr< class IBuildManifest, ESPMode::ThreadSafe > IBuildManifestPtr
Definition IBuildManifest.h:18
TSharedPtr< class IManifestField, ESPMode::ThreadSafe > IManifestFieldPtr
Definition IBuildManifest.h:16
TSharedRef< class IManifestField, ESPMode::ThreadSafe > IManifestFieldRef
Definition IBuildManifest.h:17
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition SecureHash.h:226
Definition IBuildManifest.h:55
virtual int64 GetDownloadSize(const TSet< FString > &Tags) const =0
virtual const FString & GetLaunchCommand() const =0
virtual TArray< FStringView > GetBuildFileListView(const TSet< FString > &Tags) const =0
virtual bool GetFileHash(const FString &Filename, FSHAHash &OutHash) const =0
virtual void GetRemovableFiles(const TCHAR *InstallPath, TArray< FString > &RemovableFiles) const =0
virtual const FString & GetPrereqName() const =0
virtual const IManifestFieldPtr SetCustomField(const FString &FieldName, const double &Value)=0
virtual bool NeedsResaving() const =0
virtual void GetOutdatedFiles(const IBuildManifestRef &OldManifest, TSet< FString > &OutdatedFiles) const =0
virtual int64 GetDownloadSize() const =0
virtual int64 GetBuildSize(const TSet< FString > &Tags) const =0
virtual int64 GetFileSize(const TArray< FString > &Filenames) const =0
virtual int64 GetFileSize(const TSet< FString > &Filenames) const =0
virtual const FString & GetVersionString() const =0
virtual uint32 GetAppID() const =0
virtual const IManifestFieldPtr SetCustomField(const FString &FieldName, const int64 &Value)=0
virtual const IManifestFieldPtr GetCustomField(const FString &FieldName) const =0
virtual TSet< FString > GetFileTagList() const =0
virtual IBuildManifestRef Duplicate() const =0
virtual int64 GetBuildSize() const =0
virtual const IManifestFieldPtr SetCustomField(const FString &FieldName, const FString &Value)=0
virtual ~IBuildManifest()
Definition IBuildManifest.h:60
virtual void GetRemovableFiles(const IBuildManifestRef &OldManifest, TArray< FString > &RemovableFiles) const =0
virtual void CopyCustomFields(const IBuildManifestRef &Other, bool bClobber)=0
virtual const FString & GetPrereqPath() const =0
virtual TArray< FString > GetBuildFileList() const =0
virtual TArray< FString > GetBuildFileList(const TSet< FString > &Tags) const =0
virtual const TSet< FString > & GetPrereqIds() const =0
virtual TArray< FStringView > GetBuildFileListView() const =0
virtual const FString & GetLaunchExe() const =0
virtual int64 GetFileSize(FStringView Filename) const =0
virtual int64 GetDeltaDownloadSize(const TSet< FString > &Tags, const IBuildManifestRef &PreviousVersion) const =0
virtual const FString & GetAppName() const =0
virtual void RemoveCustomField(const FString &FieldName)=0
virtual int64 GetDeltaDownloadSize(const TSet< FString > &Tags, const IBuildManifestRef &PreviousVersion, const TSet< FString > &PreviousTags) const =0
virtual void GetFileTagList(TSet< FString > &Tags) const =0
virtual const FString & GetPrereqArgs() const =0
Definition IBuildManifest.h:25
virtual ~IManifestField()
Definition IBuildManifest.h:30
virtual FString AsString() const =0
virtual double AsDouble() const =0
virtual int64 AsInteger() const =0
Definition Array.h:670
Definition SharedPointer.h:692
Definition SharedPointer.h:153