Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::IO::NestedArchive Class Reference

Inherits AZ::IO::INestedArchive.

Public Member Functions

 AZ_CLASS_ALLOCATOR (NestedArchive, AZ::SystemAllocator)
 
 NestedArchive (IArchive *pArchive, AZStd::string_view strBindRoot, ZipDir::CachePtr pCache, uint32_t nFlags=0)
 
auto GetRootFolderHandle () -> Handle override
 
int UpdateFile (AZStd::string_view szRelativePath, const void *pUncompressed, uint64_t nSize, uint32_t nCompressionMethod=ZipFile::METHOD_STORE, int nCompressionLevel=-1, CompressionCodec::Codec codec=CompressionCodec::Codec::ZLIB) override
 
int StartContinuousFileUpdate (AZStd::string_view szRelativePath, uint64_t nSize) override
 
int UpdateFileContinuousSegment (AZStd::string_view szRelativePath, uint64_t nSize, const void *pUncompressed, uint64_t nSegmentSize, uint64_t nOverwriteSeekPos) override
 
int UpdateFileCRC (AZStd::string_view szRelativePath, AZ::Crc32 dwCRC) override
 
int RemoveFile (AZStd::string_view szRelativePath) override
 
int RemoveDir (AZStd::string_view szRelativePath) override
 
int RemoveAll () override
 
int ListAllFiles (AZStd::vector< AZ::IO::Path > &outFileEntries) override
 
Handle FindFile (AZStd::string_view szRelativePath) override
 
uint64_t GetFileSize (Handle fileHandle) override
 
int ReadFile (Handle fileHandle, void *pBuffer) override
 
AZ::IO::PathView GetFullPath () const override
 
uint32_t GetFlags () const override
 
bool SetFlags (uint32_t nFlagsToSet) override
 
bool ResetFlags (uint32_t nFlagsToReset) override
 
bool SetPackAccessible (bool bAccessible) override
 
ZipDir::CacheGetCache ()
 
- Public Member Functions inherited from AZ::IO::INestedArchive
virtual Handle GetRootFolderHandle ()=0
 
virtual int UpdateFile (AZStd::string_view szRelativePath, const void *pUncompressed, uint64_t nSize, uint32_t nCompressionMethod=0, int nCompressionLevel=-1, CompressionCodec::Codec codec=CompressionCodec::Codec::ZLIB)=0
 
virtual int StartContinuousFileUpdate (AZStd::string_view szRelativePath, uint64_t nSize)=0
 
virtual int UpdateFileContinuousSegment (AZStd::string_view szRelativePath, uint64_t nSize, const void *pUncompressed, uint64_t nSegmentSize, uint64_t nOverwriteSeekPos=(std::numeric_limits< uint64_t >::max)())=0
 
virtual int UpdateFileCRC (AZStd::string_view szRelativePath, AZ::Crc32 dwCRC)=0
 
virtual int RemoveFile (AZStd::string_view szRelativePath)=0
 
virtual int RemoveDir (AZStd::string_view szRelativePath)=0
 
virtual int RemoveAll ()=0
 
virtual int ListAllFiles (AZStd::vector< AZ::IO::Path > &outFileEntries)=0
 
virtual Handle FindFile (AZStd::string_view szPath)=0
 
virtual uint64_t GetFileSize (Handle)=0
 
virtual int ReadFile (Handle, void *pBuffer)=0
 
virtual AZ::IO::PathView GetFullPath () const =0
 
virtual uint32_t GetFlags () const =0
 
virtual bool SetFlags (uint32_t nFlagsToSet)=0
 
virtual bool ResetFlags (uint32_t nFlagsToSet)=0
 
virtual bool SetPackAccessible (bool bAccessible)=0
 
bool IsReadOnly () const
 

Protected Member Functions

AZ::IO::FixedMaxPathString AdjustPath (AZStd::string_view szRelativePath)
 

Protected Attributes

ZipDir::CachePtr m_pCache
 
AZ::IO::Path m_strBindRoot
 
IArchivem_archive {}
 
uint32_t m_nFlags {}
 

Additional Inherited Members

