Add configuration loading code to core-buffer

This commit is contained in:
2020-09-30 10:45:40 +02:00
parent fbbbb47f96
commit 9de3e896af
2 changed files with 40 additions and 0 deletions
+24
View File
@@ -3,6 +3,10 @@
#include <sstream>
#include <buffer_config.hpp>
#include <zmq.h>
#include <fstream>
#include <rapidjson/istreamwrapper.h>
#include <rapidjson/document.h>
#include <rapidjson/stringbuffer.h>
using namespace std;
using namespace buffer_config;
@@ -122,3 +126,23 @@ void* BufferUtils::bind_socket(
return socket;
}
BufferUtils::DetectorConfig read_json_config(const std::string& filename)
{
std::ifstream ifs(filename);
rapidjson::IStreamWrapper isw(ifs);
rapidjson::Document config_parameters;
config_parameters.ParseStream(isw);
return {
config_parameters["streamvis_stream"].GetString(),
config_parameters["streamvis_rate"].GetInt(),
config_parameters["live_stream"].GetString(),
config_parameters["live_rate"].GetInt(),
config_parameters["pedestal_file"].GetString(),
config_parameters["gain_file"].GetString(),
config_parameters["detector_name"].GetString(),
config_parameters["n_modules"].GetInt(),
"tcp://127.0.0.1:51234"
};
}