Lumiera  0.pre.03
»edit your freedom«
OutputSlotImplBase::ConnectionManager< CON > Class Template Referenceabstract

#include "steam/play/output-slot-connection.hpp"

Description

template<class CON>
class steam::play::OutputSlotImplBase::ConnectionManager< CON >

Maintaining a list of active connections.

Base class for the typical implementation approach. Using this class is not mandatory. But obviously, we'd get to manage a selection of Connection objects representing the "active points" in several media channels connected through this OutputSlot. These Connection subclasses are what is referenced by the DataSink smart-ptrs handed out to the client code. As ConnectionState implements the Allocation API, it has the liability to create these DataSink smart-ptrs, which means to wire them appropriately and also provide an deleter function (here #shutdownConnection) to be invoked when the last copy of the smart-handle goes out of scope.

The typical standard/base implementation provided here manages a collection of active Connection subclass objects.

Definition at line 132 of file output-slot-connection.hpp.

Protected Types

typedef Connections::ElementHolder & ConnectionStorage
 

Protected Member Functions

 ConnectionManager (uint numChannels)
 
virtual void buildConnection (ConnectionStorage)=0
 factory function to build the actual connection handling objects per channel
 
void init ()
 
- Protected Member Functions inherited from OutputSlot::Allocation
 ~Allocation ()
 never to be managed by clients directly
 

Private Types

typedef lib::ScopedCollection< CON > Connections
 
typedef OutputSlot::OpenedSinks OpenedSinks
 

Private Member Functions

CON & access (uint chanNr) const
 
OpenedSinks getOpenedSinks ()
 
Timings getTimingConstraints ()
 
bool isActive () const
 

Static Private Member Functions

static DataSink connectOutputSink (CON &connection)
 
static void shutdownConnection (OutputSlot::Connection *toClose)
 

Private Attributes

Connections connections_
 

Additional Inherited Members

+ Inheritance diagram for OutputSlotImplBase::ConnectionManager< CON >:
+ Collaboration diagram for OutputSlotImplBase::ConnectionManager< CON >:

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