- Public Types inherited from AZ::IO::INestedArchive
enum  ECompressionMethods { METHOD_STORE = 0 , METHOD_COMPRESS = 8 , METHOD_DEFLATE = 8 , METHOD_COMPRESS_AND_ENCRYPT = 11 }
 
enum  ECompressionLevels {
  LEVEL_FASTEST = 0 , LEVEL_FASTER = 2 , LEVEL_NORMAL = 8 , LEVEL_BETTER = 8 ,
  LEVEL_BEST = 9 , LEVEL_DEFAULT = -1
}
 
enum  EPakFlags {
  FLAGS_ABSOLUTE_PATHS = 1 , FLAGS_RELATIVE_PATHS_ONLY = 1 << 1 , FLAGS_READ_ONLY = 1 << 2 , FLAGS_OPTIMIZED_READ_ONLY = (1 << 3) ,
  FLAGS_CREATE_NEW = 1 << 4 , FLAGS_DONT_COMPACT = 1 << 5 , FLAGS_VALIDATE_HEADERS = 1 << 9 , FLAGS_FULL_VALIDATE = 1 << 10 ,
  FLAGS_DISABLE_PAK = 1 << 11
}
 
using Handle = void *
 

Member Function Documentation

◆ FindFile()

Handle AZ::IO::NestedArchive::FindFile ( AZStd::string_view  szRelativePath)
overridevirtual

◆ GetFileSize()

uint64_t AZ::IO::NestedArchive::GetFileSize ( Handle  fileHandle)
overridevirtual

◆ GetFlags()

uint32_t AZ::IO::NestedArchive::GetFlags ( ) const
overridevirtual

◆ GetFullPath()

AZ::IO::PathView AZ::IO::NestedArchive::GetFullPath ( ) const
overridevirtual

◆ GetRootFolderHandle()

auto AZ::IO::NestedArchive::GetRootFolderHandle ( ) -> Handle
overridevirtual

◆ ListAllFiles()

int AZ::IO::NestedArchive::ListAllFiles ( AZStd::vector< AZ::IO::Path > &  outFileEntries)
overridevirtual

◆ ReadFile()

int AZ::IO::NestedArchive::ReadFile ( Handle  fileHandle,
void *  pBuffer 
)
overridevirtual

◆ RemoveAll()

int AZ::IO::NestedArchive::RemoveAll ( )
overridevirtual

◆ RemoveDir()

int AZ::IO::NestedArchive::RemoveDir ( AZStd::string_view  szRelativePath)
overridevirtual

◆ RemoveFile()

int AZ::IO::NestedArchive::RemoveFile ( AZStd::string_view  szRelativePath)
overridevirtual

◆ ResetFlags()

bool AZ::IO::NestedArchive::ResetFlags ( uint32_t  nFlagsToReset)
overridevirtual

◆ SetFlags()

bool AZ::IO::NestedArchive::SetFlags ( uint32_t  nFlagsToSet)
overridevirtual

◆ SetPackAccessible()

bool AZ::IO::NestedArchive::SetPackAccessible ( bool  bAccessible)
overridevirtual

◆ StartContinuousFileUpdate()

int AZ::IO::NestedArchive::StartContinuousFileUpdate ( AZStd::string_view  szRelativePath,
uint64_t  nSize 
)
overridevirtual

◆ UpdateFile()

int AZ::IO::NestedArchive::UpdateFile ( AZStd::string_view  szRelativePath,
const void *  pUncompressed,
uint64_t  nSize,
uint32_t  nCompressionMethod = ZipFile::METHOD_STORE,
int  nCompressionLevel = -1,
CompressionCodec::Codec  codec = CompressionCodec::Codec::ZLIB 
)
overridevirtual

◆ UpdateFileContinuousSegment()

int AZ::IO::NestedArchive::UpdateFileContinuousSegment ( AZStd::string_view  szRelativePath,
uint64_t  nSize,
const void *  pUncompressed,
uint64_t  nSegmentSize,
uint64_t  nOverwriteSeekPos 
)
overridevirtual

◆ UpdateFileCRC()

int AZ::IO::NestedArchive::UpdateFileCRC ( AZStd::string_view  szRelativePath,
AZ::Crc32  dwCRC 
)
overridevirtual

The documentation for this class was generated from the following file: