diff options
Diffstat (limited to 'src/sbuffer.h')
-rw-r--r-- | src/sbuffer.h | 34 |
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 | |||
9 | class SBuffer : public Stream | ||
10 | { | ||
11 | public: | ||
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 | |||
28 | private: | ||
29 | long nPos; | ||
30 | bool bOpen; | ||
31 | FlexBuf fbData; | ||
32 | }; | ||
33 | |||
34 | #endif | ||