X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/090b0586b6561e4b3aa87d8365026aad119150f9..6fe9371f7e3fd3011b69872392db97398020b03e:/include/stg/user_conf.h diff --git a/include/stg/user_conf.h b/include/stg/user_conf.h index d5acb238..a16b3929 100644 --- a/include/stg/user_conf.h +++ b/include/stg/user_conf.h @@ -18,25 +18,13 @@ struct USER_CONF { USER_CONF() - : password(), - passive(0), + : passive(0), disabled(0), disabledDetailStat(0), alwaysOnline(0), - tariffName(), - address(), - phone(), - email(), - note(), - realName(), - corp(), - services(), - group(), credit(0), - nextTariff(), userdata(USERDATA_NUM), - creditExpire(0), - ips() + creditExpire(0) {} std::string password; @@ -63,28 +51,8 @@ struct USER_CONF struct USER_CONF_RES { USER_CONF_RES() - : password(), - passive(), - disabled(), - disabledDetailStat(), - alwaysOnline(), - tariffName(), - address(), - phone(), - email(), - note(), - realName(), - corp(), - group(), - credit(), - nextTariff(), - userdata(USERDATA_NUM), - services(), - creditExpire(), - ips() - { - } - + : userdata(USERDATA_NUM) + {} USER_CONF_RES & operator=(const USER_CONF & uc) { userdata.resize(USERDATA_NUM); @@ -104,8 +72,7 @@ struct USER_CONF_RES credit = uc.credit; nextTariff = uc.nextTariff; for (size_t i = 0; i < USERDATA_NUM; i++) userdata[i] = uc.userdata[i]; - services.resize(uc.services.size()); - for (size_t i = 0; i < uc.services.size(); ++i) services[i] = uc.services[i]; + services = uc.services; creditExpire = uc.creditExpire; ips = uc.ips; return *this; @@ -132,9 +99,7 @@ struct USER_CONF_RES { uc.userdata[i] = userdata[i].data(); } - uc.services.resize(services.size()); - for (size_t i = 0; i < services.size(); ++i) - uc.services[i] = services[i].data(); + uc.services = services.data(); uc.creditExpire = creditExpire.data(); uc.ips = ips.data(); return uc; @@ -157,7 +122,7 @@ struct USER_CONF_RES RESETABLE credit; RESETABLE nextTariff; std::vector > userdata; - std::vector > services; + RESETABLE > services; RESETABLE creditExpire; RESETABLE ips; };