Google

Main Page   Class Hierarchy   Compound List   File List   Compound Members  

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 bool AtEOF ()
 Return true if at end of buffer.

virtual size_t GetPos ()
 Query current cursor position.

virtual void SetPos (size_t)
 Set current cursor position.

virtual iDataBufferGetAllData ()
 Get entire file data in one go. More...

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


Public Attributes

 SCF_DECLARE_IBASE

Protected Methods

virtual void FreeBuffer ()

Protected Attributes

Disposition disposition
char* buffer
size_t capacity
size_t size
size_t cursor

Detailed Description

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


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.


Member Function Documentation

iDataBuffer * csMemFile::GetAllData ( ) [virtual]
 

Get entire file data in one go.

When you're done call DecRef().

Reimplemented from iFile.

const char * csMemFile::GetData ( ) const [virtual]
 

Returns a pointer to the memory buffer.

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


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000