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