X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/dd1e2e08e0cf4010c4e2d12c229f1698322102d2..1acd024a6ba46ab0d9f9c25c089f79a4cba93f25:/projects/sgconf/config.h?ds=sidebyside diff --git a/projects/sgconf/config.h b/projects/sgconf/config.h index e7984783..e52111e3 100644 --- a/projects/sgconf/config.h +++ b/projects/sgconf/config.h @@ -35,26 +35,51 @@ struct CONFIG RESETABLE configFile; RESETABLE server; RESETABLE port; + RESETABLE localAddress; + RESETABLE localPort; RESETABLE userName; RESETABLE userPass; + CONFIG & operator=(const CONFIG & rhs) + { + if (!rhs.configFile.empty()) + configFile = rhs.configFile; + if (!rhs.server.empty()) + server = rhs.server; + if (!rhs.port.empty()) + port = rhs.port; + if (!rhs.localAddress.empty()) + localAddress = rhs.localAddress; + if (!rhs.localPort.empty()) + localPort = rhs.localPort; + if (!rhs.userName.empty()) + userName = rhs.userName; + if (!rhs.userPass.empty()) + userPass = rhs.userPass; + return *this; + } + std::string Serialize() const { - std::string res("{ "); - if (!configFile.empty()) - res += "configFile: '" + configFile.data() + "'"; - if (!server.empty()) - res += ", server: '" + server.data() + "'"; - if (!port.empty()) - res += ", port: " + x2str(port.data()); - if (!userName.empty()) - res += ", userName: '" + userName.data() + "'"; - if (!userPass.empty()) - res += ", userPass: '" + userPass.data() + "'"; - return res + " }"; + std::string res("{ "); + if (!configFile.empty()) + res += "configFile: '" + configFile.data() + "',"; + if (!server.empty()) + res += " server: '" + server.data() + "',"; + if (!port.empty()) + res += " port: " + x2str(port.data()) + ","; + if (!localAddress.empty()) + res += " local address: '" + localAddress.data() + "',"; + if (!localPort.empty()) + res += " local port: " + x2str(localPort.data()) + ","; + if (!userName.empty()) + res += " userName: '" + userName.data() + "',"; + if (!userPass.empty()) + res += " userPass: '" + userPass.data() + "'"; + return res + " }"; } }; -} +} // namespace SGCONF #endif