mountcontrol/cxx/tests/configfile_test.cpp
2025-02-23 19:22:03 +03:00

40 lines
865 B
C++

#include <iostream>
#include "../comm_server_configfile.h"
int main(int argc, char* argv[])
{
if (argc < 2) {
std::cout << "Usage: " << argv[0] << " cfg_filename\n";
return 1;
}
mcc::MccConfigfile cfg;
auto ec = cfg.load(std::string_view{argv[1]});
if (ec) {
std::cout << "ERR: " << ec.message() << "\n";
return 1;
}
for (auto& [key, v] : cfg.config()) {
std::cout << "<" << key << "> = ";
if (v.index()) {
if (v.index() > 1) {
for (auto& el : std::get<2>(v)) {
std::cout << "<" << el << "> ";
}
std::cout << "\n";
} else {
std::cout << "<" << std::get<1>(v) << ">\n";
}
} else {
std::cout << "<no value>\n";
}
}
return 0;
}