51 , shutdown_initiated_{false}
93 if (not shutdown_initiated_)
95 shutdown_initiated_ =
true;
96 launchDetached (
"Output shutdown supervisor"
98 bringDown (completedSignal);
120 WARN (play,
"Attempt to OutputDirector::bringDown() -- "
121 "which it is not in running state. Invocation ignored. "
122 "This indicates an error in Lifecycle logic.");
127 TODO (
"actually bring down the output generation");
135 problemLog = problem.
what();
137 completedSignal (&problemLog);
141 problemLog =
"Unknown error while disconnecting output. "
143 completedSignal (&problemLog);
Configuration handle to expose a service implementation through the Depend<SRV> front-end.
IMP & createInstance(ARGS &&...ctorArgs)
Access point to singletons and other kinds of dependencies designated by type.
scoped guard to control the actual locking.
Interface and Base definition for all Lumiera Exceptions.
virtual CStr what() const noexcept override
std::exception interface : yield a diagnostic message
bool isOperational() const
PlayServiceHandle player_
lumiera::Subsys::SigTerm SigTerm
bool connectUp()
connect and bring up the external input/output connections, handlers and interface services and the r...
OutputDirector()
bring up the framework for handling input/output connections.
void bringDown(SigTerm completedSignal)
void triggerDisconnect(SigTerm) noexcept
initiate shutdown of all ongoing render/playback processes and closing of all external input/output i...
static lib::Depend< OutputDirector > instance
storage for the single application wide OutputDirector instance
lumiera_err lumiera_error(void)
Get and clear current error state.
void launchDetached(ThreadHookable::Launch &&launchBuilder)
Launch an autonomous self-managing thread (and forget about it).
Steam-Layer implementation namespace root.
A global service to coordinate and handle all external output activities.
A global service to handle all external output connections.
Primary service of the Player subsystem: Starting and controlling render/playback.
Convenience front-end to simplify and codify basic thread handling.