Advanced Strategic Command
Public Member Functions | Protected Attributes | List of all members
MemoryStream Class Reference

Reads data from or writes data to a MemoryStreamStorage This allows a completely volatile storage of data. More...

#include <basestrm.h>

Inheritance diagram for MemoryStream:
Inheritance graph
[legend]

Public Member Functions

 MemoryStream (MemoryStreamStorage *lbuf, IOMode mode)
 
virtual void writedata (const void *nbuf, int size)
 writes data to the stream More...
 
virtual int readdata (void *nbuf, int size, bool excpt=true)
 Reads data from the stream. More...
 
int dataavail (void)
 
- Public Member Functions inherited from tnstream
 tnstream ()
 
virtual void readpchar (char **pc, int maxlength=0)
 Reads a string. More...
 
virtual void readpnchar (char **pc, int maxlength=0)
 Reads a string. More...
 
virtual bool readTextString (ASCString &s, bool includeCR=false)
 Reads a string. More...
 
virtual ASCString readString (bool includeCR=false)
 Reads and returns a string. More...
 
virtual void writepchar (const char *pc)
 write the C-String pc to the stream More...
 
virtual void writeString (const string &pc, bool binary=true)
 writes the C++ String pc to the stream. More...
 
virtual int readInt (void)
 Reads a 32 bit signed Integer. In the stream little-endian byte order is used and a translation is performed, if necessary. More...
 
virtual int readWord (void)
 Reads a 16 bit unsigned Integer. In the stream little-endian byte order is used and a translation is performed, if necessary. More...
 
virtual Uint8 readUint8 (void)
 Reads a 8 bit unsigned Integer. More...
 
virtual char readCharacter (void)
 Read a 8 bit character. More...
 
template<size_t N>
void writeBitset (const std::bitset< N > &bs)
 
template<size_t N>
void readBitset (std::bitset< N > &bs)
 
virtual float readFloat (void)
 Reads a flaot variable. More...
 
virtual void writeInt (int i)
 Writes a 32 bit signed Integer. In the stream little-endian byte order is used and a translation is performed, if necessary. More...
 
virtual void writeInt (unsigned int i)
 
void writeInt (bool b)
 
virtual void writeWord (int w)
 Writes a 16 bit unsigned Integer. In the stream little-endian byte order is used and a translation is performed, if necessary. More...
 
virtual void writeUint8 (Uint8 c)
 Writes a 8 bit unsigned Integer. More...
 
virtual void writeCharacter (char c)
 Writes a 8 bit character. More...
 
virtual void writeFloat (float f)
 Write a floating point variable. More...
 
virtual void writerlepict (const void *buf)
 Writes an image to the stream and compresses it using RLE. More...
 
virtual void writeImage (const void *buf, bool compress=true)
 Writes an image to the stream. More...
 
virtual void readrlepict (void **pnter, bool allocated, int *size)
 Writes an RLE compressed or uncompressed image from the stream. More...
 
virtual ASCString getDeviceName ()
 returns the name of the stream. More...
 
virtual ASCString getLocation ()
 returns the location of the stream. More...
 
virtual ASCString getArchive ()
 returns the archive name if the stream is located inside an archive; or "" if not. More...
 
virtual void seek (int newpos)
 Sets the stream pointer to a new location. An exception is thrown if the stream does not support seeking. More...
 
virtual int getSize (void)
 returns the size of the stream or -1 if the stream does not have a size More...
 
virtual ~tnstream ()
 

Protected Attributes

int blocksize
 
Uint8 * pointer
 
IOMode _mode
 
int actmempos
 
MemoryStreamStoragebuf
 
- Protected Attributes inherited from tnstream
ASCString devicename
 

Additional Inherited Members

- Public Types inherited from tnstream
enum  IOMode { uninitialized, reading, writing, appending }
 the modes in which a stream can operate More...
 

Detailed Description

Reads data from or writes data to a MemoryStreamStorage This allows a completely volatile storage of data.

Definition at line 204 of file basestrm.h.

Constructor & Destructor Documentation

MemoryStream::MemoryStream ( MemoryStreamStorage lbuf,
IOMode  mode 
)

Member Function Documentation

int MemoryStream::dataavail ( void  )

Definition at line 2408 of file basestrm.cpp.

References _mode, actmempos, buf, and tnstream::writing.

Referenced by trunreplay::readnextaction(), and trunreplay::run().

int MemoryStream::readdata ( void *  buf,
int  size,
bool  excpt = true 
)
virtual

Reads data from the stream.

Parameters
bufthe buffer which the data is written to
sizethe number of bytes which should be read
excptIf true the operation will throw an exception if the desired number of bytes cannot be read.
Returns
the number of bytes which were read.

Implements tnstream.

Definition at line 2391 of file basestrm.cpp.

References _mode, actmempos, buf, and tnstream::reading.

void MemoryStream::writedata ( const void *  buf,
int  size 
)
virtual

writes data to the stream

Parameters
bufpointer to the buffer
sizethe number of bytes which are going to be written

Implements tnstream.

Definition at line 2371 of file basestrm.cpp.

References _mode, blocksize, buf, and tnstream::writing.

Member Data Documentation

IOMode MemoryStream::_mode
protected

Definition at line 208 of file basestrm.h.

Referenced by dataavail(), MemoryStream(), readdata(), and writedata().

int MemoryStream::actmempos
protected

Definition at line 209 of file basestrm.h.

Referenced by dataavail(), MemoryStream(), and readdata().

int MemoryStream::blocksize
protected

Definition at line 206 of file basestrm.h.

Referenced by MemoryStream(), and writedata().

MemoryStreamStorage* MemoryStream::buf
protected
Uint8* MemoryStream::pointer
protected

Definition at line 207 of file basestrm.h.

Referenced by MemoryStream().


The documentation for this class was generated from the following files: