X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/3e3df32d6d5a426ff11ac1b3734374bf25046b7f..12b88fa193a36e0d4ed35b1912e5cf1dfe633ce6:/include/stg/admin_conf.h diff --git a/include/stg/admin_conf.h b/include/stg/admin_conf.h index df6d9e22..88d944bf 100644 --- a/include/stg/admin_conf.h +++ b/include/stg/admin_conf.h @@ -7,9 +7,11 @@ #ifndef ADMIN_CONF_H #define ADMIN_CONF_H +#include "stg/resetable.h" + #include -#include "os_int.h" +#include #define ADM_LOGIN_LEN (32) #define ADM_PASSWD_LEN (32) @@ -27,7 +29,7 @@ struct PRIV serviceChg(0), corpChg(0) {} - PRIV(uint32_t p) + explicit PRIV(uint32_t p) : userStat((p & 0x00000003) >> 0x00), userConf((p & 0x0000000C) >> 0x02), userCash((p & 0x00000030) >> 0x04), @@ -60,11 +62,6 @@ struct ADMIN_CONF login(), password("* NO PASSWORD *") {} - ADMIN_CONF(const ADMIN_CONF & rvalue) - : priv(rvalue.priv), - login(rvalue.login), - password(rvalue.password) - {} ADMIN_CONF(const PRIV & pr, const std::string & l, const std::string & p) : priv(pr), login(l), @@ -75,6 +72,25 @@ struct ADMIN_CONF std::string password; }; //----------------------------------------------------------------------------- +struct ADMIN_CONF_RES +{ + ADMIN_CONF_RES() {} + ADMIN_CONF_RES(const ADMIN_CONF_RES & rhs) + : priv(rhs.priv), + login(rhs.login), + password(rhs.password) + {} + ADMIN_CONF_RES & operator=(const ADMIN_CONF_RES & rhs) + { + priv = rhs.priv; + login = rhs.login; + password = rhs.password; + return *this; + } + RESETABLE priv; + RESETABLE login; + RESETABLE password; +}; #include "admin_conf.inc.h"