Smallcase folders part 1
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
message(STATUS "··Configuring Client")
|
||||
|
||||
add_library(Config.Client
|
||||
Config.cpp
|
||||
)
|
||||
|
||||
add_library(Config::Client ALIAS Config.Client)
|
||||
|
||||
target_link_libraries(Config.Client
|
||||
PUBLIC
|
||||
Config::Common
|
||||
)
|
||||
|
||||
target_include_directories(Config.Client
|
||||
PUBLIC
|
||||
${INCLUDE_BASE_DIR}
|
||||
)
|
||||
@@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
namespace config::client
|
||||
{
|
||||
struct CollectorConfig
|
||||
{
|
||||
std::vector<std::vector<std::string>> disks{{{"R", "/"}}};
|
||||
};
|
||||
} // namespace config::client
|
||||
@@ -0,0 +1,24 @@
|
||||
#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
|
||||
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include "display/graphics/Color.h"
|
||||
#include "config/client/NetworkConfig.h"
|
||||
#include "config/client/CollectorConfig.h"
|
||||
|
||||
namespace config::client
|
||||
{
|
||||
class Config
|
||||
{
|
||||
public:
|
||||
static Config load(const std::string &path);
|
||||
|
||||
NetworkConfig network;
|
||||
CollectorConfig collector;
|
||||
};
|
||||
} // namespace config::client
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <chrono>
|
||||
|
||||
namespace config::client
|
||||
{
|
||||
struct NetworkConfig
|
||||
{
|
||||
std::string serverHost{"127.0.0.1"};
|
||||
int serverPort{5005};
|
||||
std::chrono::milliseconds intervalMs{std::chrono::milliseconds(1000)};
|
||||
};
|
||||
} // namespace config::client
|
||||
Reference in New Issue
Block a user