XII Release 0.1.0
Loading...
Searching...
No Matches
xiiDataDirectoryReader Class Referenceabstract

A base class for readers that handle reading from a (virtual) file inside a data directory. More...

#include <DataDirType.h>

Inheritance diagram for xiiDataDirectoryReader:
[legend]

Public Member Functions

 xiiDataDirectoryReader (xiiInt32 iDataDirUserData)
 
virtual xiiUInt64 Read (void *pBuffer, xiiUInt64 uiBytes)=0
 
virtual xiiUInt64 Skip (xiiUInt64 uiBytes)
 Helper method to skip a number of bytes (implementations of the directory reader may implement this more efficiently for example)
 
- Public Member Functions inherited from xiiDataDirectoryReaderWriterBase
 xiiDataDirectoryReaderWriterBase (xiiInt32 iDataDirUserData, bool bIsReader)
 The derived class should pass along whether it is a reader or writer.
 
xiiResult Open (xiiStringView sFile, xiiDataDirectoryType *pOwnerDataDirectory, xiiFileShareMode::Enum fileShareMode)
 Used by xiiDataDirectoryType's to try to open the given file. They need to pass along their own pointer.
 
void Close ()
 Closes this data stream.
 
const xiiString128GetFilePath () const
 Returns the relative path of this file within the owner data directory.
 
xiiDataDirectoryTypeGetDataDirectory () 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 xiiUInt64 GetFileSize () const =0
 Returns the current total size of the file.
 
xiiInt32 GetDataDirUserData () const
 

Additional Inherited Members

- Protected Member Functions inherited from xiiDataDirectoryReaderWriterBase
virtual xiiResult InternalOpen (xiiFileShareMode::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.
 
- Protected Attributes inherited from xiiDataDirectoryReaderWriterBase
bool m_bIsReader
 
xiiInt32 m_iDataDirUserData = 0
 
xiiDataDirectoryTypem_pDataDirType
 
xiiString128 m_sFilePath
 

Detailed Description

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.

Member Function Documentation

◆ Skip()

virtual xiiUInt64 xiiDataDirectoryReader::Skip ( xiiUInt64 uiBytes)
inlinevirtual

Helper method to skip a number of bytes (implementations of the directory reader may implement this more efficiently for example)

Reimplemented in xiiDataDirectory::ArchiveReaderUncompressed, and xiiDataDirectory::FolderReader.


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