blob: 65feb71550173e8c5da6d9285a2dc5a599e7d9e3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#ifndef S_BUFFER_H
#define S_BUFFER_H
#include <stdint.h>
#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 );
virtual bool isEOS();
FlexBuf &getBuffer()
{
return fbData;
}
private:
long nPos;
bool bOpen;
FlexBuf fbData;
};
#endif
|