7#include "Async/Future.h"
8#include "Containers/StringView.h"
9#include "IO/IoDispatcher.h"
10#include "Misc/AssertionMacros.h"
11#include "Misc/DateTime.h"
12#include "Misc/EnumClassFlags.h"
13#include "Misc/SecureHash.h"
14#include "Serialization/CompactBinary.h"
15#include "Templates/UniquePtr.h"
17class FAssetRegistryState;
22class IPackageStoreWriter;
24struct FPackageStoreEntryResource;
25struct FSavePackageArgs;
26struct FSavePackageResultStruct;
37
38
39
40
48
62
63
64
97
111
112
113
114
137
206
207
208
209
226
258
262
263
264
265
269
281
282
283
284
288
289
290
294
295
299
300
304
305
338
339
340
341
342
355
356
357
358
367 return "AppendToExports";
#define ENUM_CLASS_FLAGS(Enum)
static const ANSICHAR * LexToString(IPackageWriter::FBulkDataInfo::EType Value)
virtual void RemoveCookedPackages()=0
virtual void UpdateSaveArguments(FSavePackageArgs &SaveArgs)
virtual ICookedPackageWriter * AsCookedPackageWriter() override
virtual ~ICookedPackageWriter()=default
virtual void MarkPackagesUpToDate(TArrayView< const FName > UpToDatePackages)=0
virtual FCookCapabilities GetCookCapabilities() const
virtual void BeginCook(const FCookInfo &Info)=0
virtual void RemoveCookedPackages(TArrayView< const FName > PackageNamesToRemove)=0
virtual FDateTime GetPreviousCookTime() const
virtual TFuture< FCbObject > WriteMPCookMessageForPackage(FName PackageName)=0
virtual TMap< FName, TRefCountPtr< FPackageHashes > > & GetPackageHashes()=0
virtual IPackageStoreWriter * AsPackageStoreWriter()
virtual bool IsAnotherSaveNeeded(FSavePackageResultStruct &PreviousResult, FSavePackageArgs &SaveArgs)
virtual FCbObject GetOplogAttachment(FName PackageName, FUtf8StringView AttachmentKey)=0
virtual void EndCook(const FCookInfo &Info)=0
virtual bool GetPreviousCookedBytes(const FPackageInfo &Info, FPreviousCookedBytesData &OutData)
virtual TUniquePtr< FAssetRegistryState > LoadPreviousAssetRegistry()=0
virtual void Initialize(const FCookInfo &Info)=0
virtual bool TryReadMPCookMessageForPackage(FName PackageName, FCbObjectView Message)=0
virtual void CompleteExportsArchiveForDiff(const FPackageInfo &Info, FLargeMemoryWriter &ExportsArchive)
virtual void WriteAdditionalFile(const FAdditionalFileInfo &Info, const FIoBuffer &FileData)=0
virtual int64 GetExportsFooterSize()
virtual ~IPackageWriter()=default
virtual bool IsPreSaveCompleted() const
virtual void WriteBulkData(const FBulkDataInfo &Info, const FIoBuffer &BulkData, const TArray< FFileRegion > &FileRegions)=0
virtual void BeginPackage(const FBeginPackageInfo &Info)=0
virtual void WritePackageData(const FPackageInfo &Info, FLargeMemoryWriter &ExportsArchive, const TArray< FFileRegion > &FileRegions)=0
virtual void WriteLinkerAdditionalData(const FLinkerAdditionalDataInfo &Info, const FIoBuffer &Data, const TArray< FFileRegion > &FileRegions)=0
virtual void WritePackageTrailer(const FPackageTrailerInfo &Info, const FIoBuffer &Data)=0
virtual FCapabilities GetCapabilities() const
virtual ICookedPackageWriter * AsCookedPackageWriter()
virtual void CommitPackage(FCommitPackageInfo &&Info)=0
static FDateTime MaxValue()
TFuture< int > CompletionFuture
TMap< FIoChunkId, FIoHash > ChunkHashes
bool bWorkerOnSharedSandbox
bool bDeclareRegionForEachAdditionalFile
EWriteOptions WriteOptions
TArray< FCommitAttachmentInfo > Attachments