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::Archive Class Reference

Inherits AZ::IO::IArchive, and AZ::IO::CompressionBus::Handler.

Public Member Functions

 AZ_RTTI (Archive, "{764A2260-FF8A-4C86-B958-EBB0B69D9DFA}", IArchive)
 
 AZ_CLASS_ALLOCATOR (Archive, AZ::OSAllocator)
 
void FindCompressionInfo (bool &found, AZ::IO::CompressionInfo &info, const AZ::IO::PathView filePath) override
 CompressionBus Handler implementation.
 
void SetLocalizationFolder (AZStd::string_view sLocalizationFolder) override
 
const char * GetLocalizationFolder () const override
 
const char * GetLocalizationRoot () const override
 
AZStd::intrusive_ptr< INestedArchiveOpenArchive (AZStd::string_view szPath, AZStd::string_view bindRoot={}, uint32_t nArchiveFlags=0, AZStd::intrusive_ptr< AZ::IO::MemoryBlock > pData=nullptr) override
 
AZ::IO::PathView GetFileArchivePath (AZ::IO::HandleType fileHandle) override
 
void * PoolMalloc (size_t size) override
 Return pointer to pool if available.
 
void PoolFree (void *p) override
 Free pool.
 
void RegisterFileAccessSink (IArchiveFileAccessSink *pSink) override
 
void UnregisterFileAccessSink (IArchiveFileAccessSink *pSink) override
 
bool OpenPack (AZStd::string_view pName, AZStd::intrusive_ptr< AZ::IO::MemoryBlock > pData=nullptr, AZ::IO::FixedMaxPathString *pFullPath=nullptr, bool addLevels=true) override
 
bool OpenPack (AZStd::string_view szBindRoot, AZStd::string_view pName, AZStd::intrusive_ptr< AZ::IO::MemoryBlock > pData=nullptr, AZ::IO::FixedMaxPathString *pFullPath=nullptr, bool addLevels=true) override
 
bool ClosePack (AZStd::string_view pName) override
 
bool OpenPacks (AZStd::string_view pWildcard, AZStd::vector< AZ::IO::FixedMaxPathString > *pFullPaths=nullptr) override
 
bool OpenPacks (AZStd::string_view szBindRoot, AZStd::string_view pWildcard, AZStd::vector< AZ::IO::FixedMaxPathString > *pFullPaths=nullptr) override
 
bool ClosePacks (AZStd::string_view pWildcard) override
 
bool FindPacks (AZStd::string_view pWildcardIn) override
 
bool SetPacksAccessible (bool bAccessible, AZStd::string_view pWildcard) override
 
bool SetPackAccessible (bool bAccessible, AZStd::string_view pName) override
 
uint64_t GetModificationTime (AZ::IO::HandleType fileHandle) override
 
AZ::IO::HandleType FOpen (AZStd::string_view pName, const char *mode) override
 
size_t FRead (void *data, size_t bytesToRead, AZ::IO::HandleType handle) override
 
void * FGetCachedFileData (AZ::IO::HandleType handle, size_t &nFileSize) override
 
size_t FWrite (const void *data, size_t bytesToWrite, AZ::IO::HandleType handle) override
 
size_t FSeek (AZ::IO::HandleType handle, uint64_t seek, int mode) override
 
uint64_t FTell (AZ::IO::HandleType handle) override
 
int FFlush (AZ::IO::HandleType handle) override
 
int FClose (AZ::IO::HandleType handle) override
 
AZ::IO::ArchiveFileIterator FindFirst (AZStd::string_view pDir, FileSearchLocation searchType=FileSearchLocation::InPak) override
 
AZ::IO::ArchiveFileIterator FindNext (AZ::IO::ArchiveFileIterator fileIterator) override
 
bool FindClose (AZ::IO::ArchiveFileIterator fileIterator) override
 
int FEof (AZ::IO::HandleType handle) override
 
size_t FGetSize (AZ::IO::HandleType fileHandle) override
 
