From f1e3f25d9b7a12cdedb99e4cb0bfa66157a1a972 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Tue, 27 Aug 2024 13:37:36 -0700 Subject: Making progress. --- src/stable/myriadstream.h | 49 +++++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 29 deletions(-) (limited to 'src/stable/myriadstream.h') diff --git a/src/stable/myriadstream.h b/src/stable/myriadstream.h index a94a9a2..87192a9 100644 --- a/src/stable/myriadstream.h +++ b/src/stable/myriadstream.h @@ -1,38 +1,31 @@ -/* - * Copyright (C) 2007-2023 Xagasoft, All rights reserved. - * - * This file is part of the libbu++ library and is released under the - * terms of the license contained in the file LICENSE. - */ - #ifndef BU_MYRIAD_STREAM_H #define BU_MYRIAD_STREAM_H #include "bu/stream.h" +#include "bu/myriadstream.h" #include "bu/myriad.h" namespace Bu { class MyriadStream : public Bu::Stream { - friend class Myriad; + friend class Myriad; private: - /** - * These can only be created by the Myriad class. - */ - MyriadStream( Myriad &rMyriad, Myriad::Stream *pStream ); - - public: + MyriadStream( Bu::Myriad &rMyriad, Bu::Myriad::Stream *pStream, + Bu::Myriad::Mode eMode ); virtual ~MyriadStream(); - + + public: virtual void close(); - virtual Bu::size read( void *pBuf, Bu::size nBytes ); - virtual Bu::size write( const void *pBuf, Bu::size nBytes ); - using Stream::write; - virtual Bu::size tell(); - virtual void seek( Bu::size offset ); - virtual void setPos( Bu::size pos ); - virtual void setPosEnd( Bu::size pos ); + virtual size read( void *pBuf, size iBytes ); + virtual Bu::String readLine(); + virtual Bu::String readAll(); + virtual size write( const void *pBuf, size iBytes ); + virtual size write( const Bu::String &sBuf ); + virtual size tell(); + virtual void seek( size offset ); + virtual void setPos( size pos ); + virtual void setPosEnd( size pos ); virtual bool isEos(); virtual bool isOpen(); virtual void flush(); @@ -43,18 +36,16 @@ namespace Bu virtual bool isSeekable(); virtual bool isBlocking(); virtual void setBlocking( bool bBlocking=true ); - virtual void setSize( Bu::size iSize ); - + virtual void setSize( size iSize ); virtual size getSize() const; virtual size getBlockSize() const; virtual Bu::String getLocation() const; private: - Myriad &rMyriad; - Myriad::Stream *pStream; - Myriad::Block *pCurBlock; - int iBlockSize; - int iPos; + mutable Bu::Mutex mAccess; + Bu::Myriad &rMyriad; + Bu::Myriad::Stream *pStream; + Bu::Myriad::Mode eMode; }; }; -- cgit v1.2.3