#ifndef PROCESS_DEFAULT_CONTROLLER_HPP #define PROCESS_DEFAULT_CONTROLLER_HPP #include #include #include #include namespace process::controller { class ProcessCollection; class CommandReceiver; class DefinitionReceiver; class DefaultProcessController { public: DefaultProcessController(std::shared_ptr collection, const std::string& node_name, const std::string& transport, const std::string& ctrl_prefix, const std::string& info_prefix); virtual ~DefaultProcessController() = default; void start(); void stop(); private: std::shared_ptr m_cfg; std::shared_ptr m_participant; std::shared_ptr m_collection; std::shared_ptr m_definition_receiver; std::shared_ptr m_command_receiver; Watchdog m_watchdog; }; } #endif