Lumiera  0.pre.03
»edit your freedom«
output-slot-connection.hpp File Reference

Go to the source code of this file.

Description

Interface for concrete output implementations to talk to the OutputSlot frontend.

The OutputSlot concept helps to decouple the render engine implementation from the details of handling external output connections. For this to work, a concrete implementation of such an external output needs to integrate with the generic OutputSlot frontend, as used by the engine. This generic frontend uses a PImpl, pointing to a ConnectionState object, which embodies the actual implementation. Moreover, this actual implementation is free to use specifically crafted OutputSlot::Connection elements to handle the ongoing output for individual channels. The latter thus becomes the central implementation side API for providing actual output capabilities.

See also
OutputSlotProtocol_test
diagnostic-output-slot.hpp ////TODO

Definition in file output-slot-connection.hpp.

#include "lib/error.hpp"
#include "lib/nocopy.hpp"
#include "steam/play/output-slot.hpp"
#include "lib/scoped-collection.hpp"
#include "lib/iter-adapter-stl.hpp"
#include "lib/iter-source.hpp"
#include "lib/handle.hpp"
#include <functional>
#include <vector>

Classes

class  OutputSlot::Connection
 
class  OutputSlotImplBase::ConnectionManager< CON >
 Maintaining a list of active connections. More...
 
class  OutputSlotImplBase::ConnectionManager< CON >
 Maintaining a list of active connections. More...
 
class  OutputSlot::ConnectionState
 Extension point for Implementation. More...
 
class  OutputSlotImplBase
 Base for OutputSlot standard implementation. More...
 

Namespaces

 steam
 Steam-Layer implementation namespace root.
 
 steam::play
 Playback and rendering control subsystem.