43 #ifndef LUMIERA_SUBSYS_H 44 #define LUMIERA_SUBSYS_H 74 typedef function<void(string*)> SigTerm;
79 virtual operator string()
const =0;
119 const std::vector<Subsys*>
120 getPrerequisites() {
return prereq_; }
131 std::vector<Subsys*> prereq_;
Dependencies and lifecycle of a partially independent Subsystem of the Application.
Any copy and copy construction prohibited.
Frontend for handling the Lumiera application commandline arguments.
virtual bool start(lumiera::Option &options, SigTerm)=0
attempt to bring up this subsystem up.
Subsys & depends(Subsys &prereq)
define a dependency to another Subsys required for running this subsystem
Mix-Ins to allow or prohibit various degrees of copying and cloning.
virtual void triggerShutdown() noexcept=0
initiate termination of this subsystem.
virtual bool checkRunningState() noexcept=0
whether this subsystem is actually operational.
bool isRunning() noexcept
Lumiera error handling (C++ interface).
Lumiera public interface.
virtual bool shouldStart(lumiera::Option &)=0
query application option state to determine if this subsystem should be activated.