From e6385cb74c35eb5a346237acecc846e52c4d6bd4 Mon Sep 17 00:00:00 2001
From: Pixel <pixel@nobis-crew.org>
Date: Sat, 12 Nov 2011 21:52:02 +0100
Subject: Adding seekable buffers. Probably would need a few more tests in the
 Handles unit test.

---
 includes/Buffer.h | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)
 create mode 100644 includes/Buffer.h

(limited to 'includes')

diff --git a/includes/Buffer.h b/includes/Buffer.h
new file mode 100644
index 0000000..99a57f0
--- /dev/null
+++ b/includes/Buffer.h
@@ -0,0 +1,24 @@
+#pragma once
+
+#include <Handle.h>
+
+namespace Balau {
+
+class Buffer : public SeekableHandle {
+  public:
+      Buffer() throw (GeneralException) : m_buffer(NULL), m_bufSize(0), m_numBlocks(0) { }
+    virtual void close() throw (GeneralException);
+    virtual ssize_t read(void * buf, size_t count) throw (GeneralException);
+    virtual ssize_t write(const void * buf, size_t count) throw (GeneralException);
+    virtual bool isClosed();
+    virtual bool canRead();
+    virtual bool canWrite();
+    virtual const char * getName();
+    virtual off_t getSize();
+    void reset();
+  private:
+    uint8_t * m_buffer;
+    off_t m_bufSize, m_numBlocks;
+};
+
+};
-- 
cgit v1.2.3