CAPIO-CL 1.2.0
CAPIO-CL: Cross Application Programmable I/O - Coordination Language
Loading...
Searching...
No Matches
configuration.h
1#ifndef CAPIO_CL_CONFIGURATION_H
2#define CAPIO_CL_CONFIGURATION_H
3#include <filesystem>
4#include <unordered_map>
5
6#include "capiocl.hpp"
7
8
9typedef struct {
11 std::string k;
12 /// @brief Value of option
13 std::string v;
29
32 friend class engine::Engine;
33 std::unordered_map<std::string, std::string> config;
34
35 protected:
41 void set(const std::string &key, std::string value);
42
47 void set(const ConfigurationEntry &entry);
48
49 public:
50 explicit CapioClConfiguration();
51 ~CapioClConfiguration() = default;
52
57 void load(const std::filesystem::path &path);
58
64 void getParameter(const std::string &key, int *value) const;
65
71 void getParameter(const std::string &key, std::string *value) const;
72};
73
77class capiocl::configuration::CapioClConfigurationException final : public std::exception {
78 std::string message;
79
80 public:
85 explicit CapioClConfigurationException(const std::string &msg);
86
91 [[nodiscard]] const char *what() const noexcept override { return message.c_str(); }
92};
93
94#endif
Custom exception thrown when handling a CAPIO-CL TOML configuration file.
Definition configuration.h:77
CapioClConfigurationException(const std::string &msg)
Construct a new CAPIO-CL Exception.
Definition configuration.cpp:78
const char * what() const noexcept override
Definition configuration.h:91
Load configuration and store it from a CAPIO-CL TOML configuration file.
Definition configuration.h:31
void getParameter(const std::string &key, int *value) const
Definition configuration.cpp:60
void load(const std::filesystem::path &path)
Definition configuration.cpp:46
void set(const std::string &key, std::string value)
Definition configuration.cpp:38
Engine for managing CAPIO-CL configuration entries. The CapioCLEngine class stores and manages config...
Definition engine.h:26
Struct containing key value pairs for capio-cl runtime configuration.
Definition configuration.h:9
std::string v
Value of option.
Definition configuration.h:13
std::string k
Key of option.
Definition configuration.h:11
Defaults values keys for runtime options of CAPIO-CL.
Definition configuration.h:17
static ConfigurationEntry DEFAULT_MONITOR_HOMENODE_PORT
Multicast monitor homenode PORT.
Definition configuration.h:15
static ConfigurationEntry DEFAULT_MONITOR_HOMENODE_IP
Multicast monitor homenode IP.
Definition configuration.h:12
static ConfigurationEntry DEFAULT_MONITOR_MCAST_DELAY
Multicast monitor delay before following operation.
Definition configuration.h:9
static ConfigurationEntry DEFAULT_MONITOR_MCAST_PORT
Multicast monitor commit PORT.
Definition configuration.h:6
static ConfigurationEntry DEFAULT_MONITOR_MCAST_IP
Multicast monitor commit IP.
Definition configuration.h:3