FileStream Class Reference

#include <fileStream.h>

Inheritance diagram for FileStream:

Inheritance graph
[legend]
List of all members.

Public Types

 BUFFER_SIZE = 8 * 1024
 BUFFER_INVALID = 0xffffffff
enum  {
  BUFFER_SIZE = 8 * 1024,
  BUFFER_INVALID = 0xffffffff
}

Public Member Functions

 FileStream ()
virtual ~FileStream ()
virtual bool hasCapability (const Capability i_cap) const
virtual U32 getPosition () const
 Gets the position in the stream.
virtual bool setPosition (const U32 i_newPosition)
 Sets the position of the stream. Returns if the new position is valid or not.
virtual U32 getStreamSize ()
 Gets the size of the stream.
virtual bool open (const String &inFileName, Torque::FS::File::AccessMode inMode)
virtual void close ()
bool flush ()

Static Public Member Functions

static FileStreamcreateAndOpen (const String &inFileName, Torque::FS::File::AccessMode inMode)

Protected Member Functions

virtual bool _read (const U32 i_numBytes, void *o_pBuffer)
virtual bool _write (const U32 i_numBytes, const void *i_pBuffer)
void init ()
bool fillBuffer (const U32 i_startPosition)
void clearBuffer ()
void setStatus ()

Static Protected Member Functions

static void calcBlockHead (const U32 i_position, U32 *o_blockHead)
static void calcBlockBounds (const U32 i_position, U32 *o_blockHead, U32 *o_blockTail)

Protected Attributes

U32 mStreamCaps

Private Member Functions

 FileStream (const FileStream &i_fileStrm)
FileStreamoperator= (const FileStream &i_fileStrm)

Private Attributes

Torque::FS::FileRef mFile
U8 mBuffer [BUFFER_SIZE]
U32 mBuffHead
U32 mBuffPos
U32 mBuffTail
bool mDirty
bool mEOF

Member Enumeration Documentation

anonymous enum

Enumerator:
BUFFER_SIZE 
BUFFER_INVALID 


Constructor & Destructor Documentation

FileStream::FileStream (  ) 

virtual FileStream::~FileStream (  )  [virtual]

FileStream::FileStream ( const FileStream i_fileStrm  )  [private]


Member Function Documentation

static FileStream* FileStream::createAndOpen ( const String inFileName,
Torque::FS::File::AccessMode  inMode 
) [static]

virtual bool FileStream::hasCapability ( const Capability  i_cap  )  const [virtual]

virtual U32 FileStream::getPosition (  )  const [virtual]

Gets the position in the stream.

Implements Stream.

virtual bool FileStream::setPosition ( const U32  i_newPosition  )  [virtual]

Sets the position of the stream. Returns if the new position is valid or not.

Implements Stream.

Reimplemented in Zip::ZipTempStream.

virtual U32 FileStream::getStreamSize (  )  [virtual]

Gets the size of the stream.

Implements Stream.

virtual bool FileStream::open ( const String inFileName,
Torque::FS::File::AccessMode  inMode 
) [virtual]

virtual void FileStream::close (  )  [virtual]

Reimplemented in Zip::ZipTempStream.

bool FileStream::flush (  ) 

virtual bool FileStream::_read ( const U32  i_numBytes,
void o_pBuffer 
) [protected, virtual]

Implements Stream.

virtual bool FileStream::_write ( const U32  i_numBytes,
const void i_pBuffer 
) [protected, virtual]

Implements Stream.

void FileStream::init (  )  [protected]

bool FileStream::fillBuffer ( const U32  i_startPosition  )  [protected]

void FileStream::clearBuffer (  )  [protected]

static void FileStream::calcBlockHead ( const U32  i_position,
U32 o_blockHead 
) [static, protected]

static void FileStream::calcBlockBounds ( const U32  i_position,
U32 o_blockHead,
U32 o_blockTail 
) [static, protected]

void FileStream::setStatus (  )  [protected]

FileStream& FileStream::operator= ( const FileStream i_fileStrm  )  [private]


Member Data Documentation

U8 FileStream::mBuffer[BUFFER_SIZE] [private]