From d1e486136db52b466b788c1d81a5c88b6f24acd9 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Thu, 2 Nov 2006 06:14:41 +0000 Subject: Added the SBuffer class, a memory buffer that can be used like a stream. Yay! --- src/sbuffer.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/sbuffer.h (limited to 'src/sbuffer.h') diff --git a/src/sbuffer.h b/src/sbuffer.h new file mode 100644 index 0000000..1dda33a --- /dev/null +++ b/src/sbuffer.h @@ -0,0 +1,34 @@ +#ifndef S_BUFFER_H +#define S_BUFFER_H + +#include + +#include "stream.h" +#include "flexbuf.h" + +class SBuffer : public Stream +{ +public: + SBuffer(); + virtual ~SBuffer(); + + virtual void close(); + virtual size_t read( char *pBuf, size_t nBytes ); + + /** + *@todo Update this to write at nPos, not just append data. + */ + virtual size_t write( const char *pBuf, size_t nBytes ); + + virtual long tell(); + virtual void seek( long offset ); + virtual void setPos( long pos ); + virtual void setPosEnd( long pos ); + +private: + long nPos; + bool bOpen; + FlexBuf fbData; +}; + +#endif -- cgit v1.2.3