9#include "Containers/Array.h"
32#define UE_ENABLE_VIRTUALIZATION_TOGGLE 1
204 return PayloadSize > 0;
364#if UE_ENABLE_VIRTUALIZATION_TOGGLE
365 UE_DEPRECATED(5.0,
"SetVirtualizationOptOut is an internal feature for development and will be removed without warning!")
377 enum class EFlags :
uint32
382 IsVirtualized = 1 << 0,
384 HasPayloadSidecarFile = 1 << 1,
386 ReferencesLegacyFile = 1 << 2,
388 LegacyFileIsCompressed = 1 << 3,
391 DisablePayloadCompression = 1 << 4,
393 LegacyKeyWasGuidDerived = 1 << 5,
395 HasRegistered = 1 << 6,
399 ReferencesWorkspaceDomain = 1 << 8,
401 StoredInPackageTrailer = 1 << 9,
405 WasDetached = 1 << 11
411 static constexpr EFlags TransientFlags = EFlags((
uint32)EFlags::HasRegistered | (
uint32)EFlags::IsTornOff | (
uint32)EFlags::WasDetached);
451 bool IsDataVirtualized()
const
453 return IsDataVirtualized(
Flags);
456 static bool IsDataVirtualized(EFlags
InFlags)
461 bool HasPayloadSidecarFile()
const
466 bool IsReferencingOldBulkData()
const
468 return IsReferencingOldBulkData(
Flags);
470 static bool IsReferencingOldBulkData(EFlags
InFlags)
475 bool IsReferencingWorkspaceDomain()
const
477 return IsReferencingWorkspaceDomain(
Flags);
479 static bool IsReferencingWorkspaceDomain(EFlags
InFlags)
484 bool IsReferencingByPackagePath()
const
486 return IsReferencingByPackagePath(
Flags);
488 static bool IsReferencingByPackagePath(EFlags
InFlags)
493 bool IsStoredInPackageTrailer()
const
495 return IsStoredInPackageTrailer(
Flags);
497 static bool IsStoredInPackageTrailer(EFlags
InFlags)
506 bool HasAttachedArchive()
const
508 return AttachedAr !=
nullptr;
567 int64 PayloadSize = 0;
581 EFlags
Flags = EFlags::None;
584 mutable FRecursiveMutex Mutex;
586#if UE_ENABLE_VIRTUALIZATION_TOGGLE
587 bool bSkipVirtualization =
false;
595 Private::FCompressionSettings CompressionSettings;
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
#define FRIEND_ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:17
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
Definition Archive.h:1208
Definition BulkData.h:470
Definition CompressedBuffer.h:50
Definition CustomVersion.h:111
Definition LinkerSave.h:48
Definition PackagePath.h:89
Definition SharedBuffer.h:341
Definition EditorBulkData.h:132
friend struct FTocEntry
Definition EditorBulkData.h:374
COREUOBJECT_API void UpdatePayload(FSharedBuffer InPayload, UObject *Owner=nullptr)
Definition EditorBulkData.cpp:2115
COREUOBJECT_API ~FEditorBulkData()
Definition EditorBulkData.cpp:465
COREUOBJECT_API void SerializeForRegistry(FArchive &Ar)
Definition EditorBulkData.cpp:1274
ETornOff
Definition EditorBulkData.h:370
COREUOBJECT_API void SetCompressionOptions(ECompressionOptions Option)
Definition EditorBulkData.cpp:2144
COREUOBJECT_API void SetVirtualizationOptOut(bool bOptOut)
COREUOBJECT_API FCustomVersionContainer GetCustomVersions(FArchive &InlineArchive)
Definition EditorBulkData.cpp:2186
COREUOBJECT_API void CreateFromBulkData(FBulkData &BulkData, const FGuid &Guid, UObject *Owner)
Definition EditorBulkData.cpp:801
COREUOBJECT_API void UpdatePayloadId()
Definition EditorBulkData.cpp:2228
COREUOBJECT_API void UnloadData()
Definition EditorBulkData.cpp:1734
bool HasPayloadData() const
Definition EditorBulkData.h:202
COREUOBJECT_API void CreateLegacyUniqueIdentifier(UObject *Owner)
Definition EditorBulkData.cpp:855
COREUOBJECT_API bool IsMemoryOnlyPayload() const
Definition EditorBulkData.cpp:1705
COREUOBJECT_API bool LocationMatches(const FEditorBulkData &Other) const
Definition EditorBulkData.cpp:2235
FEditorBulkData()=default
FEditorBulkData CopyTornOff() const
Definition EditorBulkData.h:329
int64 GetPayloadSize() const
Definition EditorBulkData.h:196
COREUOBJECT_API void TearOff()
Definition EditorBulkData.cpp:591
COREUOBJECT_API bool CanSaveForRegistry() const
Definition EditorBulkData.cpp:1316
COREUOBJECT_API void UpdateRegistrationOwner(UObject *Owner)
Definition EditorBulkData.cpp:599
COREUOBJECT_API void GetBulkDataVersions(FArchive &InlineArchive, FPackageFileVersion &OutUEVersion, int32 &OutLicenseeUEVersion, FCustomVersionContainer &OutCustomVersions) const
Definition EditorBulkData.cpp:2195
COREUOBJECT_API FGuid GetIdentifier() const
Definition EditorBulkData.cpp:1801
COREUOBJECT_API void Reset()
Definition EditorBulkData.cpp:1711
COREUOBJECT_API bool DoesPayloadNeedLoading() const
Definition EditorBulkData.cpp:2054
COREUOBJECT_API void DetachFromDisk(FArchive *Ar, bool bEnsurePayloadIsLoaded)
Definition EditorBulkData.cpp:1753
COREUOBJECT_API TFuture< FSharedBuffer > GetPayload() const
Definition EditorBulkData.cpp:2064
bool HasPlaceholderPayloadId() const
Definition EditorBulkData.h:343
COREUOBJECT_API TFuture< FCompressedBuffer > GetCompressedPayload() const
Definition EditorBulkData.cpp:2101
COREUOBJECT_API FEditorBulkData & operator=(FEditorBulkData &&Other)
Definition EditorBulkData.cpp:484
COREUOBJECT_API const FIoHash & GetPayloadId() const
Definition EditorBulkData.cpp:1809
ECompressor
Definition OodleDataCompression.h:49
ECompressionLevel
Definition OodleDataCompression.h:94
Definition OverriddenPropertySet.cpp:45
Definition BulkDataRegistry.h:35
ERegisterResult
Definition BulkDataRegistry.h:38
Definition StructuredLog.cpp:42
ECompressionOptions
Definition EditorBulkData.h:78
FGuid IoHashToGuid(const FIoHash &Hash)
Definition EditorBulkData.cpp:298
Definition ObjectVersion.h:762
Definition EditorBulkData.h:252
FSharedBufferWithID & operator=(FSharedBufferWithID &&)=default
FSharedBuffer GetPayload()
Definition EditorBulkData.h:262
FSharedBufferWithID()=default
FSharedBufferWithID(FSharedBufferWithID &&)=default
FSharedBufferWithID & operator=(const FSharedBufferWithID &)=delete
FSharedBufferWithID(const FSharedBufferWithID &)=delete
Definition EditorBulkData.h:45
ECompressedBufferCompressor GetCompressor() const
Definition EditorBulkData.cpp:453
void SetToDisabled()
Definition EditorBulkData.cpp:436
bool IsSet() const
Definition EditorBulkData.cpp:443
COREUOBJECT_API FCompressionSettings()
Definition EditorBulkData.cpp:380
bool IsCompressed() const
Definition EditorBulkData.cpp:448
ECompressedBufferCompressionLevel GetCompressionLevel()
Definition EditorBulkData.cpp:458
bool operator!=(const FCompressionSettings &Other) const
Definition EditorBulkData.cpp:410
void SetToDefault()
Definition EditorBulkData.cpp:429
bool operator==(const FCompressionSettings &Other) const
Definition EditorBulkData.cpp:403
void Reset()
Definition EditorBulkData.cpp:415