![]() |
Lumiera 0.pre.04
»edit your freedom«
|
#include "steam/play/output-director.hpp"
Management of external Output connections.
Definition at line 60 of file output-director.hpp.
Static Public Attributes | |
| static lib::Depend< OutputDirector > | instance |
| storage for the single application wide OutputDirector instance | |
Public Member Functions | |
| bool | connectUp () |
| connect and bring up the external input/output connections, handlers and interface services and the render/playback service. | |
| void | triggerDisconnect (SigTerm) noexcept |
| initiate shutdown of all ongoing render/playback processes and closing of all external input/output interfaces. | |
| bool | isOperational () const |
Friends | |
| class | lib::DependencyFactory< OutputDirector > |
Private Types | |
| using | SigTerm = lumiera::Subsys::SigTerm |
| using | PlayServiceHandle = lib::DependInject< lumiera::Play >::ServiceInstance< PlayService > |
Private Member Functions | |
| OutputDirector () | |
| bring up the framework for handling input/output connections. | |
| ~OutputDirector () | |
| void | bringDown (SigTerm completedSignal) |
Private Member Functions inherited from NonCopyable | |
| ~NonCopyable ()=default | |
| NonCopyable ()=default | |
| NonCopyable (NonCopyable const &)=delete | |
| NonCopyable & | operator= (NonCopyable const &)=delete |
Private Attributes | |
| PlayServiceHandle | player_ |
| bool | shutdown_initiated_ = false |
Additional Inherited Members | |
Static Public Member Functions inherited from Sync< CONF > | |
| static Monitor & | getMonitor (Sync const *forThis) |
|
private |
bring up the framework for handling input/output connections.
Creating this object happens on first access and shouldn't be confused with actually booting up / shutting down this subsystem. Rather, the purpose of the OutputDirector is actively to conduct the Lifecycle of booting, connecting, operating, disconnecting.
Definition at line 49 of file output-director.cpp.
|
private |
Definition at line 54 of file output-director.cpp.
|
private |
Definition at line 64 of file output-director.hpp.
|
private |
Definition at line 65 of file output-director.hpp.
| bool connectUp | ( | ) |
connect and bring up the external input/output connections, handlers and interface services and the render/playback service.
Definition at line 63 of file output-director.cpp.
References DependInject< SRV >::ServiceInstance< IMP >::createInstance(), OutputDirector::isOperational(), OutputDirector::player_, and OutputDirector::shutdown_initiated_.
Here is the call graph for this function:
|
noexcept |
initiate shutdown of all ongoing render/playback processes and closing of all external input/output interfaces.
Works as an asynchronous operation; the given callback signal will be invoked when the shutdown is complete.
Definition at line 91 of file output-director.cpp.
| bool isOperational | ( | ) | const |
Definition at line 75 of file output-director.cpp.
References OutputDirector::player_.
Referenced by OutputDirector::bringDown(), and OutputDirector::connectUp().
Here is the caller graph for this function:
|
private |
actually bring down any calculation processes and finally disconnect any external input/output interfaces. This shutdown and cleanup operation is executed in a separate "Output shutdown supervisor" thread and has the liability to bring down the relevant facilities within a certain timespan. When done, the last operation within this thread will be to invoke the callback signal given as parameter.
Definition at line 114 of file output-director.cpp.
References OutputDirector::isOperational(), lumiera_error(), OutputDirector::player_, DependInject< SRV >::ServiceInstance< IMP >::shutdown(), and Error::what().
Here is the call graph for this function:
|
private |
Definition at line 67 of file output-director.hpp.
Referenced by OutputDirector::bringDown(), OutputDirector::connectUp(), and OutputDirector::isOperational().
|
private |
Definition at line 70 of file output-director.hpp.
Referenced by OutputDirector::connectUp().
|
static |
storage for the single application wide OutputDirector instance
Definition at line 73 of file output-director.hpp.
Referenced by PlayOutSubsysDescriptor::checkRunningState(), PlayOutSubsysDescriptor::start(), and PlayOutSubsysDescriptor::triggerShutdown().
|
friend |
Definition at line 82 of file output-director.hpp.
Inheritance diagram for OutputDirector:
Collaboration diagram for OutputDirector: