59 : player_{PlayServiceHandle::NOT_YET_STARTED}
60 , shutdown_initiated_{
false}
63 OutputDirector::~OutputDirector() { }
75 REQUIRE (not shutdown_initiated_);
77 player_.createInstance();
102 if (not shutdown_initiated_)
104 shutdown_initiated_ =
true;
129 WARN (play,
"Attempt to OutputDirector::bringDown() -- " 130 "which it is not in running state. Invocation ignored. " 131 "This indicates an error in Lifecycle logic.");
136 TODO (
"actually bring down the output generation");
144 problemLog = problem.
what();
146 completedSignal (&problemLog);
150 problemLog =
"Unknown error while disconnecting output. " 152 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.