22namespace util::supervise {
33 SuperviseMasterType = 0,
34 ProcessMasterType = 1,
70 void ProgramName(std::string name) { program_name_ = std::move(name); }
76 [[nodiscard]]
const std::string &
ProgramName()
const {
return program_name_; }
93 [[nodiscard]]
const std::string &
ConfigFile()
const {
return config_file_; }
105 [[nodiscard]]
bool EnableMqtt()
const {
return enable_mqtt_; }
135 const std::vector<std::unique_ptr<ISuperviseApplication>> &
Applications()
const {
155 bool enable_mqtt_ =
false;
156 std::string program_name_ =
"supervise";
157 std::string config_file_ =
"supervise.xml";
159 void FindConfigFile();
Supervise an executable application.
Definition isuperviseapplication.h:116
std::vector< std::unique_ptr< ISuperviseApplication > > applications_
List of supervise applications.
Definition isupervisemaster.h:153
const std::string & ProgramName() const
Program or system name.
Definition isupervisemaster.h:76
virtual void Stop()
Stop the system.
const std::string & ConfigFile() const
Returns the configuration file name.
Definition isupervisemaster.h:93
std::vector< std::unique_ptr< ISuperviseApplication > > & Applications()
Returns a list af supervise applications.
Definition isupervisemaster.h:127
void EnableMqtt(bool enable)
Enable a MQTT client.
Definition isupervisemaster.h:99
virtual ~ISuperviseMaster()
Default destructor.
void ReadConfig()
Read in the configuration.
bool EnableMqtt() const
Returns true if a MQTT client is enabled.
Definition isupervisemaster.h:105
ISuperviseMaster()=default
Default constructor.
const std::vector< std::unique_ptr< ISuperviseApplication > > & Applications() const
Returns a list af supervise applications.
Definition isupervisemaster.h:135
void SaveConfig()
Save the configuration.
virtual ISuperviseApplication * CreateApplication()
Create a supervise application.
virtual void Start()
Start the system.
void ProgramName(std::string name)
Defines the program/system name.
Definition isupervisemaster.h:70
void ConfigFile(std::string config_file)
Configuration file name.
Interface against a task that supervise that an executable is running.
TypeOfSuperviseMaster
Type of master software.
Definition isupervisemaster.h:32