Page MenuHomePhorge

configuration.h
No OneTemporary

Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None

configuration.h

#ifndef CONFIGURATION_H
#define CONFIGURATION_H
#include "rosa/config/version.h"
#include "rosa/deluxe/DeluxeContext.hpp"
#include "json.hpp"
#include <fstream>
using namespace rosa;
using nlohmann::json;
struct SignalConfiguration {
std::string Name;
bool Output;
float InnerBound;
float OuterBound;
float InnerBoundDrift;
float OuterBoundDrift;
};
struct AppConfiguration {
std::string InputFilePath;
std::string OutputFilePath;
uint32_t BrokenCounter;
uint32_t Length;
std::vector<SignalConfiguration> SignalConfigurations;
};
/*
void to_json(json& J, const AppConfiguration& AC) {
//This direction is not needed
(void)J;
(void)AC;
}
void to_json(json& J, const SignalConfiguration& SC) {
//This direction is not needed
(void)J;
(void)SC;
}
void from_json(json& J, const AppConfiguration& AC) {
J.at("InputFilePath").get_to(AC.InputFilePath);
J.at("OutputFilePath").get_to(AC.OutputFilePath);
J.at("BrokenCounter").get_to(AC.BrokenCounter);
J.at("Length").get_to(AC.Length);
//J.at("SignalConfigurations").get_to(AC.SignalConfigurations);
}
void from_json(json& J, const SignalConfiguration& SC) {
J.at("Name").get_to(SC.Name);
J.at("Output").get_to(SC.Output);
J.at("InnerBound").get_to(SC.InnerBound);
J.at("OuterBound").get_to(SC.OuterBound);
J.at("InnerBoundDrift").get_to(SC.InnerBoundDrift);
J.at("OuterBoundDrift").get_to(SC.OuterBoundDrift);
}
*/
AppConfiguration AppConfig = {"in.csv", "out.csv", 10, 10, {{"sig1", false, 0.1, 0.25, 0.4, 0.6},{"sig2", false, 0.1, 0.25, 0.4, 0.6},{"sig3", true, 0.1, 0.25, 0.4, 0.6}}};
bool readConfigFile(std::string ConfigPath) {
LOG_INFO("READING CONFIG FILE");
LOG_INFO_STREAM << "Looking for config file at \"" << ConfigPath << "\"\n";
std::ifstream ConfigFile;
ConfigFile.open(ConfigPath);
if (!ConfigFile) {
LOG_ERROR("Unable to open config file");
return false;
}
json ConfigObj;
ConfigFile >> ConfigObj;
std::cout << ConfigObj << std::endl;
try {
//ConfigObj.get_to(AppConfig);
} catch (nlohmann::detail::type_error ex) {
LOG_ERROR("Misformatted Config File");
return false;
}
return true;
}
#endif // CONFIGURATION_H

File Metadata

Mime Type
text/x-c
Expires
Tue, Oct 27, 8:04 PM (1 d, 22 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
411435
Default Alt Text
configuration.h (2 KB)

Event Timeline