From ec0f82bb6ea911baee6b9654f799f037282bf5b9 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Sun, 10 Aug 2014 02:58:35 -0700 Subject: Introducing notion of filters. --- includes/BStream.h | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'includes/BStream.h') diff --git a/includes/BStream.h b/includes/BStream.h index f39765d..0e7d5f6 100644 --- a/includes/BStream.h +++ b/includes/BStream.h @@ -4,31 +4,22 @@ namespace Balau { -class BStream : public Handle { +class BStream : public Filter { public: - BStream(const IO & h); - virtual void close() throw (GeneralException); - virtual bool isClosed(); - virtual bool isEOF(); - virtual bool canRead(); - virtual bool canWrite() { return m_h->canWrite(); } - virtual const char * getName(); + BStream(IO h); + virtual void close() throw (GeneralException) override; + virtual bool isEOF() override { return (m_availBytes == 0) && Filter::isEOF(); } + virtual const char * getName() override { return m_name.to_charp(); } virtual ssize_t read(void * buf, size_t count) throw (GeneralException); - virtual ssize_t write(const void * buf, size_t count) throw (GeneralException) { return m_h->write(buf, count); } - virtual off64_t getSize(); int peekNextByte(); String readString(bool putNL = false); bool isEmpty() { return m_availBytes == 0; } - void detach() { m_detached = true; } private: - IO m_h; uint8_t * m_buffer = NULL; size_t m_availBytes = 0; size_t m_cursor = 0; String m_name; bool m_passThru = false; - bool m_detached = false; - bool m_closed = false; }; }; -- cgit v1.2.3