aboutsummaryrefslogtreecommitdiff
path: root/src/buffer.h
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2009-02-24 01:31:48 +0000
committerMike Buland <eichlan@xagasoft.com>2009-02-24 01:31:48 +0000
commit22277c6ffe91189cbb5d7a7d8572bf829e3a2610 (patch)
tree5e9d2a7aa1e1d2c2efe8696ff174d125de6051a4 /src/buffer.h
parent88b3a5acf78aa9a2d73f2462e45988f5afb9d2c5 (diff)
downloadlibbu++-22277c6ffe91189cbb5d7a7d8572bf829e3a2610.tar.gz
libbu++-22277c6ffe91189cbb5d7a7d8572bf829e3a2610.tar.bz2
libbu++-22277c6ffe91189cbb5d7a7d8572bf829e3a2610.tar.xz
libbu++-22277c6ffe91189cbb5d7a7d8572bf829e3a2610.zip
Just committing some in-progress code. It may report some warnings, but it
doesn't inhibit building. These'll be in good working shape in no time.
Diffstat (limited to '')
-rw-r--r--src/buffer.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/buffer.h b/src/buffer.h
new file mode 100644
index 0000000..beb4b08
--- /dev/null
+++ b/src/buffer.h
@@ -0,0 +1,33 @@
1#ifndef BU_BUFFER_H
2#define BU_BUFFER_H
3
4#include "bu/filter.h"
5
6namespace Bu
7{
8 class Buffer : public Bu::Filter
9 {
10 public:
11 Buffer( Bu::Stream &rNext, int iBufSize=4096 );
12 virtual ~Buffer();
13
14 virtual void start();
15 virtual size_t stop();
16
17 virtual size_t read( void *pBuf, size_t nBytes );
18 virtual size_t write( const void *pBuf, size_t nBytes );
19 using Stream::write;
20
21 virtual void flush();
22
23 private:
24 size_t sSoFar;
25 int iBufSize;
26 char *sReadBuf;
27 char *sWriteBuf;
28 int iReadBufFill;
29 int iWriteBufFill;
30 };
31};
32
33#endif