size_t FGetSize (AZStd::string_view sFilename, bool bAllowUseFileSystem=false) override
 
bool IsInPak (AZ::IO::HandleType handle) override
 
bool RemoveFile (AZStd::string_view pName) override
 
bool RemoveDir (AZStd::string_view pName) override
 
bool IsAbsPath (AZStd::string_view pPath) override
 
bool IsFileExist (AZStd::string_view sFilename, FileSearchLocation fileLocation=FileSearchLocation::Any) override
 
bool IsFolder (AZStd::string_view sPath) override
 
IArchive::SignedFileSize GetFileSizeOnDisk (AZStd::string_view filename) override
 
int RawCompress (const void *pUncompressed, size_t *pDestSize, void *pCompressed, size_t nSrcSize, int nLevel=-1) override
 
int RawUncompress (void *pUncompressed, size_t *pDestSize, const void *pCompressed, size_t nSrcSize) override
 
void RecordFileOpen (ERecordFileOpenList eMode) override
 
ERecordFileOpenList GetRecordFileOpenList () override
 
void RecordFile (AZ::IO::HandleType in, AZStd::string_view szFilename) override
 
IResourceListGetResourceList (ERecordFileOpenList eList) override
 
void SetResourceList (ERecordFileOpenList eList, IResourceList *pResourceList) override
 
void DisableRuntimeFileAccess (bool status) override
 
bool DisableRuntimeFileAccess (bool status, AZStd::thread_id threadId) override
 
FileSearchPriority GetPakPriority () const override
 
uint64_t GetFileOffsetOnMedia (AZStd::string_view szName) const override
 
EStreamSourceMediaType GetFileMediaType (AZStd::string_view szName) const override
 
auto GetLevelPackOpenEvent () -> LevelPackOpenEvent *override
 
auto GetLevelPackCloseEvent () -> LevelPackCloseEvent *override
 
CCachedFileDataPtr GetOpenedFileDataInZip (AZ::IO::HandleType file)
 
ZipDir::FileEntryFindPakFileEntry (AZStd::string_view szPath, uint32_t &nArchiveFlags, ZipDir::CachePtr *pZip={}) const
 
- Public Member Functions inherited from AZ::IO::IArchive
 AZ_RTTI (IArchive, "{764A2260-FF8A-4C86-B958-EBB0B69D9DFA}")
 
virtual bool OpenPack (AZStd::string_view pName, AZStd::intrusive_ptr< AZ::IO::MemoryBlock > pData={}, AZ::IO::FixedMaxPathString *pFullPath=nullptr, bool addLevels=true)=0
 
virtual bool OpenPack (AZStd::string_view pBindingRoot, AZStd::string_view pName, AZStd::intrusive_ptr< AZ::IO::MemoryBlock > pData={}, AZ::IO::FixedMaxPathString *pFullPath=nullptr, bool addLevels=true)=0
 
virtual bool ClosePack (AZStd::string_view pName)=0
 
virtual bool OpenPacks (AZStd::string_view pWildcard, AZStd::vector< AZ::IO::FixedMaxPathString > *pFullPaths=nullptr)=0
 
virtual bool OpenPacks (AZStd::string_view pBindingRoot, AZStd::string_view pWildcard, AZStd::vector< AZ::IO::FixedMaxPathString > *pFullPaths=nullptr)=0
 
virtual bool ClosePacks (AZStd::string_view pWildcard)=0
 
virtual bool FindPacks (AZStd::string_view pWildcardIn)=0
 
virtual bool SetPacksAccessible (bool bAccessible, AZStd::string_view pWildcard)=0
 
virtual bool SetPackAccessible (bool bAccessible, AZStd::string_view pName)=0
 
virtual void SetLocalizationFolder (AZStd::string_view sLocalizationFolder)=0
 
virtual const char * GetLocalizationFolder () const =0
 
virtual const char * GetLocalizationRoot () const =0
 
