50 : player_{PlayServiceHandle::NOT_YET_STARTED}
51 , shutdown_initiated_{
false}
54 OutputDirector::~OutputDirector() { }
66 REQUIRE (not shutdown_initiated_);
68 player_.createInstance();
93 if (not shutdown_initiated_)
95 shutdown_initiated_ =
true;
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);
void bringDown(SigTerm completedSignal)
A global service to coordinate and handle all external output activities.
Primary service of the Player subsystem: Starting and controlling render/playback.
virtual CStr what() const noexcept override
std::exception interface : yield a diagnostic message
Steam-Layer implementation namespace root.
Access point to singletons and other kinds of dependencies designated by type.
OutputDirector()
bring up the framework for handling input/output connections.
bool connectUp()
connect and bring up the external input/output connections, handlers and interface services and the r...
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).
Convenience front-end to simplify and codify basic thread handling.
static lib::Depend< OutputDirector > instance
storage for the single application wide OutputDirector instance
A global service to handle all external output connections.
void triggerDisconnect(SigTerm) noexcept
initiate shutdown of all ongoing render/playback processes and closing of all external input/output i...
bool isOperational() const
Interface and Base definition for all Lumiera Exceptions.