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< iDataBuffer > GetAllData (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