8 #ifndef CORE_UTILS_BAT_CONFIG_HPP_
9 #define CORE_UTILS_BAT_CONFIG_HPP_
16 #include <boost/date_time/posix_time/posix_time.hpp>
17 #include <boost/program_options.hpp>
18 #include <boost/optional.hpp>
26 #include <config-ng/ciiConfigApi.hpp>
80 using DbPair = std::pair<std::string, std::any>;
170 void LoadConfig(
const std::string& filename =
"",
bool reset =
false)
override;
234 const unsigned int GetReqTout()
const override;
240 const unsigned int GetMonTout()
const override;
288 const elt::configng::CiiConfigInstanceNamespace&
GetInstance()
const;
321 void MergeConfig(
const elt::configng::CiiConfigDocument &doc,
bool check=
true);
329 void CheckConfig(
const elt::configng::CiiConfigDocument &doc)
const;
339 void OverrideFromCmdLine();
345 void SetLogProperties(
const std::string& filename);
362 std::stringstream m_default_stream;
363 int m_num_dictionaries;
Data Interface Dictionary class.
Definition: did.hpp:32
Definition: config.hpp:140
CliConfig m_cli_config
Command line parameters.
Definition: config.hpp:351
std::unique_ptr< elt::configng::CiiConfigDocument > m_config_doc
Internal configuration document object.
Definition: config.hpp:349
core::dit::did::Did & GetDid()
Definition: config.cpp:549
core::dit::did::Did m_did
Definition: config.hpp:354
CliConfig & GetCliCfg()
Definition: config.cpp:615
const unsigned int GetDbConnTimeout() const override
Definition: config.cpp:310
void SetConfigFilename(const std::string cfg_file)
Definition: config.cpp:620
const std::string GetServerId() const override
Definition: config.cpp:265
std::string m_config_filename
Definition: config.hpp:353
const elt::configng::CiiConfigInstanceNamespace & GetInstance() const
Merges an existing configuration with another config document.
Definition: config.cpp:528
const unsigned int GetMonTout() const override
Get the wait timeout.
Definition: config.cpp:360
const unsigned int GetDbTaskPeriod() const override
Definition: config.cpp:625
const std::string GetConfigAsString() const override
Get the actual configuration as a string.
Definition: config.cpp:398
Config()
Definition: config.cpp:33
const unsigned int GetReqTout() const override
Get the command timeout.
Definition: config.cpp:368
std::string GetResolvedFilename(const std::string &config)
Resolve file name.
Definition: config.cpp:434
void MergeConfig(const elt::configng::CiiConfigDocument &doc, bool check=true)
Merges a configuration file.
Definition: config.cpp:473
const std::string GetFitsPrefix() const
Get FITS prefix.
Definition: config.cpp:388
void CheckConfig(const elt::configng::CiiConfigDocument &doc) const
Validates the document configuration.
Definition: config.cpp:497
const std::string GetSmScxmlFilename() const override
Definition: config.cpp:317
boost::posix_time::ptime m_file_utc
Definition: config.hpp:352
const std::string GetLogProperties() const override
Definition: config.cpp:332
const std::string GetVersion() const
GetVersion.
Definition: config.cpp:556
virtual ~Config()=default
const timeval GetDbTimeout() const override
Definition: config.cpp:301
void LoadConfig(const std::string &filename="", bool reset=false) override
Definition: config.cpp:174
const std::string GetMsgPubEndpoint() const override
Definition: config.cpp:294
log4cplus::Logger m_logger
Definition: config.hpp:355
bool ParseOptions(int argc, char *argv[]) override
Definition: config.cpp:76
virtual void GetConfigList(DbVector &cfg_list)
Definition: config.cpp:569
const std::string GetOldbPrefix() const
Get OLDB prefix.
Definition: config.cpp:375
const std::string GetMsgReplierEndpoint() const override
Definition: config.cpp:279
const std::string GetConfigFilename() const override
Definition: config.cpp:323
void SetConfigAsString(const std::string &config) override
Load a configuration as string.
Definition: config.cpp:413
const std::string GetLogLevel() const override
Definition: config.cpp:348
Definition: iConfig.hpp:21
IConfig class header file.
log4cplus::Logger & Logger()
Definition: defines.cpp:13
Definition: config.cpp:31
constexpr auto CONFIG_DEFAULT_REQ_ENDPOINT
Definition: config.hpp:41
constexpr auto KEY_CONFIG_WAITTOUT
Definition: config.hpp:70
constexpr auto KEY_CONTROL_SUBSTATE_STR
Definition: config.hpp:56
constexpr auto CONFIG_DEFAULT_SCXML_FILENAME
Definition: config.hpp:37
constexpr auto KEY_CONFIG_DB_PREFIX
Definition: config.hpp:73
constexpr auto KEY_CONFIG_DB_ENDPOINT
Definition: config.hpp:61
constexpr auto KEY_CONFIG_FITS_PREFIX
Definition: config.hpp:74
constexpr auto KEY_CONTROL_STATE
Definition: config.hpp:52
constexpr auto KEY_CONFIG_SERVER
Definition: config.hpp:69
constexpr unsigned int CONFIG_DEFAULT_CMD_TOUT
Definition: config.hpp:46
constexpr auto KEY_CONFIG_PUB_ENDPOINT
Definition: config.hpp:60
constexpr auto KEY_CONFIG_REQ_ENDPOINT
Definition: config.hpp:59
std::pair< std::string, std::any > DbPair
Definition: config.hpp:80
constexpr unsigned int CONFIG_DEFAULT_WAIT_TOUT
Definition: config.hpp:45
constexpr auto KEY_CONFIG_DB_TASK_PERIOD
Definition: config.hpp:63
constexpr auto KEY_DB_STATES
Definition: config.hpp:78
constexpr auto KEY_CONTROL_STATE_STR
Definition: config.hpp:55
constexpr auto CONFIG_DEFAULT_DB_ENDPOINT
Definition: config.hpp:39
constexpr auto KEY_CONFIG_LOG_LEVEL
Definition: config.hpp:66
constexpr auto KEY_CONFIG_SM_SCXML
Definition: config.hpp:64
constexpr auto KEY_CONFIG_LOG_PROP
Definition: config.hpp:67
constexpr auto KEY_CONFIG_DICTIONARIES
Definition: config.hpp:72
constexpr auto CONFIG_DEFAULT_PROCNAME
Definition: config.hpp:33
constexpr auto CONFIG_DEFAULT_FILENAME
Definition: config.hpp:36
constexpr auto KEY_CONFIG_FILENAME
Definition: config.hpp:65
constexpr auto KEY_CONTROL_SUBSTATE
Definition: config.hpp:53
constexpr auto KEY_CONFIG_CMDTOUT
Definition: config.hpp:71
constexpr auto KEY_CONFIG_VERSION
Definition: config.hpp:75
constexpr auto CONFIG_DEFAULT_PUB_ENDPOINT
Definition: config.hpp:42
constexpr auto KEY_CONTROL_STATUS
Definition: config.hpp:54
constexpr auto KEY_CONFIG_DB_TIMEOUT
Definition: config.hpp:62
constexpr auto CONFIG_DEFAULT_LOGLEVEL
Definition: config.hpp:38
constexpr unsigned int CONFIG_DEFAULT_DB_TIMEOUT
Definition: config.hpp:40
constexpr auto KEY_CONFIG_SERVER_ID
Definition: config.hpp:68
std::vector< DbPair > DbVector
Definition: config.hpp:81
constexpr auto CONFIG_DEFAULT_OLDB_URI
Definition: config.hpp:43
constexpr auto CONFIG_DB_DELIMITER
Definition: config.hpp:49
The CliConfig struct.
Definition: config.hpp:90
boost::optional< std::string > GetConfigFile()
Definition: config.hpp:99
boost::optional< std::string > GetServerId()
Definition: config.hpp:91
boost::optional< std::string > m_req_endpoint
Definition: config.hpp:115
boost::optional< std::string > m_config_file
Definition: config.hpp:114
boost::optional< std::string > m_server_id
Definition: config.hpp:112
boost::optional< std::string > GetLogLevel()
Definition: config.hpp:95
boost::optional< std::string > m_log_prop_file
Definition: config.hpp:116
boost::optional< std::string > GetLogPropFile()
Definition: config.hpp:107
boost::optional< std::string > m_log_level
Definition: config.hpp:113
boost::optional< std::string > GetReqEndpoint()
Definition: config.hpp:103