X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/359e4b28458d352dc55ac39db7e4b5bb308eb361..64b687f8ec36a103865044613cb0f42f98aeda3a:/stglibs/srvconf.lib/include/stg/servconf_types.h?ds=sidebyside diff --git a/stglibs/srvconf.lib/include/stg/servconf_types.h b/stglibs/srvconf.lib/include/stg/servconf_types.h index d7fb8478..f323e99e 100644 --- a/stglibs/srvconf.lib/include/stg/servconf_types.h +++ b/stglibs/srvconf.lib/include/stg/servconf_types.h @@ -21,6 +21,13 @@ #ifndef __STG_STGLIBS_SRVCONF_TYPES_H__ #define __STG_STGLIBS_SRVCONF_TYPES_H__ +#include "stg/const.h" // DIR_NUM +#include "stg/os_int.h" // uint32_t, etc... + +#include +#include +#include + #define STG_HEADER "SG04" #define OK_HEADER "OKHD" #define ERR_HEADER "ERHD" @@ -31,6 +38,14 @@ #define ENC_MSG_LEN (8) +struct ADMIN_CONF; +struct TARIFF_DATA; +struct SERVICE_CONF; +struct CORP_CONF; + +namespace STG +{ + enum status { st_ok = 0, @@ -55,4 +70,131 @@ confLoginCipher, confData }; +namespace SIMPLE +{ + +typedef void (* CALLBACK)(bool result, const std::string & reason, void * data); + +} // namespace SIMPLE + +namespace GET_CONTAINER +{ + +template +struct CALLBACK +{ +typedef void (* TYPE)(bool result, const std::string & reason, const std::vector & info, void * data); +}; + +} + +namespace AUTH_BY +{ + +typedef std::vector INFO; +typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data); + +} // namespace AUTH_BY + +namespace SERVER_INFO +{ + +struct INFO +{ + std::string version; + int tariffNum; + int tariffType; + int usersNum; + std::string uname; + int dirNum; + std::string dirName[DIR_NUM]; +}; +typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data); + +} // namespace SERVER_INFO + +namespace RAW_XML +{ + +typedef void (* CALLBACK)(bool result, const std::string & reason, const std::string & response, void * data); + +} + +namespace GET_USER +{ + +struct STAT +{ + long long su[DIR_NUM]; + long long sd[DIR_NUM]; + long long mu[DIR_NUM]; + long long md[DIR_NUM]; + double freeMb; +}; + +struct INFO +{ + std::string login; + std::string password; + double cash; + double credit; + time_t creditExpire; + double lastCash; + double prepaidTraff; + int down; + int passive; + int disableDetailStat; + int connected; + int alwaysOnline; + uint32_t ip; + std::string ips; + std::string tariff; + std::string group; + std::string note; + std::string email; + std::string name; + std::string address; + std::string phone; + STAT stat; + std::string userData[USERDATA_NUM]; +}; + +typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data); + +} // namespace GET_USER + +namespace GET_ADMIN +{ + +typedef ADMIN_CONF INFO; +typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data); + +} + +namespace GET_TARIFF +{ + +typedef TARIFF_DATA INFO; +typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data); + +} + +namespace GET_SERVICE +{ + +typedef SERVICE_CONF INFO; +typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data); + +} + +namespace GET_CORP +{ + +typedef CORP_CONF INFO; +typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data); + +} + +} // namespace STG + #endif