X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/90e389f6ec12e60a62c362296ffcf314feb5b03d..f88b8e1e0e34f1e25e86468ca271a89af4872eab:/include/stg/user_conf.h diff --git a/include/stg/user_conf.h b/include/stg/user_conf.h index 70cb4fa7..d48682d6 100644 --- a/include/stg/user_conf.h +++ b/include/stg/user_conf.h @@ -9,35 +9,23 @@ #include #include +#include #include "const.h" #include "user_ips.h" #include "resetable.h" -#include "os_int.h" //----------------------------------------------------------------------------- struct USER_CONF { USER_CONF() - : password(), - passive(0), + : passive(0), disabled(0), disabledDetailStat(0), alwaysOnline(0), - tariffName(), - address(), - phone(), - email(), - note(), - realName(), - corp(), - service(), - group(), credit(0), - nextTariff(), userdata(USERDATA_NUM), - creditExpire(0), - ips() - {}; + creditExpire(0) + {} std::string password; int passive; @@ -51,7 +39,7 @@ struct USER_CONF std::string note; std::string realName; std::string corp; - std::vector service; + std::vector services; std::string group; double credit; std::string nextTariff; @@ -63,26 +51,8 @@ struct USER_CONF struct USER_CONF_RES { USER_CONF_RES() - : password(), - passive(), - disabled(), - disabledDetailStat(), - alwaysOnline(), - tariffName(), - address(), - phone(), - email(), - note(), - realName(), - group(), - credit(), - nextTariff(), - userdata(USERDATA_NUM, RESETABLE()), - creditExpire(), - ips() - { - }; - + : userdata(USERDATA_NUM) + {} USER_CONF_RES & operator=(const USER_CONF & uc) { userdata.resize(USERDATA_NUM); @@ -97,40 +67,41 @@ struct USER_CONF_RES email = uc.email; note = uc.note; realName = uc.realName; + corp = uc.corp; group = uc.group; credit = uc.credit; nextTariff = uc.nextTariff; - for (int i = 0; i < USERDATA_NUM; i++) - { - userdata[i] = uc.userdata[i]; - } + for (size_t i = 0; i < USERDATA_NUM; i++) userdata[i] = uc.userdata[i]; + services = uc.services; creditExpire = uc.creditExpire; ips = uc.ips; return *this; - }; - operator USER_CONF() const + } + USER_CONF GetData() const { USER_CONF uc; - uc.password = password; - uc.passive = passive; - uc.disabled = disabled; - uc.disabledDetailStat = disabledDetailStat; - uc.alwaysOnline = alwaysOnline; - uc.tariffName = tariffName; - uc.address = address; - uc.phone = phone; - uc.email = email; - uc.note = note; - uc.realName = realName; - uc.group = group; - uc.credit = credit; - uc.nextTariff = nextTariff; - for (int i = 0; i < USERDATA_NUM; i++) + uc.password = password.data(); + uc.passive = passive.data(); + uc.disabled = disabled.data(); + uc.disabledDetailStat = disabledDetailStat.data(); + uc.alwaysOnline = alwaysOnline.data(); + uc.tariffName = tariffName.data(); + uc.address = address.data(); + uc.phone = phone.data(); + uc.email = email.data(); + uc.note = note.data(); + uc.realName = realName.data(); + uc.corp = corp.data(); + uc.group = group.data(); + uc.credit = credit.data(); + uc.nextTariff = nextTariff.data(); + for (size_t i = 0; i < USERDATA_NUM; i++) { - uc.userdata[i] = userdata[i]; + uc.userdata[i] = userdata[i].data(); } - uc.creditExpire = creditExpire; - uc.ips = ips; + uc.services = services.data(); + uc.creditExpire = creditExpire.data(); + uc.ips = ips.data(); return uc; } //------------------------------------------------------------------------- @@ -146,13 +117,14 @@ struct USER_CONF_RES RESETABLE email; RESETABLE note; RESETABLE realName; + RESETABLE corp; RESETABLE group; RESETABLE credit; RESETABLE nextTariff; std::vector > userdata; + RESETABLE > services; RESETABLE creditExpire; RESETABLE ips; }; //----------------------------------------------------------------------------- #endif -