5#include "Containers/Array.h"
6#include "Containers/Map.h"
7#include "Containers/Set.h"
15#include "Misc/Optional.h"
32#if !defined(UE_WITH_SAVEPACKAGE)
33# define UE_WITH_SAVEPACKAGE 1
44namespace UE {
class FLogRecord; }
106 UE_DEPRECATED(5.6,
"Use the default constructor and assign elements individually.")
199 return ExternalImportValidations.Num() == 0 && ExternalExportValidations.Num() == 0;
204 return ExternalImportValidations;
208 return ExternalExportValidations;
240 UE_DEPRECATED(5.0,
"bInForceLegacyOffsets is no longer supported; remove the variable from your constructor call")
251 return Validator.
Get();
280 UE_DEPRECATED(5.0,
"bForceLegacyOffsets is no longer supported; remove uses of the variable")
284namespace
UE::SavePackageUtilities
322 UE_DEPRECATED(5.6,
"Functionality has moved into private cooker implementation; contact Epic if you need this functionality.")
326 UE_DEPRECATED(5.6,
"Functionality has moved into private cooker implementation; contact Epic if you need this functionality.")
342 inline bool CanSkipEditorReferencedPackagesWhenCooking() {
return false; }
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#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
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
return true
Definition ExternalRpcRegistry.cpp:601
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
@ SAVE_None
No flags.
Definition ObjectMacros.h:98
EObjectFlags
Definition ObjectMacros.h:552
@ RF_NoFlags
No flags, used to avoid a cast.
Definition ObjectMacros.h:555
CORE_API FOutputDeviceError * GError
Definition OutputDevice.cpp:92
ESavePackageResult
Definition Package.h:74
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
if(Failed) console_printf("Failed.\n")
Definition ArchiveUObject.h:17
Definition Archive.h:1208
Definition CompactBinary.h:610
Definition CompactBinaryWriter.h:68
Definition NameTypes.h:617
Definition UnrealType.h:3087
Definition OutputDevice.h:133
Definition PackagePath.h:89
Definition SavePackage.h:226
COREUOBJECT_API ~FSavePackageContext()
FSavePackageContext(const ITargetPlatform *InTargetPlatform, IPackageWriter *InPackageWriter, FSavePackageSettings InSettings=FSavePackageSettings())
Definition SavePackage.h:229
const ITargetPlatform *const TargetPlatform
Definition SavePackage.h:269
PRAGMA_DISABLE_DEPRECATION_WARNINGS ISavePackageValidator * GetValidator()
Definition SavePackage.h:249
PRAGMA_ENABLE_DEPRECATION_WARNINGS const TArray< TFunction< FSavePackageSettings::ExternalImportValidationFunc > > & GetExternalImportValidations() const
Definition SavePackage.h:259
IPackageWriter::FCapabilities PackageWriterCapabilities
Definition SavePackage.h:271
const TArray< TFunction< FSavePackageSettings::ExternalExportValidationFunc > > & GetExternalExportValidations() const
Definition SavePackage.h:264
const bool bForceLegacyOffsets
Definition SavePackage.h:281
IPackageWriter *const PackageWriter
Definition SavePackage.h:270
void SetValidator(TUniquePtr< ISavePackageValidator > &&InValidator)
Definition SavePackage.h:253
Definition SavePackage.h:187
const TArray< TFunction< ExternalExportValidationFunc > > & GetExternalExportValidations() const
Definition SavePackage.h:206
const TArray< TFunction< ExternalImportValidationFunc > > & GetExternalImportValidations() const
Definition SavePackage.h:202
void AddExternalExportValidation(TFunction< ExternalExportValidationFunc > InValidation)
Definition SavePackage.h:215
bool IsDefault() const
Definition SavePackage.h:197
ESavePackageResult ExternalExportValidationFunc(const FExportsValidationContext &InValidationContext)
Definition SavePackage.h:190
ESavePackageResult ExternalImportValidationFunc(const FImportsValidationContext &InValidationContext)
Definition SavePackage.h:189
FSavePackageSettings()=default
void AddExternalImportValidation(TFunction< ExternalImportValidationFunc > InValidation)
Definition SavePackage.h:211
Definition PackageWriter.h:41
virtual FCapabilities GetCapabilities() const
Definition PackageWriter.h:69
Definition SavePackage.h:135
virtual ~ISavePackageValidator()
Definition SavePackage.h:137
virtual ESavePackageResult ValidateImports(const UPackage *Package, const TSet< TObjectPtr< UObject > > &Imports)=0
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition UniquePtr.h:107
UE_FORCEINLINE_HINT T * Get() const
Definition UniquePtr.h:324
Definition StructuredLog.h:182
Definition SavePackage.h:366
FArchiveSavePackageCollector()=default
Type
Definition LogVerbosity.h:17
Definition FieldSystemNoiseAlgo.cpp:6
Definition PackageHarvester.cpp:207
uint32 GetSavePackagePortFlags()
Definition PackageHarvester.cpp:231
Definition AdvancedWidgetsModule.cpp:13
@ false
Definition radaudio_common.h:23
Definition ArchiveCookData.h:13
const ITargetPlatform & TargetPlatform
Definition ArchiveCookData.h:14
Definition ArchiveSavePackageData.h:11
Definition SavePackage.h:161
const TMap< UObject *, FObjectSaveOverride > & SaveOverrides
Definition SavePackage.h:179
EFlags
Definition SavePackage.h:163
const UPackage * Package
Definition SavePackage.h:177
const TSet< UObject * > & Exports
Definition SavePackage.h:178
const EFlags Flags
Definition SavePackage.h:180
FExportsValidationContext(const UPackage *InPackage, const TSet< UObject * > &InExports, const TMap< UObject *, FObjectSaveOverride > &InSaveOverrides, EFlags InFlags, FOutputDevice *InOutputDevice)
Definition SavePackage.h:168
FOutputDevice * OutputDevice
Definition SavePackage.h:181
Definition SavePackage.h:147
const TSet< TObjectPtr< UObject > > & Imports
Definition SavePackage.h:155
FOutputDevice * OutputDevice
Definition SavePackage.h:156
const UPackage * Package
Definition SavePackage.h:154
FImportsValidationContext(const UPackage *InPackage, const TSet< TObjectPtr< UObject > > &InImports, FOutputDevice *InOutputDevice)
Definition SavePackage.h:148
Definition ObjectSaveContext.h:70
Definition SavePackage.h:52
class UPackage * Package
Definition SavePackage.h:53
class UObject * Asset
Definition SavePackage.h:54
FString Filename
Definition SavePackage.h:55
Definition SavePackage.h:63
bool IsCooking() const
Definition SavePackage.h:67
FSavePackageContext * SavePackageContext
Definition SavePackage.h:92
const ITargetPlatform * GetTargetPlatform() const
Definition SavePackage.h:68
FOutputDevice * Error
Definition SavePackage.h:90
FDateTime FinalTimeStamp
Definition SavePackage.h:88
bool bWarnOfLongFilename
Definition SavePackage.h:81
FSavePackageArgs()=default
FSavePackageArgs & operator=(const FSavePackageArgs &)=default
FSavePackageArgs(FSavePackageArgs &&)=default
bool bForceByteSwapping
Definition SavePackage.h:79
FSavePackageArgs & operator=(FSavePackageArgs &&)=default
TMap< UObject *, FObjectSaveOverride > * InOutSaveOverrides
Definition SavePackage.h:98
bool bSlowTask
Definition SavePackage.h:83
FArchiveCookData * ArchiveCookData
Definition SavePackage.h:65
EObjectFlags TopLevelFlags
Definition SavePackage.h:75
FSavePackageArgs(const FSavePackageArgs &)=default
uint32 SaveFlags
Definition SavePackage.h:77
Definition PackageWriter.h:46
Definition ObjectPtr.h:488