![]() |
Plasma Engine
2.0
|
A base class for readers that handle reading from a (virtual) file inside a data directory. More...
#include <DataDirType.h>
Public Member Functions | |
plDataDirectoryReader (plInt32 iDataDirUserData) | |
virtual plUInt64 | Read (void *pBuffer, plUInt64 uiBytes)=0 |
virtual plUInt64 | Skip (plUInt64 uiBytes) |
Helper method to skip a number of bytes (implementations of the directory reader may implement this more efficiently for example) | |
![]() | |
plDataDirectoryReaderWriterBase (plInt32 iDataDirUserData, bool bIsReader) | |
The derived class should pass along whether it is a reader or writer. | |
plResult | Open (plStringView sFile, plDataDirectoryType *pOwnerDataDirectory, plFileShareMode::Enum fileShareMode) |
Used by plDataDirectoryType's to try to open the given file. They need to pass along their own pointer. | |
void | Close () |
Closes this data stream. | |
const plString128 & | GetFilePath () const |
Returns the relative path of this file within the owner data directory. | |
plDataDirectoryType * | GetDataDirectory () const |
Returns the pointer to the data directory, which created this reader/writer. | |
bool | IsReader () const |
Returns true if this is a reader stream, false if it is a writer stream. | |
virtual plUInt64 | GetFileSize () const =0 |
Returns the current total size of the file. | |
plInt32 | GetDataDirUserData () const |
Additional Inherited Members | |
![]() | |
virtual plResult | InternalOpen (plFileShareMode::Enum FileShareMode)=0 |
This function must be implemented by the derived class. | |
virtual void | InternalClose ()=0 |
This function must be implemented by the derived class. | |
![]() | |
bool | m_bIsReader |
plInt32 | m_iDataDirUserData = 0 |
plDataDirectoryType * | m_pDataDirType |
plString128 | m_sFilePath |
A base class for readers that handle reading from a (virtual) file inside a data directory.
Different data directory types (ZIP file, simple folder, etc.) use different reader/writer types.
|
inlinevirtual |
Helper method to skip a number of bytes (implementations of the directory reader may implement this more efficiently for example)
Reimplemented in plDataDirectory::ArchiveReaderUncompressed, and plDataDirectory::FolderReader.