rad 6.2.0
Loading...
Searching...
No Matches
config.hpp
Go to the documentation of this file.
1
9#ifndef EXMALSERVER_CONFIG_HPP_
10#define EXMALSERVER_CONFIG_HPP_
11
12#include <yaml-cpp/yaml.h>
13
14#include <string>
15
16namespace exmalserver {
17
21const std::string CONFIG_DEFAULT_PROCNAME = "exmalServer";
24const std::string CONFIG_DEFAULT_FILENAME = "";
25const std::string CONFIG_DEFAULT_SCXML_FILENAME = "exmalserver/sm.xml";
26const std::string CONFIG_DEFAULT_LOGLEVEL = "INFO";
27const std::string CONFIG_DEFAULT_LOG_PROPERTIES = "exmalserver/log.properties";
28const std::string CONFIG_DEFAULT_DB_ENDPOINT = "127.0.0.1:6379";
30const std::string CONFIG_DEFAULT_REQ_ENDPOINT = "zpb.rr://127.0.0.1:12081/";
31
35const std::string CONFIG_ENVVAR_DBHOST = "DB_HOST";
36
41class Config {
42 public:
50 Config();
51
55 virtual ~Config();
56
65 bool ParseOptions(int argc, char* argv[]);
66
74 void LoadConfig(const std::string& filename = "");
75
81 const std::string& GetMsgReplierEndpoint() const;
82
86 const std::string& GetDbEndpoint() const;
87
91 const timeval GetDbTimeout() const;
92
96 const std::string& GetSmScxmlFilename() const;
97
101 const std::string& GetConfigFilename() const;
102
106 const std::string& GetProcName() const;
107
111 const std::string& GetLogLevel() const;
112
116 const std::string& GetLogProperties() const;
117
118 Config(const Config&) = delete;
119 Config& operator=(const Config&) = delete;
120
121 private:
122 YAML::Node m_config_node;
123 std::string m_proc_name;
124 std::string m_log_level;
125 std::string m_log_properties;
126 std::string m_config_filename;
127 std::string m_scxml_filename;
128 std::string m_db_host_endpoint;
129 int m_db_timeout_sec;
130 std::string m_req_endpoint;
131};
132
133} // namespace exmalserver
134
135#endif // EXMALSERVER_CONFIG_HPP_
Definition config.hpp:41
bool ParseOptions(int argc, char *argv[])
Definition config.cpp:59
Config(const Config &)=delete
void LoadConfig(const std::string &filename="")
Definition config.cpp:130
const std::string & GetProcName() const
Definition config.cpp:211
const std::string & GetLogLevel() const
Definition config.cpp:216
const std::string & GetSmScxmlFilename() const
Definition config.cpp:201
virtual ~Config()
Definition config.cpp:57
const std::string & GetMsgReplierEndpoint() const
Definition config.cpp:185
const std::string & GetLogProperties() const
Definition config.cpp:221
const timeval GetDbTimeout() const
Definition config.cpp:195
const std::string & GetDbEndpoint() const
Definition config.cpp:190
Config()
Definition config.cpp:26
const std::string & GetConfigFilename() const
Definition config.cpp:206
Config & operator=(const Config &)=delete
Disable copy constructor.
Definition actionMgr.cpp:24
const std::string CONFIG_DEFAULT_PROCNAME
Definition config.hpp:21
const std::string CONFIG_DEFAULT_FILENAME
Definition config.hpp:24
const std::string CONFIG_ENVVAR_DBHOST
Definition config.hpp:35
const std::string CONFIG_DEFAULT_SCXML_FILENAME
Definition config.hpp:25
const std::string CONFIG_DEFAULT_REQ_ENDPOINT
Definition config.hpp:30
const std::string CONFIG_DEFAULT_LOGLEVEL
Definition config.hpp:26
const int CONFIG_DEFAULT_DB_TIMEOUT_SEC
Definition config.hpp:29
const std::string CONFIG_DEFAULT_DB_ENDPOINT
Definition config.hpp:28
const std::string CONFIG_DEFAULT_LOG_PROPERTIES
Definition config.hpp:27