transm/client/config.h

53 lines
1.2 KiB
C
Raw Normal View History

#pragma once
#include <SimpleIni.h>
#include <of_path.h>
#include <util.h>
using namespace ofen;
struct TransmSet {
std::string group;
std::string ip{};
std::string comment{};
long port{};
long grp_id{};
};
struct CmdParam {
std::string removeValue;
std::string appendValue;
bool showValue{false};
long use_config{-1};
bool parsed{false};
bool direct_use{false};
bool last_use{false};
2025-03-28 12:20:58 +08:00
bool null_use{false};
};
class CServerConfig
{
public:
CServerConfig();
~CServerConfig();
public:
bool baseInit();
bool read_ini(std::vector<TransmSet>& set);
long have_ini(const std::vector<TransmSet>& set, const std::string& ip, long port);
bool write_ini(const std::vector<TransmSet>& set);
long append_ini(const std::string& ip, long port, const std::string& comment);
bool remove_ini(long num);
2025-02-06 09:37:24 +08:00
static bool get_ini(const std::vector<TransmSet>& set, long num, TransmSet& use);
public:
bool save_last_use(const std::string& ip, long port);
2025-03-28 12:20:58 +08:00
bool get_last_use(std::string& ip, long& port);
private:
void gen_default_ini(const std::string& path);
private:
bool init_{false};
CSimpleIniA ini_handle_{};
std::string config_path_{};
};