]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/include/stg/servconf_types.h
Moved CHG_USER and SEND_MESSAGE parsers from global scope.
[stg.git] / stglibs / srvconf.lib / include / stg / servconf_types.h
index d7fb847848ae0d1d44389430783006f630cd06d1..6aef40cf117e8a845c2f791faf96b793e26ed8d1 100644 (file)
 #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 <string>
+#include <vector>
+
 #define  STG_HEADER     "SG04"
 #define  OK_HEADER      "OKHD"
 #define  ERR_HEADER     "ERHD"
@@ -31,6 +37,9 @@
 
 #define  ENC_MSG_LEN    (8)
 
+namespace STG
+{
+
 enum status
 {
 st_ok = 0,
@@ -55,4 +64,103 @@ confLoginCipher,
 confData
 };
 
+namespace AUTH_BY
+{
+
+typedef std::vector<std::string> 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 CHECK_USER
+{
+
+typedef int (* CALLBACK)(bool result, const std::string & reason, void * data);
+
+} // namespace CHECK_USER
+
+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_USERS
+{
+
+typedef std::vector<GET_USER::INFO> INFO;
+typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
+
+} // namespace GET_USERS
+
+namespace CHG_USER
+{
+
+typedef void (* CALLBACK)(bool result, const std::string & reason, void * data);
+
+}
+
+namespace SEND_MESSAGE
+{
+
+typedef void (* CALLBACK)(bool result, const std::string & reason, void * data);
+
+}
+
+} // namespace STG
+
 #endif