]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/include/stg/servconf_types.h
Implemented some user management functions.
[stg.git] / stglibs / srvconf.lib / include / stg / servconf_types.h
index 1743204481a054a4e6c4c6b4fe987078ebffcf77..3fd1c7c57a26d771ae8ab1c47560db83f16982a5 100644 (file)
 #ifndef __STG_STGLIBS_SRVCONF_TYPES_H__
 #define __STG_STGLIBS_SRVCONF_TYPES_H__
 
+#include "stg/array.h"
 #include "stg/const.h" // DIR_NUM
+#include "stg/os_int.h" // uint32_t, etc...
 
 #include <string>
 #include <vector>
+#include <ctime>
 
 #define  STG_HEADER     "SG04"
 #define  OK_HEADER      "OKHD"
 
 #define  ENC_MSG_LEN    (8)
 
+struct ADMIN_CONF;
+struct TARIFF_DATA;
+struct SERVICE_CONF;
+struct CORP_CONF;
+
 namespace STG
 {
 
@@ -63,6 +71,24 @@ confLoginCipher,
 confData
 };
 
+namespace SIMPLE
+{
+
+typedef void (* CALLBACK)(bool result, const std::string & reason, void * data);
+
+} // namespace SIMPLE
+
+namespace GET_CONTAINER
+{
+
+template <typename INFO>
+struct CALLBACK
+{
+typedef void (* TYPE)(bool result, const std::string & reason, const std::vector<INFO> & info, void * data);
+};
+
+}
+
 namespace AUTH_BY
 {
 
@@ -82,11 +108,94 @@ struct INFO
     int         usersNum;
     std::string uname;
     int         dirNum;
-    std::string dirName[DIR_NUM];
+    ARRAY<std::string, DIR_NUM> dirName;
 };
 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
+{
+    ARRAY<long long, DIR_NUM> su;
+    ARRAY<long long, DIR_NUM> sd;
+    ARRAY<long long, DIR_NUM> mu;
+    ARRAY<long long, DIR_NUM> md;
+    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;
+    ARRAY<std::string, USERDATA_NUM> userData;
+};
+
+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