Go to the documentation of this file.
9 #ifndef EXCIISERVER_CONFIG_HPP
10 #define EXCIISERVER_CONFIG_HPP
17 #include <config-ng/ciiConfigApi.hpp>
64 const elt::configng::CiiConfigDocument&
GetConfigDoc() {
return *m_config_doc; }
83 void LoadConfig(
const std::string& filename =
"");
104 void MergeConfig(
const elt::configng::CiiConfigDocument& cfg_doc);
116 std::string
ConvertKey(
const std::string& key,
117 const char src_separator,
118 const char dst_separator);
139 void SetParam(
const std::string& key,
const T& value,
147 void AddParam(
const std::string& key,
const T& value,
162 std::string
PrintNode(
const elt::configng::CiiConfigInstanceNode& node,
163 const std::string& indentation);
169 std::string
Print(
const elt::configng::CiiConfigInstanceNamespace& instances);
187 std::unique_ptr<elt::configng::CiiConfigDocument> m_config_doc;
196 std::stringstream m_params;
204 std::string key2 = key;
209 m_params <<
" " << key2 <<
": " << value <<
"\n";
216 std::string key2 = key;
223 auto instance = m_config_doc->Instances();
229 key2 +
" does not exists.");
231 }
catch (std::exception& e) {
233 key2 +
">: " + std::string(e.what()));
241 std::string key2 = key;
248 auto instance = m_config_doc->Instances();
250 }
catch (std::exception& e) {
251 LOG4CPLUS_ERROR(
GetLogger(),
"Writing configuration parameter <"
252 << key2 <<
">: " << e.what());
258 #endif // EXCIISERVER_CONFIG_HPP
Exception classes header file.
std::string Print()
Definition: config.cpp:341
void LoadConfig(const std::string &filename="")
Definition: config.cpp:166
const std::string CONFIG_ROOT_NODE
Definition: config.hpp:27
#define RAD_TRACE(logger)
Definition: logger.hpp:24
Base class for the exceptions thrown by RAD and its users.
Definition: exceptions.hpp:53
const std::string CONFIG_DEFAULT_LOG_LEVEL
Definition: config.hpp:37
const char KEY_SEPARATOR_CFG
Definition: config.hpp:26
void ConfigureLogging(const std::string &filename="")
Definition: config.cpp:201
const std::string CONFIG_DEFAULT_PROCNAME
Definition: config.hpp:33
const std::string CONFIG_DEFAULT_LOG_PROPERTIES
Definition: config.hpp:38
virtual ~Config()
Definition: config.cpp:60
const elt::configng::CiiConfigDocument & GetConfigDoc()
Definition: config.hpp:64
bool ParseOptionsAndLoad(int argc, char *argv[])
Definition: config.cpp:64
Definition: config.hpp:48
#define RAD_ASSERTPTR(a)
Definition: assert.hpp:19
std::string PrintNode(const elt::configng::CiiConfigInstanceNode &node, const std::string &indentation)
Definition: config.cpp:282
void AddParam(const std::string &key, const T &value, const char separator=KEY_SEPARATOR_OLDB)
Definition: config.hpp:201
const std::string CONFIG_DEFAULT_VERSION
Definition: config.hpp:32
void MergeConfig(const elt::configng::CiiConfigDocument &cfg_doc)
Definition: config.cpp:223
Definition: actionMgr.cpp:23
const std::string CONFIG_DEFAULT_SCXML_FILENAME
Definition: config.hpp:36
#define RAD_LOG_THROW(exceptionType_t, logger, msg)
Throw exception with information about the throw location.
Definition: exceptions.hpp:356
T GetParam(const std::string &key, const char separator=KEY_SEPARATOR_OLDB)
Definition: config.hpp:213
log4cplus::Logger & GetLogger()
Definition: logger.cpp:14
void SetParam(const std::string &key, const T &value, const char separator=KEY_SEPARATOR_OLDB)
Definition: config.hpp:238
void CreateDefaultConfig()
Definition: config.cpp:346
const std::string CONFIG_DEFAULT_FILENAME
Definition: config.hpp:35
Config()
Definition: config.cpp:25
const std::string CONFIG_DEFAULT_OLDB_URI_PREFIX
Definition: config.hpp:40
Config(const Config &)=delete
const std::string CONFIG_DEFAULT_REQ_ENDPOINT
Definition: config.hpp:39
const int CONFIG_DEFAULT_OLDB_CONN_TIMEOUT
Definition: config.hpp:41
std::string ConvertKey(const std::string &key, const char src_separator, const char dst_separator)
Definition: config.cpp:271
Config & operator=(const Config &)=delete
Disable copy constructor.
const char KEY_SEPARATOR_OLDB
Definition: config.hpp:25