CrystalSpace

Public API Reference

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

csMemFile Class Reference

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

#include <csutil/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 Member Functions

 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  )  const [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.3.9.1