Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

CascadeStream Class Reference

base class of high-performance streams More...

#include <cascade/util/CascadeStream.h>

Inheritance diagram for CascadeStream:

CascadeObject CascadeAudioCodec CascadeFileStream CascadeHTTPStream CascadeMemoryStream List of all members.

Public Types

typedef bool() MetadataEnumProc (const CascadeString &name, const CascadeString &value, void *pClientData)

Public Member Functions

 CascadeStream ()
virtual ~CascadeStream ()
virtual u64 GetSize ()=0
virtual u64 GetPosition ()=0
virtual bool SeekToPosition (u64 nPosition)=0
virtual u32 ReadBytes (u32 nBytes, void *pBuff)=0
virtual bool GetLine (class CascadeString &lineToSet)
virtual void AddMetadata (const CascadeString &name, const CascadeString &value)
virtual void RemoveMetadata (const CascadeString &name)
virtual void RemoveAllMetadata ()
virtual bool LookupMetadata (const CascadeString &name, CascadeString &valueToSet) const
virtual bool EnumerateMetadata (MetadataEnumProc *pEnumProc, void *pClientData) const
void SetURL (const CascadeString &url)
bool GetURL (CascadeString &urlToSet) const
void ClearURL ()

Detailed Description

base class of high-performance streams

Skip the description

CascadeStream is the base class of high-performance data-streams.


class CascadeStream


Member Typedef Documentation

typedef bool() CascadeStream::MetadataEnumProc(const CascadeString &name, const CascadeString &value, void *pClientData)
 


Constructor & Destructor Documentation

CascadeStream::CascadeStream  ) 
 

base class constructor

This base class constructor is light weight.

virtual CascadeStream::~CascadeStream  )  [virtual]
 

base class destructor

This base class destructor is light weight.


Member Function Documentation

virtual void CascadeStream::AddMetadata const CascadeString name,
const CascadeString value
[virtual]
 

<reads a line of text from the stream (like gets)

GetLine fills the string passed in with a line of text from the stream. No error checking is done to ensure the stream is a text stream. Trailing
or
pairs are replaced with nulls. The file position will be advanced as GetLine() is called. When no more lines remain, GetLine() returns false.

Parameters:
lineToSet the string to fill with a line of text from the stream.
Returns:
whether or not a line was fetched from the stream.
Note:
The base class implementation of GetLine() requires that SeekToPosition() be functional. If you implement a non-seekable stream, you should override GetLine() to provide your own implementation.

void CascadeStream::ClearURL  )  [inline]
 

virtual bool CascadeStream::EnumerateMetadata MetadataEnumProc pEnumProc,
void *  pClientData
const [virtual]
 

virtual bool CascadeStream::GetLine class CascadeString lineToSet  )  [virtual]
 

virtual u64 CascadeStream::GetPosition  )  [pure virtual]
 

returns the current position in the stream

Returns the current position in the stream.

Returns:
the current position in the stream

Implemented in CascadeAudioCodec, CascadeHTTPStream, CascadeFileStream, and CascadeMemoryStream.

virtual u64 CascadeStream::GetSize  )  [pure virtual]
 

returns the size of the stream

Returns number of total bytes in the stream. The size doesn't change as bytes are read or the position is seeked to.

Returns:
the size of the data stream in bytes

Implemented in CascadeAudioCodec, CascadeHTTPStream, CascadeFileStream, and CascadeMemoryStream.

bool CascadeStream::GetURL CascadeString urlToSet  )  const [inline]
 

virtual bool CascadeStream::LookupMetadata const CascadeString name,
CascadeString valueToSet
const [virtual]
 

virtual u32 CascadeStream::ReadBytes u32  nBytes,
void *  pBuff
[pure virtual]
 

reads bytes from the stream

Reads bytes from the stream.

Returns:
the number of bytes actually read from the stream

Implemented in CascadeHTTPStream, CascadeFileStream, and CascadeMemoryStream.

virtual void CascadeStream::RemoveAllMetadata  )  [virtual]
 

virtual void CascadeStream::RemoveMetadata const CascadeString name  )  [virtual]
 

virtual bool CascadeStream::SeekToPosition u64  nPosition  )  [pure virtual]
 

seeks to a position in the stream

SeekToPositions seeks to a byte position in the stream.

Returns:
whether or not the seek succeeded

Implemented in CascadeAudioCodec, CascadeHTTPStream, CascadeFileStream, and CascadeMemoryStream.

void CascadeStream::SetURL const CascadeString url  )  [inline]
 


The documentation for this class was generated from the following file:
Generated on Sun Jul 24 14:27:20 2005 for Cascade Library by  doxygen 1.4.1