UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
OnDemandToc.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "IO/IoChunkId.h"
7#include "IO/IoContainerId.h"
8#include "IO/IoHash.h"
9#include "IO/IoStatus.h"
10#include "Misc/EnumClassFlags.h"
11
12#define UE_API IOSTOREONDEMANDCORE_API
13
15
16class FArchive;
17class FCbWriter;
18
19namespace UE::IoStore
20{
21
24{
25 Invalid = 0,
26 Initial = 1,
27 UTocHash = 2,
28 BlockHash32 = 3,
29 NoRawHash = 4,
30 Meta = 5,
31 ContainerId = 6,
33 TagSets = 8,
35 TocFlags = 10,
36 HostGroupName = 11,
37 ContainerHeader = 12,
38
40 Latest = (LatestPlusOne - 1)
41};
42
45{
46 None = 0,
47 InstallOnDemand = (1 << 0),
48 StreamOnDemand = (1 << 1),
49
51};
53
56{
58 FString BuildVersion;
60
62 UE_API friend FCbWriter& operator<<(FCbWriter& Writer, const FTocMeta& Meta);
63};
64
66
83
85
99
101
120
122
125{
126public:
127 static constexpr inline char SentinelImg[] = "-[]--[]--[]--[]-";
128 static constexpr uint32 SentinelSize = 16;
129
130 bool IsValid();
131
133
134private:
135 uint8 Data[SentinelSize] = { 0 };
136};
137
147
149
159
161
173
175
200
202
203} // namespace UE::IoStore
204
208
209#undef UE_API
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
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 ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
uint32 FIoBlockHash
Definition IoChunkEncoding.h:15
#define UE_API
Definition OnDemandToc.h:12
UE_API FStringBuilderBase & operator<<(FStringBuilderBase &Sb, UE::IoStore::EOnDemandTocFlags TocFlags)
Definition OnDemandToc.cpp:694
UE_API FString LexToString(UE::IoStore::EOnDemandTocFlags TocFlags)
Definition OnDemandToc.cpp:731
#define UE_API
Definition SColorGradingComponentViewer.h:12
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition CompactBinary.h:610
Definition CompactBinaryWriter.h:68
Definition IoChunkId.h:64
static CORE_API const FIoChunkId InvalidChunkId
Definition IoChunkId.h:66
Definition IoContainerId.h:18
Definition Array.h:670
Definition IoStatus.h:101
Definition FieldSystemNoiseAlgo.cpp:6
NO_LOGGING.
Definition Client.h:20
bool LoadFromCompactBinary(FCbFieldView Field, FTocMeta &OutMeta)
Definition OnDemandToc.cpp:69
EOnDemandTocFlags
Definition OnDemandToc.h:45
EOnDemandTocVersion
Definition OnDemandToc.h:24
Definition Guid.h:109
Definition IoHash.h:33
static const FIoHash Zero
Definition IoHash.h:70
Definition OnDemandToc.h:139
UE_API friend FArchive & operator<<(FArchive &Ar, FOnDemandTocAdditionalFile &AdditionalFile)
Definition OnDemandToc.cpp:377
FString Filename
Definition OnDemandToc.h:141
uint64 FileSize
Definition OnDemandToc.h:142
FIoHash Hash
Definition OnDemandToc.h:140
Definition OnDemandToc.h:104
TArray< FOnDemandTocEntry > Entries
Definition OnDemandToc.h:108
FString EncryptionKeyGuid
Definition OnDemandToc.h:107
FString ContainerName
Definition OnDemandToc.h:106
FIoHash UTocHash
Definition OnDemandToc.h:114
uint8 ContainerFlags
Definition OnDemandToc.h:115
TArray< FIoBlockHash > BlockHashes
Definition OnDemandToc.h:110
FIoContainerId ContainerId
Definition OnDemandToc.h:105
TArray< uint8 > Header
Definition OnDemandToc.h:111
TArray< uint32 > BlockSizes
Definition OnDemandToc.h:109
UE_API friend FArchive & operator<<(FArchive &Ar, FOnDemandTocContainerEntry &ContainerEntry)
Definition OnDemandToc.cpp:215
Definition OnDemandToc.h:88
FIoChunkId ChunkId
Definition OnDemandToc.h:90
UE_API friend FArchive & operator<<(FArchive &Ar, FOnDemandTocEntry &Entry)
Definition OnDemandToc.cpp:164
uint32 BlockCount
Definition OnDemandToc.h:94
FIoHash Hash
Definition OnDemandToc.h:89
uint64 RawSize
Definition OnDemandToc.h:91
uint64 EncodedSize
Definition OnDemandToc.h:92
uint32 BlockOffset
Definition OnDemandToc.h:93
Definition OnDemandToc.h:69
FString CompressionFormat
Definition OnDemandToc.h:76
UE_API friend FArchive & operator<<(FArchive &Ar, FOnDemandTocHeader &Header)
Definition OnDemandToc.cpp:83
uint32 Version
Definition OnDemandToc.h:73
static constexpr uint64 ExpectedMagic
Definition OnDemandToc.h:70
uint32 BlockSize
Definition OnDemandToc.h:75
FString ChunksDirectory
Definition OnDemandToc.h:77
uint32 Flags
Definition OnDemandToc.h:74
FString HostGroupName
Definition OnDemandToc.h:78
uint64 Magic
Definition OnDemandToc.h:72
Definition OnDemandToc.h:125
static constexpr char SentinelImg[]
Definition OnDemandToc.h:127
static constexpr uint32 SentinelSize
Definition OnDemandToc.h:128
bool IsValid()
Definition OnDemandToc.cpp:351
UE_API friend FArchive & operator<<(FArchive &Ar, FOnDemandTocSentinel &Sentinel)
Definition OnDemandToc.cpp:356
Definition OnDemandToc.h:152
uint32 ContainerIndex
Definition OnDemandToc.h:153
TArray< uint32 > PackageIndicies
Definition OnDemandToc.h:154
UE_API friend FArchive & operator<<(FArchive &Ar, FOnDemandTocTagSetPackageList &TagSet)
Definition OnDemandToc.cpp:410
Definition OnDemandToc.h:164
FString Tag
Definition OnDemandToc.h:167
UE_API friend FArchive & operator<<(FArchive &Ar, FOnDemandTocTagSet &TagSet)
Definition OnDemandToc.cpp:467
FOnDemandTocTagSetPackageLists Packages
Definition OnDemandToc.h:168
Definition OnDemandToc.h:178
FOnDemandToc(const FOnDemandToc &)=delete
FOnDemandToc & operator=(FOnDemandToc &&)=default
FOnDemandToc(FOnDemandToc &&)=default
static UE_API const FString FileExt
Definition OnDemandToc.h:196
FTocMeta Meta
Definition OnDemandToc.h:187
static UE_API TIoStatusOr< FOnDemandToc > LoadFromFile(const FString &FilePath, bool bValidate)
Definition OnDemandToc.cpp:637
FOnDemandTocHeader Header
Definition OnDemandToc.h:186
TArray< FOnDemandTocContainerEntry > Containers
Definition OnDemandToc.h:188
static UE_API const FGuid VersionGuid
Definition OnDemandToc.h:195
TArray< FOnDemandTocAdditionalFile > AdditionalFiles
Definition OnDemandToc.h:189
UE_API friend FArchive & operator<<(FArchive &Ar, FOnDemandToc &Toc)
Definition OnDemandToc.cpp:509
TArray< FOnDemandTocTagSet > TagSets
Definition OnDemandToc.h:190
Definition OnDemandToc.h:56
FString TargetPlatform
Definition OnDemandToc.h:59
FString BuildVersion
Definition OnDemandToc.h:58
int64 EpochTimestamp
Definition OnDemandToc.h:57
UE_API friend FArchive & operator<<(FArchive &Ar, FTocMeta &Meta)
Definition OnDemandToc.cpp:50