25 lines
868 B
C++
25 lines
868 B
C++
#include "config/client/Config.h"
|
|
#include "config/common/IniParser.h"
|
|
#include <sstream>
|
|
|
|
namespace config::client
|
|
{
|
|
Config Config::load(const std::string &path)
|
|
{
|
|
Config cfg;
|
|
IniParser ini;
|
|
ini.load(path);
|
|
|
|
cfg.network.serverHost = ini.get("network", "server_host", "127.0.0.1");
|
|
cfg.network.serverPort = std::stoi(ini.get("network", "server_port", "5005"));
|
|
cfg.network.intervalMs = std::chrono::milliseconds(std::stoi(ini.get("network", "interval_ms", "1000")));
|
|
|
|
const std::string disks_line = ini.get("collector", "disks", "R:/");
|
|
const std::vector<std::string> disks_vec = config::splitList(disks_line, ',');
|
|
for (const std::string &disk : disks_vec)
|
|
cfg.collector.disks.push_back(config::splitList(disk, ':'));
|
|
|
|
return cfg;
|
|
}
|
|
} // namespace config::client
|