From a5e54b08904bebfc6cf3383a632eb4235554de28 Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Mon, 5 Jul 2021 14:24:36 +0200 Subject: [PATCH] Add std_udp_recv config structure --- std-udp-recv/include/UdpRecvConfig.hpp | 33 ++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 std-udp-recv/include/UdpRecvConfig.hpp diff --git a/std-udp-recv/include/UdpRecvConfig.hpp b/std-udp-recv/include/UdpRecvConfig.hpp new file mode 100644 index 0000000..847439b --- /dev/null +++ b/std-udp-recv/include/UdpRecvConfig.hpp @@ -0,0 +1,33 @@ +#ifndef SF_DAQ_BUFFER_UDPRECVCONFIG_HPP +#define SF_DAQ_BUFFER_UDPRECVCONFIG_HPP + + +#include +#include +#include +#include +#include + +struct UdpRecvConfig { + static UdpRecvConfig from_json_file(const std::string& filename) { + std::ifstream ifs(filename); + rapidjson::IStreamWrapper isw(ifs); + rapidjson::Document config_parameters; + config_parameters.ParseStream(isw); + + return { + config_parameters["detector_name"].GetString(), + config_parameters["detector_type"].GetString(), + config_parameters["n_modules"].GetInt(), + config_parameters["start_udp_port"].GetInt(), + }; + } + + const std::string detector_name; + const std::string detector_type; + const int n_modules; + const int start_udp_port; +}; + + +#endif //SF_DAQ_BUFFER_UDPRECVCONFIG_HPP