56 lines
1.4 KiB
C++
56 lines
1.4 KiB
C++
#include "client.h"
|
|
#include <SimpleIni.h>
|
|
#include <filesystem>
|
|
#include <iostream>
|
|
#include <of_path.h>
|
|
|
|
using namespace ofen;
|
|
namespace fs = std::filesystem;
|
|
|
|
struct TransmSet {
|
|
std::string ip{};
|
|
std::string port{};
|
|
};
|
|
|
|
std::shared_ptr<spdlog::logger> g_Logger = nullptr;
|
|
bool gen_default_ini(const std::string& path)
|
|
{
|
|
g_Logger->warn("Gen Default Setting Ini in [{}].", path);
|
|
CSimpleIniA ini_handle{};
|
|
ini_handle.LoadFile(path.c_str());
|
|
ini_handle.SetValue("Setting", "IP", "127.0.0.1");
|
|
ini_handle.SetValue("Setting", "PORT", "8989");
|
|
ini_handle.SaveFile(path.c_str());
|
|
return true;
|
|
}
|
|
|
|
bool read_ini(TransmSet& set)
|
|
{
|
|
fs::path home(COfPath::get_home());
|
|
std::string config_path = home.append("transm.ini").string();
|
|
if (!fs::exists(config_path) && !gen_default_ini(config_path)) {
|
|
return false;
|
|
}
|
|
CSimpleIniA ini_handle{};
|
|
SI_Error ret = ini_handle.LoadFile(config_path.c_str());
|
|
if (ret != SI_OK) {
|
|
g_Logger->error("Load Ini [{}] Failed.", config_path);
|
|
return false;
|
|
}
|
|
set.ip = ini_handle.GetValue("Setting", "IP");
|
|
set.port = ini_handle.GetValue("Setting", "PORT");
|
|
return true;
|
|
}
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
g_Logger = get_logger("client", "client.log");
|
|
TransmSet set;
|
|
if (!read_ini(set)) {
|
|
return -1;
|
|
}
|
|
CClient client(g_Logger);
|
|
client.run(set.ip, set.port);
|
|
g_Logger->info("exit &&&&&&&&&&&&&");
|
|
return 0;
|
|
} |