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

This is the base class for all data directory readers/writers. More...

#include <DataDirType.h>

Inheritance diagram for xiiDataDirectoryReaderWriterBase:
[legend]

Public Member Functions

 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
 

Protected Member Functions

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

bool m_bIsReader
 
xiiInt32 m_iDataDirUserData = 0
 
xiiDataDirectoryTypem_pDataDirType
 
xiiString128 m_sFilePath
 

Detailed Description

This is the base class for all data directory readers/writers.

Different data directory types (ZIP file, simple folder, etc.) use different reader/writer types.

Member Function Documentation

◆ GetFileSize()

virtual xiiUInt64 xiiDataDirectoryReaderWriterBase::GetFileSize ( ) const
pure virtual

Returns the current total size of the file.

Implemented in xiiDataDirectory::ArchiveReaderCommon, xiiDataDirectory::FolderReader, and xiiDataDirectory::FolderWriter.

◆ InternalClose()

virtual void xiiDataDirectoryReaderWriterBase::InternalClose ( )
protectedpure virtual

◆ InternalOpen()

virtual xiiResult xiiDataDirectoryReaderWriterBase::InternalOpen ( xiiFileShareMode::Enum FileShareMode)
protectedpure virtual

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