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::IArchive Struct Referenceabstract

Inherited by AZ::IO::Archive.

Public Types

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 >
 

Public Member Functions

 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
 

Static Public Attributes

static constexpr IArchive::SignedFileSize FILE_NOT_PRESENT = -1
 

Member Function Documentation

◆ PoolFree()

virtual void AZ::IO::IArchive::PoolFree ( void *  p)
pure virtual

Free pool.

Implemented in AZ::IO::Archive.

◆ PoolMalloc()

virtual void * AZ::IO::IArchive::PoolMalloc ( size_t  size)
pure virtual

Return pointer to pool if available.

Implemented in AZ::IO::Archive.


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