13#ifndef HLCC_TELIF_TELMON_CONFIG_HPP
14#define HLCC_TELIF_TELMON_CONFIG_HPP
17#include <config-ng/ciiConfigApi.hpp>
18#include <rad/config.hpp>
29 : std::runtime_error(message)
62struct CiiConfigValueConverter<
hlcc::telmon::MonitoredSubsystem, CiiConfigInstanceNode> {
64 if (node.GetKind() != CiiConfigNodeKind::MAP || node.GetDataTypeName() !=
"MonitoredSubsystem") {
65 std::cerr << node.GetDataTypeName() <<
"Conversion to MonitoredSubsystem not possible" << std::endl;
68 target.
name = node[
"name"].As<std::string>();
74 static bool Decode(
const CiiConfigInstanceNode& node, std::vector<hlcc::telmon::MonitoredApp> &targets) {
75 if (node.GetKind() != CiiConfigNodeKind::MAP || node.GetDataTypeName() !=
"MonitoredSubsystem") {
76 std::cerr <<
"Conversion to MonitoredApp not possible" << std::endl;
80 for (
size_t i = 0; i < node[
"monitored_apps"].GetSize(); i++ ){
81 auto temp = node[
"monitored_apps"].Get(i);
84 mon_temp.
name = temp[
"name"].As<std::string>();
85 mon_temp.
ignore = temp[
"ignore"].As<
bool>();
86 mon_temp.
oldb = temp[
"oldb"].As<std::string>();
87 mon_temp.
pubsub = temp[
"pubsub"].As<std::string>();
88 mon_temp.
stdcmds = temp[
"stdcmds"].As<std::string>();
90 targets.push_back(mon_temp);
97 if (node.GetKind() != elt::configng::CiiConfigNodeKind::MAP) {
98 std::cerr <<
"Conversion from MonitoredSubsystem not possible" << std::endl;
101 node.Set(
"name" , elt::configng::CiiConfigInstanceNode::From(source.
name));
102 node.Set(
"ignore_subsystem" , elt::configng::CiiConfigInstanceNode::From(source.
ignore_subsystem));
107 static bool Encode(CiiConfigInstanceNode &node,
const std::vector<hlcc::telmon::MonitoredApp> &source) {
109 if (node.GetKind() != elt::configng::CiiConfigNodeKind::MAP) {
110 std::cerr <<
"Conversion from MonitoredApp not possible" << std::endl;
113 CiiConfigInstanceNode temp_node = CiiConfigInstanceNode(CiiConfigNodeKind::MAP);
114 for (
auto item : source){
116 temp_node.Set(
"name" , elt::configng::CiiConfigInstanceNode::From(item.name));
117 temp_node.Set(
"oldb" , elt::configng::CiiConfigInstanceNode::From(item.oldb));
118 temp_node.Set(
"stdcmds" , elt::configng::CiiConfigInstanceNode::From(item.stdcmds));
119 temp_node.Set(
"pubsub" , elt::configng::CiiConfigInstanceNode::From(item.pubsub));
120 temp_node.Set(
"ignore" , elt::configng::CiiConfigInstanceNode::From(item.ignore));
121 node[
"monitored_apps"].PushBack(temp_node.Clone());
ConfigError(const std::string &message)
Definition config.hpp:28
ConfigPack GetConfigPack()
Definition config.cpp:57
virtual ~Config()
Definition config.cpp:52
Config(const Config &)=delete
Config()
Definition config.cpp:19
Config & operator=(const Config &)=delete
Disable copy constructor.
Definition guideStarHelper.cpp:19
Definition actionMgr.cpp:31
const std::string KEY_CONFIG_PUB_DDS_FILE
Definition config.hpp:158
const char CONFIG_KEY_SEPARATOR_OLDB
Definition config.hpp:129
const std::string CONFIG_DEFAULT_PUB_DDS_PROFILE
Definition config.hpp:213
const std::string KEY_CONFIG_MONITORED_SUBSYSTEMS
Definition config.hpp:165
const std::string CONFIG_DEFAULT_PUB_DDS_FILE
Definition config.hpp:215
const std::string KEY_CONFIG_ESTIMATIONSCRIPTS
Definition config.hpp:164
const std::string KEY_CONFIG_READYFORHANDOVER_INERTIA_MS
Definition config.hpp:163
const std::string KEY_CONFIG_PUB_DDS_DOMAIN_ID_CCS_INS
Definition config.hpp:160
const std::string KEY_CONFIG_PUB_DDS_DOMAIN_ID_HLCC
Definition config.hpp:159
const std::string CONFIG_DEFAULT_SCXML_FILENAME
Definition config.hpp:204
const std::string KEY_CONFIG_ESTIMATION_PERIOD_MS
Definition config.hpp:162
const bool CONFIG_DEFAULT_TRS_HEALTH_ENABLED
Definition config.hpp:212
const std::string KEY_CONFIG_NIGHT_TIME_NEEDED_SUBSYS
Definition config.hpp:166
const std::string KEY_CONFIG_PUB_DDS_NIC
Definition config.hpp:157
ConfigType
Definition config.hpp:134
@ CFG_MONITORED_SUBSYSTEMS
Definition config.hpp:134
@ CFG_DOUBLE
Definition config.hpp:134
@ CFG_VEC_STRING
Definition config.hpp:134
@ CFG_UINT16
Definition config.hpp:134
@ CFG_UINT32
Definition config.hpp:134
@ CFG_STRING
Definition config.hpp:134
const std::string KEY_CONFIG_NIGHT_TIME_NOT_NEEDED_SUBSYS
Definition config.hpp:167
const std::string KEY_CONFIG_PUB_DDS_PROFILE
Definition config.hpp:156
const std::string CONFIG_DEFAULT_REQ_ENDPOINT
Definition config.hpp:208
const std::string CONFIG_DEFAULT_LOG_LEVEL
Definition config.hpp:206
const uint32_t CONFIG_DEFAULT_PUB_DDS_DOMAIN_ID_CCS_INS
Definition config.hpp:217
const std::string KEY_CONFIG_NIGHT_TIME_NOT_NEEDED_CRITICAL_SUBSYS
Definition config.hpp:168
const std::vector< std::string > OLDB_CFG_KEYS_VECTOR_STRING
Definition config.hpp:180
const std::string CONFIG_DEFAULT_FILENAME
Definition config.hpp:203
const std::string CONFIG_DEFAULT_PUB_DDS_NIC
Definition config.hpp:214
const uint32_t CONFIG_DEFAULT_PUB_DDS_DOMAIN_ID_GENERAL
Definition config.hpp:218
const std::vector< MonitoredSubsystem > CONFIG_DEFAULT_MONITORED_SUBSYSTEMS
Definition config.hpp:222
const std::string CONFIG_DEFAULT_LOG_PROPERTIES
Definition config.hpp:207
const std::vector< std::string > OLDB_CFG_KEYS_STRING
Definition config.hpp:174
const std::string KEY_CONFIG_PUB_DDS_DOMAIN_ID_GENERAL
Definition config.hpp:161
const std::string CONFIG_DEFAULT_PROCNAME
Definition config.hpp:202
const std::string CONFIG_DEFAULT_VERSION
Definition config.hpp:200
const uint32_t CONFIG_DEFAULT_OLDB_CONN_TIMEOUT
Definition config.hpp:210
const uint32_t CONFIG_DEFAULT_OLDB_ASYNC_PERIOD
Definition config.hpp:211
const uint32_t CONFIG_DEFAULT_READYFORHANDOVER_INERTIA_MS
Definition config.hpp:220
const std::string KEY_CONFIG
Definition config.hpp:155
const uint32_t CONFIG_DEFAULT_ESTIMATION_PERIOD_MS
Definition config.hpp:219
const std::string CONFIG_DEFAULT_OLDB_URI_PREFIX
Definition config.hpp:209
const std::string CONFIG_DEFAULT_MODNAME
Definition config.hpp:201
const std::string CONFIG_DEFAULT_SCXML_APPEND
Definition config.hpp:205
const std::vector< std::string > CONFIG_DEFAULT_NIGHT_TIME_NOT_NEEDED_CRITICAL
Definition config.hpp:225
const std::vector< std::string > OLDB_CFG_KEYS_UINT32
Definition config.hpp:187
const std::vector< std::string > CONFIG_DEFAULT_ESTIMATIONSCRIPTS
Definition config.hpp:221
const uint32_t CONFIG_DEFAULT_PUB_DDS_DOMAIN_ID_HLCC
Definition config.hpp:216
const std::vector< std::string > CONFIG_DEFAULT_NIGHT_TIME_NOT_NEEDED
Definition config.hpp:224
const std::vector< std::string > CONFIG_DEFAULT_NIGHT_TIME_NEEDED
Definition config.hpp:223
Definition ccsinsoldb.hpp:10
static bool Decode(const CiiConfigInstanceNode &node, hlcc::telmon::MonitoredSubsystem &target)
Definition config.hpp:63
static bool Decode(const CiiConfigInstanceNode &node, std::vector< hlcc::telmon::MonitoredApp > &targets)
Definition config.hpp:74
static bool Encode(CiiConfigInstanceNode &node, const hlcc::telmon::MonitoredSubsystem &source)
Definition config.hpp:95
static bool Encode(CiiConfigInstanceNode &node, const std::vector< hlcc::telmon::MonitoredApp > &source)
Definition config.hpp:107
Definition config.hpp:230
std::string sm_scxml_append
Definition config.hpp:236
std::uint16_t estimation_period_ms
Definition config.hpp:249
std::string pub_dds_file
Definition config.hpp:245
std::uint16_t readyforhandover_inertia_ms
Definition config.hpp:250
int oldb_con_timeout
Definition config.hpp:241
std::string log_properties
Definition config.hpp:238
std::string req_endpoint
Definition config.hpp:239
std::string pub_dds_profile
Definition config.hpp:243
bool trs_health_enabled
Definition config.hpp:242
std::string filename
Definition config.hpp:234
std::vector< std::string > estimation_scripts
Definition config.hpp:251
std::string oldb_uri_prefix
Definition config.hpp:240
std::string sm_scxml
Definition config.hpp:235
std::uint32_t pub_dds_domain_id_general
Definition config.hpp:248
std::vector< std::string > night_time_not_needed_critical_subsystems
Definition config.hpp:255
std::vector< std::string > night_time_needed_subsystems
Definition config.hpp:253
std::vector< MonitoredSubsystem > monitored_subsystems
Definition config.hpp:252
std::vector< std::string > night_time_not_needed_subsystems
Definition config.hpp:254
std::uint32_t pub_dds_domain_id_hlcc
Definition config.hpp:246
std::string modname
Definition config.hpp:232
std::string pub_dds_nic
Definition config.hpp:244
std::string log_level
Definition config.hpp:237
std::uint32_t pub_dds_domain_id_ccs_ins
Definition config.hpp:247
std::string procname
Definition config.hpp:233
std::string version
Definition config.hpp:231
std::string name
Definition config.hpp:39
std::string pubsub
Definition config.hpp:42
std::string oldb
Definition config.hpp:40
std::string stdcmds
Definition config.hpp:41
bool ignore
Definition config.hpp:43
bool ignore_subsystem
Definition config.hpp:48
std::string name
Definition config.hpp:47
std::vector< MonitoredApp > monitored_apps
Definition config.hpp:49