virtual AZ::IO::HandleType FOpen (AZStd::string_view pName, const char *mode)=0
 
virtual void * FGetCachedFileData (AZ::IO::HandleType fileHandle, size_t &nFileSize)=0
 
virtual size_t FRead (void *data, size_t bytesToRead, AZ::IO::HandleType fileHandle)=0
 
virtual size_t FWrite (const void *data, size_t bytesToWrite, AZ::IO::HandleType fileHandle)=0
 
virtual size_t FGetSize (AZ::IO::HandleType fileHandle)=0
 
virtual size_t FGetSize (AZStd::string_view pName, bool bAllowUseFileSystem=false)=0
 
virtual bool IsInPak (AZ::IO::HandleType fileHandle)=0
 
virtual bool RemoveFile (AZStd::string_view pName)=0
 
virtual bool RemoveDir (AZStd::string_view pName)=0
 
virtual bool IsAbsPath (AZStd::string_view pPath)=0
 
virtual size_t FSeek (AZ::IO::HandleType fileHandle, uint64_t seek, int mode)=0
 
virtual uint64_t FTell (AZ::IO::HandleType fileHandle)=0
 
virtual int FClose (AZ::IO::HandleType fileHandle)=0
 
virtual int FEof (AZ::IO::HandleType fileHandle)=0
 
virtual int FFlush (AZ::IO::HandleType fileHandle)=0
 
virtual void * PoolMalloc (size_t size)=0
 Return pointer to pool if available.
 
virtual void PoolFree (void *p)=0
 Free pool.
 
virtual ArchiveFileIterator FindFirst (AZStd::string_view pDir, FileSearchLocation searchType=FileSearchLocation::InPak)=0
 
virtual ArchiveFileIterator FindNext (AZ::IO::ArchiveFileIterator handle)=0
 
virtual bool FindClose (AZ::IO::ArchiveFileIterator handle)=0
 
virtual IArchive::FileTime GetModificationTime (AZ::IO::HandleType fileHandle)=0
 
virtual bool IsFileExist (AZStd::string_view sFilename, FileSearchLocation=FileSearchLocation::Any)=0
 
virtual bool IsFolder (AZStd::string_view sPath)=0
 
virtual IArchive::SignedFileSize GetFileSizeOnDisk (AZStd::string_view filename)=0
 
virtual AZStd::intrusive_ptr< INestedArchiveOpenArchive (AZStd::string_view szPath, AZStd::string_view={}, uint32_t nFlags=0, AZStd::intrusive_ptr< AZ::IO::MemoryBlock > pData=nullptr)=0
 
virtual AZ::IO::PathView GetFileArchivePath (AZ::IO::HandleType fileHandle)=0
 
virtual int RawCompress (const void *pUncompressed, size_t *pDestSize, void *pCompressed, size_t nSrcSize, int nLevel=-1)=0
 
virtual int RawUncompress (void *pUncompressed, size_t *pDestSize, const void *pCompressed, size_t nSrcSize)=0
 
virtual void RecordFileOpen (ERecordFileOpenList eList)=0
 
virtual void RecordFile (AZ::IO::HandleType infileHandle, AZStd::string_view szFilename)=0
 
virtual IResourceListGetResourceList (ERecordFileOpenList eList)=0
 
virtual void SetResourceList (ERecordFileOpenList eList, IResourceList *pResourceList)=0
 
virtual IArchive::ERecordFileOpenList GetRecordFileOpenList ()=0
 
virtual void RegisterFileAccessSink (IArchiveFileAccessSink *pSink)=0
 
virtual void UnregisterFileAccessSink (IArchiveFileAccessSink *pSink)=0
 
virtual void DisableRuntimeFileAccess (bool status)=0
 
virtual bool DisableRuntimeFileAccess (bool status, AZStd::thread_id threadId)=0
 
virtual FileSearchPriority GetPakPriority () const =0
 
virtual uint64_t GetFileOffsetOnMedia (AZStd::string_view szName) const =0
 
