8#ifndef SUP_SUBSIM_COMMON_CONFIG_HPP_
9#define SUP_SUBSIM_COMMON_CONFIG_HPP_
14#include <yaml-cpp/yaml.h>
16#include <ifw/core/utils/bat/config.hpp>
17#include <ifw/sup/subsim/common/events.rad.hpp>
43 using DbPair = std::pair<std::string, std::any>;
69 class Config :
public ifw::core::utils::bat::Config {
98 void LoadConfig(
const std::string& filename =
"",
bool reset =
false)
override;
100 std::optional<bool>
GetReplyOk(
const std::string& name)
const;
101 std::optional<int>
GetReplyDelay(
const std::string& name)
const;
122 void SetReplyOk(
const std::string& name,
const bool& flag);
123 void SetReplyDelay(
const std::string& name,
const int& delay);
130 int m_num_commands{0};
131 std::map<std::string, ReplyConfigData> reply_cmd_map;
virtual void GetConfigList(DbVector &cfg_list) override
Get configuration list.
Definition config.cpp:202
std::optional< int > GetReplyDelay(const std::string &name) const
Definition config.cpp:139
Config()
Definition config.cpp:27
const std::string GetCommandName(const int &cmd_index)
Definition config.cpp:190
void LoadConfig(const std::string &filename="", bool reset=false) override
Definition config.cpp:35
std::optional< std::string > GetReplyErrorMessage(const std::string &name) const
Definition config.cpp:158
ReplyConfigData * GetCmdReplyData(const std::string &name)
Definition config.cpp:175
void SetReplyOk(const std::string &name, const bool &flag)
Definition config.cpp:126
const int GetNumCommands()
Definition config.cpp:183
std::optional< bool > GetReplyOk(const std::string &name) const
Definition config.cpp:114
Config(const Config &)=delete
void SetReplyErrorMessage(const std::string &name, const std::string &msg)
Definition config.cpp:167
virtual ~Config()
Definition config.cpp:32
void SetReplyDelay(const std::string &name, const int &delay)
Definition config.cpp:149
Config & operator=(const Config &)=delete
Disable copy constructor.
ActionMgr class source file.
Definition actionMgr.cpp:28
std::pair< std::string, std::any > DbPair
Definition config.hpp:43
constexpr auto CONFIG_COMMAND_OPENLOOP
Definition config.hpp:29
constexpr auto KEY_CONFIG_CMDNAME
Definition config.hpp:36
constexpr auto KEY_CONFIG_REPLY_TYPE
Definition config.hpp:38
constexpr auto KEY_CONFIG_COMANDS
Definition config.hpp:35
std::vector< DbPair > DbVector
Definition config.hpp:44
constexpr auto KEY_CONFIG_REPLY_DELAY
Definition config.hpp:39
constexpr auto KEY_CONFIG_REPLY_ERR_MSG
Definition config.hpp:40
constexpr auto KEY_CONFIG_CMDTOUT
Definition config.hpp:37
constexpr auto CONFIG_COMMAND_SETUP
Definition config.hpp:28
constexpr auto CONFIG_COMMAND_INIT
Definition config.hpp:25
constexpr auto CONFIG_COMMAND_DISABLE
Definition config.hpp:27
constexpr auto CONFIG_COMMAND_CLOSEDLOOP
Definition config.hpp:30
constexpr auto CONFIG_COMMAND_ENABLE
Definition config.hpp:26
int m_delay
Definition config.hpp:60
void SetReplyOk(bool flag)
std::string m_ok_msg
Definition config.hpp:61
void SetOkMsg(const std::string &msg)
bool m_reply_ok
Definition config.hpp:59
std::string GetOkMsg() const
void SetErrMsg(const std::string &msg)
std::string GetErrMsg() const
std::string m_error_msg
Definition config.hpp:62