summaryrefslogtreecommitdiff
path: root/includes/Buffer.h
diff options
context:
space:
mode:
authorPixel <Pixel>2002-07-21 11:12:13 +0000
committerPixel <Pixel>2002-07-21 11:12:13 +0000
commit6528f07c516efe4d3b344f01740067878d5d9a43 (patch)
treef097e6797752dffe7b498a4f153e83bdeb59f024 /includes/Buffer.h
parentb54786a5120b48bd98fc4b199176d45bda3c2d67 (diff)
Hello Baltisot
Diffstat (limited to 'includes/Buffer.h')
-rw-r--r--includes/Buffer.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/includes/Buffer.h b/includes/Buffer.h
new file mode 100644
index 0000000..79d0e02
--- /dev/null
+++ b/includes/Buffer.h
@@ -0,0 +1,37 @@
+#ifndef __BUFFER_H__
+#define __BUFFER_H__
+#ifdef __cplusplus
+
+#include <zlib.h>
+#include <Exceptions.h>
+#include <Handle.h>
+
+#ifndef realloc_threshold
+#define realloc_threshold 256
+#endif
+
+class Buffer : public Handle {
+ public:
+ Buffer();
+ Buffer(const Buffer &);
+ virtual ~Buffer();
+ virtual ssize_t write(const void *buf, size_t count) throw(GeneralException);
+ virtual ssize_t read(void *buf, size_t count) throw (GeneralException);
+ virtual bool CanRead();
+ virtual bool CanWrite();
+ virtual String GetName();
+ virtual Buffer operator=(const Buffer &);
+ virtual bool CanWatch();
+ virtual ssize_t GetSize();
+ char operator[](size_t) const;
+ char & operator[](size_t);
+
+ private:
+ char * buffer, zero;
+ size_t realsiz, bufsiz, ptr;
+};
+
+#else
+#error This only works with a C++ compiler
+#endif
+#endif