From b3b38455482f2d15f07a33ecf00f9dea113e7968 Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 13 Nov 2011 19:40:15 +0100 Subject: Adding buffered streams; mainly for string parsing. --- includes/BStream.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 includes/BStream.h (limited to 'includes/BStream.h') diff --git a/includes/BStream.h b/includes/BStream.h new file mode 100644 index 0000000..73b7a96 --- /dev/null +++ b/includes/BStream.h @@ -0,0 +1,27 @@ +#pragma once + +#include + +namespace Balau { + +class BStream : public Handle { + public: + BStream(const IO & h); + virtual void close() throw (GeneralException); + virtual bool isClosed(); + virtual bool isEOF(); + virtual bool canRead(); + virtual const char * getName(); + virtual ssize_t read(void * buf, size_t count) throw (GeneralException); + virtual off_t getSize(); + int peekNextByte(); + String readString(bool putNL = false); + private: + IO m_h; + uint8_t * m_buffer; + size_t m_availBytes; + size_t m_cursor; + String m_name; +}; + +}; -- cgit v1.2.3