Ogg::Logical Class Reference
[Logical InterfaceDerivable 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.
Transporttransport () const
 Get the Transport for this Logical.
Writerwriter ()
 Get a Writer for this Logical.
PageWriterpageWriter ()
 Get a PageWriter for this Logical.
PageReaderpageReader ()
 Get a PageReader for this Logical based on selectCallback.
Readerreader ()
 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