summaryrefslogtreecommitdiff
path: root/src/sbuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sbuffer.h')
-rw-r--r--src/sbuffer.h34
1 files changed, 34 insertions, 0 deletions
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 @@
1#ifndef S_BUFFER_H
2#define S_BUFFER_H
3
4#include <stdint.h>
5
6#include "stream.h"
7#include "flexbuf.h"
8
9class SBuffer : public Stream
10{
11public:
12 SBuffer();
13 virtual ~SBuffer();
14
15 virtual void close();
16 virtual size_t read( char *pBuf, size_t nBytes );
17
18 /**
19 *@todo Update this to write at nPos, not just append data.
20 */
21 virtual size_t write( const char *pBuf, size_t nBytes );
22
23 virtual long tell();
24 virtual void seek( long offset );
25 virtual void setPos( long pos );
26 virtual void setPosEnd( long pos );
27
28private:
29 long nPos;
30 bool bOpen;
31 FlexBuf fbData;
32};
33
34#endif