CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

csMemFile Class Reference

Essentially a raw memory buffer which implements the abstract iFile interface. More...

#include <memfile.h>

Inheritance diagram for csMemFile:

iFile iBase List of all members.

Public Types

enum  Disposition { DISPOSITION_DELETE, DISPOSITION_FREE, DISPOSITION_IGNORE }
 Disposition of memory buffer at destruction time. More...


Public Methods

 csMemFile ()
 Construct an empty memory file.

 csMemFile (const char *, size_t)
 Construct a memory file from an existing memory buffer but do not free.

 csMemFile (char *, size_t, Disposition=DISPOSITION_DELETE)
 Construct a memory file from an existing memory buffer and free later.

virtual ~csMemFile ()
 Destructor.

virtual const char * GetName ()
 Returns "csMemFile";.

virtual size_t GetSize ()
 Query buffer size.

virtual int GetStatus ()
 Check (and clear) file last error status.

virtual size_t Read (char *Data, size_t DataSize)
 Read data from buffer.

virtual size_t Write (const char *Data, size_t DataSize)
 Write data to buffer.

virtual void Flush ()
 Flush the stream.

virtual bool AtEOF ()
 Return true if at end of buffer.

virtual size_t GetPos ()
 Query current cursor position.

virtual bool SetPos (size_t)
 Set current cursor position.

virtual csPtr< iDataBufferGetAllData (bool nullterm=false)
 Get entire file data in one go.

virtual const char * GetData () const
 Returns a pointer to the memory buffer.


Detailed Description

Essentially a raw memory buffer which implements the abstract iFile interface.

Definition at line 29 of file memfile.h.


Member Enumeration Documentation

enum csMemFile::Disposition
 

Disposition of memory buffer at destruction time.

Enumeration values:
DISPOSITION_DELETE  Deallocate with delete[].
DISPOSITION_FREE  Deallocate with free().
DISPOSITION_IGNORE  Ignore; assume that outside agent owns buffer.

Definition at line 33 of file memfile.h.


Constructor & Destructor Documentation

csMemFile::csMemFile  
 

Construct an empty memory file.

csMemFile::csMemFile const char *   ,
size_t   
 

Construct a memory file from an existing memory buffer but do not free.

csMemFile::csMemFile char *   ,
size_t   ,
Disposition    = DISPOSITION_DELETE
 

Construct a memory file from an existing memory buffer and free later.

virtual csMemFile::~csMemFile   [virtual]
 

Destructor.


Member Function Documentation

virtual bool csMemFile::AtEOF   [virtual]
 

Return true if at end of buffer.

Implements iFile.

virtual void csMemFile::Flush   [virtual]
 

Flush the stream.

Implements iFile.

virtual csPtr<iDataBuffer> csMemFile::GetAllData bool    nullterm = false [virtual]
 

Get entire file data in one go.

Creates a copy of the data, so changing the file won't affect any buffers previously returned by this function.

Implements iFile.

virtual const char* csMemFile::GetData   [virtual]
 

Returns a pointer to the memory buffer.

May return 0 if memory file is empty. Use GetSize() for size info.

virtual const char* csMemFile::GetName   [virtual]
 

Returns "csMemFile";.

Implements iFile.

virtual size_t csMemFile::GetPos   [virtual]
 

Query current cursor position.

Implements iFile.

virtual size_t csMemFile::GetSize   [virtual]
 

Query buffer size.

Implements iFile.

virtual int csMemFile::GetStatus   [virtual]
 

Check (and clear) file last error status.

Implements iFile.

virtual size_t csMemFile::Read char *    Data,
size_t    DataSize
[virtual]
 

Read data from buffer.

Implements iFile.

virtual bool csMemFile::SetPos size_t    [virtual]
 

Set current cursor position.

Implements iFile.

virtual size_t csMemFile::Write const char *    Data,
size_t    DataSize
[virtual]
 

Write data to buffer.

Implements iFile.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.18