Nebula
Loading...
Searching...
No Matches
IO::StreamReader Class Reference

#include <streamreader.h>

Detailed Description

Stream reader classes provide a specialized read-interface for a stream.

This is the abstract base class for all stream readers. It is possible to attach any number of readers and writers to the same stream.

Inherits Core::RefCounted.

Inherited by CoreGraphics::Nvx3StreamReader, Http::HttpRequestReader, Http::HttpResponseReader, IO::BXmlReader, IO::BinaryReader, IO::ExcelXmlReader, IO::JsonReader, IO::TextReader, IO::XmlReader, and Messaging::MessageReader.

Public Member Functions

 StreamReader ()
 constructor
 
virtual ~StreamReader ()
 destructor
 
void SetStream (const Ptr< Stream > &s)
 set stream to read from
 
const Ptr< Stream > & GetStream () const
 get currently set stream
 
bool HasStream () const
 return true if a stream is set
 
bool Eof () const
 return true if the stream has reached EOF
 
virtual bool Open ()
 begin reading from the stream
 
virtual void Close ()
 end reading from the stream
 
bool IsOpen () const
 return true if currently open
 
- Public Member Functions inherited from Core::RefCounted
 RefCounted ()
 constructor
 
int GetRefCount () const
 get the current refcount
 
void AddRef ()
 increment refcount by one
 
void Release ()
 decrement refcount and destroy object if refcount is zero
 
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
 
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
 
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
 
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
 
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
 
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
 
const Util::StringGetClassName () const
 get the class name
 
Util::FourCC GetClassFourCC () const
 get the class FourCC code
 

Protected Attributes

Ptr< Streamstream
 
bool isOpen
 
bool streamWasOpen
 

Private Member Functions

 __DeclareClass (StreamReader)
 

Additional Inherited Members

- Static Public Member Functions inherited from Core::RefCounted
static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!)
 
- Protected Member Functions inherited from Core::RefCounted
virtual ~RefCounted ()
 destructor (called when refcount reaches zero)
 

Constructor & Destructor Documentation

◆ StreamReader()

IO::StreamReader::StreamReader ( )

constructor

◆ ~StreamReader()

IO::StreamReader::~StreamReader ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

IO::StreamReader::__DeclareClass ( StreamReader )
private

◆ Close()

void IO::StreamReader::Close ( )
virtual

◆ Eof()

bool IO::StreamReader::Eof ( ) const

return true if the stream has reached EOF

◆ GetStream()

const Ptr< Stream > & IO::StreamReader::GetStream ( ) const

get currently set stream

Get pointer to the attached stream.

If there is no stream attached, an assertion will be thrown. Use HasStream() to determine if a stream is attached.

◆ HasStream()

bool IO::StreamReader::HasStream ( ) const

return true if a stream is set

Returns true if a stream is attached to the reader.

◆ IsOpen()

bool IO::StreamReader::IsOpen ( ) const
inline

return true if currently open

◆ Open()

bool IO::StreamReader::Open ( )
virtual

◆ SetStream()

void IO::StreamReader::SetStream ( const Ptr< Stream > & s)

set stream to read from

Attaches the reader to a stream.

This will imcrement the refcount of the stream.

Member Data Documentation

◆ isOpen

bool IO::StreamReader::isOpen
protected

◆ stream

Ptr<Stream> IO::StreamReader::stream
protected

◆ streamWasOpen

bool IO::StreamReader::streamWasOpen
protected

The documentation for this class was generated from the following files: