9 #ifndef {{cookiecutter.module_name|upper}}_CONFIG_HPP_
10 #define {{cookiecutter.module_name|upper}}_CONFIG_HPP_
12 #include <yaml-cpp/yaml.h>
64 bool ParseOptions(
int argc,
char* argv[]);
73 void LoadConfig(
const std::string& filename =
"");
80 const std::string& GetMsgReplierEndpoint()
const;
85 const std::string& GetDbEndpoint()
const;
90 const timeval GetDbTimeout()
const;
95 const std::string& GetSmScxmlFilename()
const;
100 const std::string& GetConfigFilename()
const;
105 const std::string& GetProcName()
const;
110 const std::string& GetLogLevel()
const;
115 const std::string& GetLogProperties()
const;
117 Config(
const Config&) =
delete;
118 Config& operator=(
const Config&) =
delete;
121 YAML::Node m_config_node;
122 std::string m_proc_name;
123 std::string m_log_level;
124 std::string m_log_properties;
125 std::string m_config_filename;
126 std::string m_scxml_filename;
127 std::string m_db_host_endpoint;
128 int m_db_timeout_sec;
129 std::string m_req_endpoint;
134 #endif // {{cookiecutter.module_name|upper}}_CONFIG_HPP_
const std::string CONFIG_DEFAULT_FILENAME
no default value to force user to specify config filename since it overwrites the command line option...
Definition: config.hpp:23
const std::string CONFIG_ENVVAR_DBHOST
Definition: config.hpp:35
const std::string CONFIG_DEFAULT_REQ_ENDPOINT
Definition: config.hpp:29
const std::string CONFIG_DEFAULT_LOGLEVEL
Definition: config.hpp:25
const std::string CONFIG_DEFAULT_PROCNAME
Definition: config.hpp:21
const int CONFIG_DEFAULT_DB_TIMEOUT_SEC
Definition: config.hpp:28
const std::string CONFIG_DEFAULT_DB_ENDPOINT
Definition: config.hpp:27
const std::string CONFIG_DEFAULT_SCXML_FILENAME
Definition: config.hpp:24
const std::string CONFIG_DEFAULT_LOG_PROPERTIES
Definition: config.hpp:26