BazisLib::BasicFileBase Class Reference

#include <file.h>

Inherits BazisLib::AIFile.

Inherited by BazisLib::ACMemoryFile, and BazisLib::Network::HTTP::HTTPFile.

Collaboration diagram for BazisLib::BasicFileBase:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual size_t Read (void *pBuffer, size_t size, ActionStatus *pStatus=NULL, bool IncompleteReadSupported=false) override
 Reads data from the file (or stream).
virtual size_t Write (const void *pBuffer, size_t size, ActionStatus *pStatus=NULL) override
virtual LONGLONG GetSize (ActionStatus *pStatus=NULL) override
virtual LONGLONG Seek (LONGLONG Offset, FileFlags::SeekType seekType, ActionStatus *pStatus=NULL) override
virtual LONGLONG GetPosition (ActionStatus *pStatus=NULL) override
virtual void Close () override
virtual bool Valid () override=0
virtual ActionStatus Crop ()
 Sets the end of file to current position.
virtual SecurityDescriptor * GetFileSecurity (ActionStatus *pStatus=NULL) override
virtual ActionStatus SetFileSecurity (SecurityDescriptor *pDescriptor) override
virtual ActionStatus GetFileTimes (DateTime *pCreationTime, DateTime *pLastWriteTime, DateTime *pLastReadTime) override
virtual ActionStatus SetFileTimes (const DateTime *pCreationTime, const DateTime *pLastWriteTime, const DateTime *pLastReadTime) override
virtual bool AsynchronousIOSupported () override
virtual size_t ReadAt (void *pBuffer, ULONGLONG offset, size_t size, IoCompletion *pCompletion=NULL, ActionStatus *pStatus=NULL) override
virtual size_t WriteAt (const void *pBuffer, ULONGLONG offset, size_t size, IoCompletion *pCompletion=NULL, ActionStatus *pStatus=NULL) override

Static Public Member Functions

static LONGLONG DoSeek (ULONGLONG *RealOffset, ULONGLONG FileSize, LONGLONG Offset, FileFlags::SeekType seekType, bool CheckForEnd, ActionStatus *pStatus=NULL)
static size_t DoReadFromMemoryLite (void *pBufferToWrite, size_t MaxSize, const void *pBufferWithData, size_t BufferWithDataSize, size_t *pOffset, size_t *OffsetInTargetBuffer=NULL)
static size_t DoReadFromMemory (void *pBufferToWrite, size_t MaxSize, const void *pBufferWithData, size_t BufferWithDataSize, size_t *pOffset)


Member Function Documentation

virtual bool BazisLib::BasicFileBase::AsynchronousIOSupported (  )  [inline, override, virtual]

Implements BazisLib::AIFile.

virtual void BazisLib::BasicFileBase::Close (  )  [inline, override, virtual]

Implements BazisLib::AIFile.

Reimplemented in BazisLib::ACMemoryFile.

virtual ActionStatus BazisLib::BasicFileBase::Crop (  )  [inline, virtual]

Sets the end of file to current position.

Implements BazisLib::AIFile.

static size_t BazisLib::BasicFileBase::DoReadFromMemory ( void *  pBufferToWrite,
size_t  MaxSize,
const void *  pBufferWithData,
size_t  BufferWithDataSize,
size_t *  pOffset 
) [inline, static]

Here is the call graph for this function:

static size_t BazisLib::BasicFileBase::DoReadFromMemoryLite ( void *  pBufferToWrite,
size_t  MaxSize,
const void *  pBufferWithData,
size_t  BufferWithDataSize,
size_t *  pOffset,
size_t *  OffsetInTargetBuffer = NULL 
) [inline, static]

static LONGLONG BazisLib::BasicFileBase::DoSeek ( ULONGLONG RealOffset,
ULONGLONG  FileSize,
LONGLONG  Offset,
FileFlags::SeekType  seekType,
bool  CheckForEnd,
ActionStatus pStatus = NULL 
) [inline, static]

virtual SecurityDescriptor* BazisLib::BasicFileBase::GetFileSecurity ( ActionStatus pStatus = NULL  )  [inline, override, virtual]

Implements BazisLib::AIFile.

virtual ActionStatus BazisLib::BasicFileBase::GetFileTimes ( DateTime pCreationTime,
DateTime pLastWriteTime,
DateTime pLastReadTime 
) [inline, override, virtual]

Implements BazisLib::AIFile.

virtual LONGLONG BazisLib::BasicFileBase::GetPosition ( ActionStatus pStatus = NULL  )  [inline, override, virtual]

virtual LONGLONG BazisLib::BasicFileBase::GetSize ( ActionStatus pStatus = NULL  )  [inline, override, virtual]

virtual size_t BazisLib::BasicFileBase::Read ( void *  pBuffer,
size_t  size,
ActionStatus pStatus = NULL,
bool  IncompleteReadSupported = false 
) [inline, override, virtual]

Reads data from the file (or stream).

Parameters:
IncompleteReadSupported If this parameter is true, the Read() method can return a value different from the size parameter even when the EOF is not reached. For example, this can happen if a file is actually a network stream and some data is already in the buffer. However, if this parameter is false, the stream will wait till the end of connection, or till the requested amount of bytes will be received. Non-stream implementations can safely ignore this parameter and always wait for the end-of-file, or exactly the requested number of bytes.

Implements BazisLib::AIFile.

Reimplemented in BazisLib::ACMemoryFile, and BazisLib::Network::HTTP::HTTPFile.

virtual size_t BazisLib::BasicFileBase::ReadAt ( void *  pBuffer,
ULONGLONG  offset,
size_t  size,
IoCompletion *  pCompletion = NULL,
ActionStatus pStatus = NULL 
) [inline, override, virtual]

Implements BazisLib::AIFile.

Reimplemented in BazisLib::Network::HTTP::HTTPFile.

virtual LONGLONG BazisLib::BasicFileBase::Seek ( LONGLONG  Offset,
FileFlags::SeekType  seekType,
ActionStatus pStatus = NULL 
) [inline, override, virtual]

virtual ActionStatus BazisLib::BasicFileBase::SetFileSecurity ( SecurityDescriptor *  pDescriptor  )  [inline, override, virtual]

Implements BazisLib::AIFile.

virtual ActionStatus BazisLib::BasicFileBase::SetFileTimes ( const DateTime pCreationTime,
const DateTime pLastWriteTime,
const DateTime pLastReadTime 
) [inline, override, virtual]

Implements BazisLib::AIFile.

virtual bool BazisLib::BasicFileBase::Valid (  )  [override, pure virtual]

virtual size_t BazisLib::BasicFileBase::Write ( const void *  pBuffer,
size_t  size,
ActionStatus pStatus = NULL 
) [inline, override, virtual]

Implements BazisLib::AIFile.

Reimplemented in BazisLib::ACMemoryFile.

virtual size_t BazisLib::BasicFileBase::WriteAt ( const void *  pBuffer,
ULONGLONG  offset,
size_t  size,
IoCompletion *  pCompletion = NULL,
ActionStatus pStatus = NULL 
) [inline, override, virtual]

Implements BazisLib::AIFile.


The documentation for this class was generated from the following file:
SourceForge.net Logo