virtual EStreamSourceMediaType GetFileMediaType (AZStd::string_view szName) const =0
 
virtual auto GetLevelPackOpenEvent () -> LevelPackOpenEvent *=0
 
virtual auto GetLevelPackCloseEvent () -> LevelPackCloseEvent *=0
 

Friends

struct CCachedFileData
 
class FindData
 
class NestedArchive
 
struct SAutoCollectFileAccessTime
 

Additional Inherited Members

- Public Types inherited from AZ::IO::IArchive
enum  ERecordFileOpenList { RFOM_Disabled , RFOM_EngineStartup , RFOM_Level , RFOM_NextLevel }
 
enum  EInMemoryArchiveLocation { eInMemoryPakLocale_Unload = 0 , eInMemoryPakLocale_CPU , eInMemoryPakLocale_GPU , eInMemoryPakLocale_PAK }
 
using FileTime = uint64_t
 
using SignedFileSize = int64_t
 
using LevelPackOpenEvent = AZ::Event< const AZStd::vector< AZ::IO::Path > & >
 
using LevelPackCloseEvent = AZ::Event< AZStd::string_view >
 
- Static Public Attributes inherited from AZ::IO::IArchive
static constexpr IArchive::SignedFileSize FILE_NOT_PRESENT = -1
 

Member Function Documentation

◆ ClosePack()

bool AZ::IO::Archive::ClosePack ( AZStd::string_view  pName)
overridevirtual

Implements AZ::IO::IArchive.

◆ ClosePacks()

bool AZ::IO::Archive::ClosePacks ( AZStd::string_view  pWildcard)
overridevirtual

Implements AZ::IO::IArchive.

◆ DisableRuntimeFileAccess() [1/2]

void AZ::IO::Archive::DisableRuntimeFileAccess ( bool  status)
inlineoverridevirtual

Implements AZ::IO::IArchive.

◆ DisableRuntimeFileAccess() [2/2]

