ifw-fcf 6.0.0
Loading...
Searching...
No Matches
config.hpp
Go to the documentation of this file.
1
8#ifndef FCF_DEVMGR_COMMON_CONFIG_HPP_
9#define FCF_DEVMGR_COMMON_CONFIG_HPP_
10
11// System headers
12#include <string>
13
14// Third party headers
15#include <yaml-cpp/yaml.h>
16
17// Local headers
18#include <utils/bat/config.hpp>
19#include <core/dit/fits/fits.hpp>
20#include <utils/bat/config.hpp>
21
22#include <fcf/devmgr/common/events.rad.hpp>
23
24namespace fcf {
25 namespace devmgr {
26 namespace common {
27
33 constexpr auto CONFIG_DEFAULT_DICTIONARIES = "dictionary/dit/stddid/primary.did.yaml";
34 constexpr auto CONFIG_DEFAULT_FIT_PREFIX = "INS";
35
36
37 constexpr auto KEY_CONFIG_EXT_PUB_ENDPOINT = "ext_pub_endpoint";
38 constexpr auto KEY_CONFIG_EXT_SUB_ENDPOINT = "ext_sub_endpoint";
39
40 constexpr auto KEY_CONFIG_DEVICES = "devices";
41 constexpr auto KEY_CONFIG_DEVFILE = "cfgfile";
42 constexpr auto KEY_CONFIG_TYPE = "type";
43 constexpr auto KEY_CONFIG_DEVNAME = "name";
44 constexpr auto KEY_CONFIG_INTERFACE = "interface";
45
46
50 constexpr auto CONFIG_ENVVAR_DBHOST = "DB_HOST";
51
56 class Config : public utils::bat::Config {
57 public:
65 Config();
66
70 virtual ~Config();
71
79 void LoadConfig(const std::string& filename = "", bool reset = false);
80
81
86 const int GetNumDevices() const;
87
88 //const std::string GetFitsPrefix() const;
89
95 const std::string GetDeviceName(const int& device_index) const;
96
102 const std::string GetDeviceFile(const int& device_index) const;
103
109 const std::string GetDeviceType(const int& device_index) const;
110
116 const std::string GetDeviceInterface(const int& device_index) const;
117
126 virtual void GetConfigList(utils::bat::DbVector& cfg_list) override;
127
128
129
130private:
131
132 Config(const Config&) = delete;
133 Config& operator=(const Config&) = delete;
134
135
136 std::string m_fits_prefix;
137 int m_num_devices;
138 int m_num_dictionaries;
139 unsigned int m_cmd_tout;
140 core::dit::did::Did m_did;
141 };
142 }
143 }
144} // namespace devmgr::common
145
146
147#endif // FCF_DEVMGR_COMMON_CONFIG_HPP_
Definition: config.hpp:56
const std::string GetDeviceInterface(const int &device_index) const
GetDeviceInterface.
Definition: config.cpp:146
const std::string GetDeviceType(const int &device_index) const
GetDeviceType.
Definition: config.cpp:125
const std::string GetDeviceName(const int &device_index) const
GetDeviceName.
Definition: config.cpp:110
Config()
Definition: config.cpp:39
virtual ~Config()
Definition: config.cpp:46
const std::string GetDeviceFile(const int &device_index) const
GetDeviceFile.
Definition: config.cpp:135
const int GetNumDevices() const
GetNumDevices.
Definition: config.cpp:102
virtual void GetConfigList(utils::bat::DbVector &cfg_list) override
Get configuration list.
Definition: config.cpp:156
void LoadConfig(const std::string &filename="", bool reset=false)
Definition: config.cpp:50
constexpr auto KEY_CONFIG_EXT_SUB_ENDPOINT
Definition: config.hpp:38
constexpr auto KEY_CONFIG_DEVNAME
Definition: config.hpp:43
constexpr auto KEY_CONFIG_INTERFACE
Definition: config.hpp:44
constexpr auto KEY_CONFIG_EXT_PUB_ENDPOINT
Definition: config.hpp:37
constexpr auto CONFIG_DEFAULT_FIT_PREFIX
Definition: config.hpp:34
constexpr auto CONFIG_DEFAULT_DICTIONARIES
Definition: config.hpp:33
constexpr auto KEY_CONFIG_TYPE
Definition: config.hpp:42
constexpr auto CONFIG_ENVVAR_DBHOST
Definition: config.hpp:50
constexpr auto KEY_CONFIG_DEVICES
Definition: config.hpp:40
constexpr auto KEY_CONFIG_DEVFILE
Definition: config.hpp:41
Definition: actionMgr.cpp:29