31 #ifndef LUMIERA_APPSTATE_H 32 #define LUMIERA_APPSTATE_H 51 class SubsystemRunner;
96 CLEAN_EXIT_AFTER_ERROR,
119 ExitCode
abort () noexcept;
ExitCode abort() noexcept
initiate an fatal emergency shutdown, caused by an unforeseen error condition
Dependencies and lifecycle of a partially independent Subsystem of the Application.
AppState()
perform initialisation triggered on first access.
Bootstrap and self-configuration of the application at startup.
~AppState()
anything which should be closed as late as possible and after the normal shutdown sequence can be pla...
Any copy and copy construction prohibited.
inline string literal This is a marker type to indicate that
Frontend for handling the Lumiera application commandline arguments.
The Lumiera Application state and basic initialisation.
Access point to singletons and other kinds of dependencies designated by type.
void maybeStart(lumiera::Subsys &)
building on the state determined by init, decide if the given Subsys needs to be pulled up and...
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Marker types to indicate a literal string and a Symbol.
Implementation helper for managing execution of a collection of subsystems, which may depend on one a...
Describing dependencies and lifecycle of the application's primary parts.
front-end for handling the commandline arguments.
void init(lumiera::Option &options)
evaluate the result of option parsing and maybe additional configuration such as to be able to determ...
Singleton services and Dependency Injection.
ExitCode maybeWait()
put the main thread of the application into a wait state, as long as some subsystem(s) registered wit...
string fetchSetupValue(lib::Literal key)
access basic application setup values (from setup.ini)
Lumiera public interface.
Helper to abstract creation and lifecycle of a dependency.
Represents the elementary self-configuration of a running Lumiera application instance.
static lib::Depend< AppState > instance
get the (single) AppState instance.
Interface and Base definition for all Lumiera Exceptions.