Ogg::Logical Class Reference
[Logical Interface, Derivable and Nonderivable Classes]

Logical interface. More...

#include <Logical.H>

List of all members.

Public Member Functions

void * impl ()
 Logical (Transport &transport, long serialNo)
 Add a writing Logical to an encapsulating Transport.
 Logical (Transport &transport)
 Construct a Logical for reading.
 Logical (long serialNo, Transport &transport)
 Construct a Logical for reading a particular logical stream.
virtual ~Logical ()
 Removes this Logical from Transport.
virtual bool selectCallback (Packet &firstPacket)
 Call back for logical stream selection based on first packet.
long serialNo () const
 Get the serialNo for this Logical.
Transport & transport () const
 Get the Transport for this Logical.
Writer & writer ()
 Get a Writer for this Logical.
PageWriter & pageWriter ()
 Get a PageWriter for this Logical.
PageReader & pageReader ()
 Get a PageReader for this Logical based on selectCallback.
Reader & reader ()
 Get a Reader for this Logical based on selectCallback.

Protected Member Functions

 Logical (bool dummy)
 Despite appearance, derived classes should NOT construct with this.

Classes

class  FailedToSelectStream
 Exception thrown by Logical::reader. More...
class  MuxTooLate
 Exception thrown by muxing Logical::Logical. More...
class  NoSuchStream
 Exception thrown by Logical::reader. More...
class  NotForReading
 Exception thrown by Logical::reader. More...
class  NotForWriting
 Exception thrown by Logical::writer. More...
class  PageReader
 Logical stream Page reader. More...
class  PageReaderTooLate
 Exception thrown by Logical::reader. More...
class  PageWriter
 Logical stream Page writer

Do not derive from PageWriter. It is designed for writing pages that have been routed from a PageReader. More...

class  Reader
 Logical stream reader. More...
class  ReaderAlreadyExists
 Exception thrown by Logical::reader. More...
class  ReaderTooLate
 Exception thrown by Logical::reader. More...
class  SeekInternalError
 Exception thrown by Logical::Reader:: seek operators. More...
class  SerialNoAlreadyUsed
 Exception thrown by muxing Logical::Logical. More...
class  SerialNotPositive
 Exception thrown by Logical::Logical. More...
class  StreamAlreadyClaimed
 Exception thrown by Logical::reader. More...
class  Writer
 Logical stream writer

Do not derive from Writer. It is an iterator-like class for writing packets. More...

class  WriterAlreadyExists
 Exception thrown by Logical::writer. More...


Detailed Description

Logical interface.

Codecs may derive from Logical.


Constructor & Destructor Documentation

Ogg::Logical::Logical ( bool  dummy  )  [inline, protected]

Despite appearance, derived classes should NOT construct with this.

Ogg::Logical::Logical ( Transport &  transport,
long  serialNo 
)

Add a writing Logical to an encapsulating Transport.

Ogg::Logical::Logical ( Transport &  transport  ) 

Construct a Logical for reading.

Ogg::Logical::Logical ( long  serialNo,
Transport &  transport 
)

Construct a Logical for reading a particular logical stream.


Member Function Documentation

void* Ogg::Logical::impl (  )  [inline]

long Ogg::Logical::serialNo (  )  const

Transport& Ogg::Logical::transport (  )  const

Get the Transport for this Logical.

Writer& Ogg::Logical::writer (  ) 

Get a Writer for this Logical.

Only one Writer per Logical at one time is allowed. In addition, a first Packet is created.

PageWriter& Ogg::Logical::pageWriter (  ) 

Get a PageWriter for this Logical.

Only one PageWriter or one Writer, not both per Logical at one time is allowed.

PageReader& Ogg::Logical::pageReader (  ) 

Get a PageReader for this Logical based on selectCallback.

Only one PageReader per Logical at one time is allowed.

A PageReader may be used by itself on a logical stream, in which case it serves simply to provide the pages for merging into an Ogg stream without re-encapsulation.

A PageReader may be used together with a Reader on the same logical stream. In this case, the pageReader() must be requested prior to requesting reader(). Otherwise, the request will result in a PageReaderTooLate Exception. The reader() request must also precede the first PageReader::get() call. Otherwise, the reader() request will result in a ReaderTooLate Exception.

Reader& Ogg::Logical::reader (  ) 

Get a Reader for this Logical based on selectCallback.

Only one Reader per Logical at one time is allowed. A new Reader may be requested after destroying a previous Reader.


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

Generated on Thu Feb 26 12:25:46 2009 for libogg++ by  doxygen 1.5.6