bool AZ::IO::Archive::DisableRuntimeFileAccess ( bool  status,
AZStd::thread_id  threadId 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ FClose()

int AZ::IO::Archive::FClose ( AZ::IO::HandleType  handle)
overridevirtual

Implements AZ::IO::IArchive.

◆ FEof()

int AZ::IO::Archive::FEof ( AZ::IO::HandleType  handle)
overridevirtual

Implements AZ::IO::IArchive.

◆ FFlush()

int AZ::IO::Archive::FFlush ( AZ::IO::HandleType  handle)
overridevirtual

Implements AZ::IO::IArchive.

◆ FGetCachedFileData()

void * AZ::IO::Archive::FGetCachedFileData ( AZ::IO::HandleType  handle,
size_t &  nFileSize 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ FGetSize() [1/2]

size_t AZ::IO::Archive::FGetSize ( AZ::IO::HandleType  fileHandle)
overridevirtual

Implements AZ::IO::IArchive.

◆ FGetSize() [2/2]

size_t AZ::IO::Archive::FGetSize ( AZStd::string_view  sFilename,
bool  bAllowUseFileSystem = false 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ FindClose()

bool AZ::IO::Archive::FindClose ( AZ::IO::ArchiveFileIterator  fileIterator)
overridevirtual

Implements AZ::IO::IArchive.

◆ FindFirst()

AZ::IO::ArchiveFileIterator AZ::IO::Archive::FindFirst ( AZStd::string_view  pDir,
FileSearchLocation  searchType = FileSearchLocation::InPak 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ FindNext()

AZ::IO::ArchiveFileIterator AZ::IO::Archive::FindNext ( AZ::IO::ArchiveFileIterator  fileIterator)
overridevirtual

Implements AZ::IO::IArchive.

◆ FindPacks()

bool AZ::IO::Archive::FindPacks ( AZStd::string_view  pWildcardIn)
overridevirtual

Implements AZ::IO::IArchive.

◆ FOpen()

AZ::IO::HandleType AZ::IO::Archive::FOpen ( AZStd::string_view  pName,
const char *  mode 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ FRead()

size_t AZ::IO::Archive::FRead ( void *  data,
size_t  bytesToRead,
AZ::IO::HandleType  handle 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ FSeek()

size_t AZ::IO::Archive::FSeek ( AZ::IO::HandleType  handle,
uint64_t  seek,
int  mode 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ FTell()

uint64_t AZ::IO::Archive::FTell ( AZ::IO::HandleType  handle)
overridevirtual

Implements AZ::IO::IArchive.

◆ FWrite()

size_t AZ::IO::Archive::FWrite ( const void *  data,
size_t  bytesToWrite,
AZ::IO::HandleType  handle 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ GetFileArchivePath()

AZ::IO::PathView AZ::IO::Archive::GetFileArchivePath ( AZ::IO::HandleType  fileHandle)
overridevirtual

Implements AZ::IO::IArchive.

◆ GetFileMediaType()

EStreamSourceMediaType AZ::IO::Archive::GetFileMediaType ( AZStd::string_view  szName) const
overridevirtual

Implements AZ::IO::IArchive.

◆ GetFileOffsetOnMedia()

uint64_t AZ::IO::Archive::GetFileOffsetOnMedia ( AZStd::string_view  szName) const
overridevirtual

Implements AZ::IO::IArchive.

◆ GetFileSizeOnDisk()

IArchive::SignedFileSize AZ::IO::Archive::GetFileSizeOnDisk ( AZStd::string_view  filename)
overridevirtual

Implements AZ::IO::IArchive.

◆ GetLevelPackCloseEvent()

auto AZ::IO::Archive::GetLevelPackCloseEvent ( ) -> LevelPackCloseEvent *override
overridevirtual

Implements AZ::IO::IArchive.

◆ GetLevelPackOpenEvent()

auto AZ::IO::Archive::GetLevelPackOpenEvent ( ) -> LevelPackOpenEvent *override
overridevirtual

Implements AZ::IO::IArchive.

◆ GetLocalizationFolder()

const char * AZ::IO::Archive::GetLocalizationFolder ( ) const
inlineoverridevirtual

Implements AZ::IO::IArchive.

◆ GetLocalizationRoot()

const char * AZ::IO::Archive::GetLocalizationRoot ( ) const
inlineoverridevirtual

Implements AZ::IO::IArchive.

◆ GetModificationTime()

uint64_t AZ::IO::Archive::GetModificationTime ( AZ::IO::HandleType  fileHandle)
overridevirtual

Implements AZ::IO::IArchive.

◆ GetPakPriority()

FileSearchPriority AZ::IO::Archive::GetPakPriority ( ) const
overridevirtual

Implements AZ::IO::IArchive.

◆ GetRecordFileOpenList()

ERecordFileOpenList AZ::IO::Archive::GetRecordFileOpenList ( )
overridevirtual

Implements AZ::IO::IArchive.

◆ GetResourceList()

IResourceList * AZ::IO::Archive::GetResourceList ( ERecordFileOpenList  eList)
overridevirtual

Implements AZ::IO::IArchive.

◆ IsAbsPath()

bool AZ::IO::Archive::IsAbsPath ( AZStd::string_view  pPath)
overridevirtual

Implements AZ::IO::IArchive.

◆ IsFileExist()

bool AZ::IO::Archive::IsFileExist ( AZStd::string_view  sFilename,
FileSearchLocation  fileLocation = FileSearchLocation::Any 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ IsFolder()

bool AZ::IO::Archive::IsFolder ( AZStd::string_view  sPath)
overridevirtual

Implements AZ::IO::IArchive.

◆ IsInPak()

bool AZ::IO::Archive::IsInPak ( AZ::IO::HandleType  handle)
overridevirtual

Implements AZ::IO::IArchive.

◆ OpenArchive()

AZStd::intrusive_ptr< INestedArchive > AZ::IO::Archive::OpenArchive ( AZStd::string_view  szPath,
AZStd::string_view  bindRoot = {},
uint32_t  nArchiveFlags = 0,
AZStd::intrusive_ptr< AZ::IO::MemoryBlock pData = nullptr 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ OpenPack() [1/2]

bool AZ::IO::Archive::OpenPack ( AZStd::string_view  pName,
AZStd::intrusive_ptr< AZ::IO::MemoryBlock pData = nullptr,
AZ::IO::FixedMaxPathString *  pFullPath = nullptr,
bool  addLevels = true 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ OpenPack() [2/2]

bool AZ::IO::Archive::OpenPack ( AZStd::string_view  szBindRoot,
AZStd::string_view  pName,
AZStd::intrusive_ptr< AZ::IO::MemoryBlock pData = nullptr,
AZ::IO::FixedMaxPathString *  pFullPath = nullptr,
bool  addLevels = true 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ OpenPacks() [1/2]

bool AZ::IO::Archive::OpenPacks ( AZStd::string_view  pWildcard,
AZStd::vector< AZ::IO::FixedMaxPathString > *  pFullPaths = nullptr 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ OpenPacks() [2/2]

bool AZ::IO::Archive::OpenPacks ( AZStd::string_view  szBindRoot,
AZStd::string_view  pWildcard,
AZStd::vector< AZ::IO::FixedMaxPathString > *  pFullPaths = nullptr 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ PoolFree()

void AZ::IO::Archive::PoolFree ( void *  p)
overridevirtual

Free pool.

Implements AZ::IO::IArchive.

◆ PoolMalloc()

void * AZ::IO::Archive::PoolMalloc ( size_t  size)
overridevirtual

Return pointer to pool if available.

Implements AZ::IO::IArchive.

◆ RawCompress()

int AZ::IO::Archive::RawCompress ( const void *  pUncompressed,
size_t *  pDestSize,
void *  pCompressed,
size_t  nSrcSize,
int  nLevel = -1 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ RawUncompress()

int AZ::IO::Archive::RawUncompress ( void *  pUncompressed,
size_t *  pDestSize,
const void *  pCompressed,
size_t  nSrcSize 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ RecordFile()

void AZ::IO::Archive::RecordFile ( AZ::IO::HandleType  in,
AZStd::string_view  szFilename 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ RecordFileOpen()

void AZ::IO::Archive::RecordFileOpen ( ERecordFileOpenList  eMode)
overridevirtual

Implements AZ::IO::IArchive.

◆ RegisterFileAccessSink()

void AZ::IO::Archive::RegisterFileAccessSink ( IArchiveFileAccessSink pSink)
overridevirtual

Implements AZ::IO::IArchive.

◆ RemoveDir()

bool AZ::IO::Archive::RemoveDir ( AZStd::string_view  pName)
overridevirtual

Implements AZ::IO::IArchive.

◆ RemoveFile()

bool AZ::IO::Archive::RemoveFile ( AZStd::string_view  pName)
overridevirtual

Implements AZ::IO::IArchive.

◆ SetLocalizationFolder()

void AZ::IO::Archive::SetLocalizationFolder ( AZStd::string_view  sLocalizationFolder)
overridevirtual

Implements AZ::IO::IArchive.

◆ SetPackAccessible()

bool AZ::IO::Archive::SetPackAccessible ( bool  bAccessible,
AZStd::string_view  pName 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ SetPacksAccessible()

bool AZ::IO::Archive::SetPacksAccessible ( bool  bAccessible,
AZStd::string_view  pWildcard 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ SetResourceList()

void AZ::IO::Archive::SetResourceList ( ERecordFileOpenList  eList,
IResourceList pResourceList 
)
overridevirtual

Implements AZ::IO::IArchive.

◆ UnregisterFileAccessSink()

void AZ::IO::Archive::UnregisterFileAccessSink ( IArchiveFileAccessSink pSink)
overridevirtual

Implements AZ::IO::IArchive.


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