]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/include/stg/servconf_types.h
Merge branch 'stg-2.409-radius'
[stg.git] / stglibs / srvconf.lib / include / stg / servconf_types.h
index 09f9b9702eb6419441114e49deb411ab0fcef8c8..167b8091be69eb0c7977ec8c15212081fd18fa16 100644 (file)
@@ -21,6 +21,7 @@
 #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 <vector>
 #include <ctime>
 
-#define  STG_HEADER     "SG04"
-#define  OK_HEADER      "OKHD"
-#define  ERR_HEADER     "ERHD"
-#define  OK_LOGIN       "OKLG"
-#define  ERR_LOGIN      "ERLG"
-#define  OK_LOGINS      "OKLS"
-#define  ERR_LOGINS     "ERLS"
-
-#define  ENC_MSG_LEN    (8)
-
 struct ADMIN_CONF;
+struct TARIFF_DATA;
+struct SERVICE_CONF;
+struct CORP_CONF;
 
 namespace STG
 {
@@ -59,15 +53,23 @@ st_xml_parse_error,
 st_data_error
 };
 
-enum CONF_STATE
+namespace SIMPLE
+{
+
+typedef void (* CALLBACK)(bool result, const std::string & reason, void * data);
+
+} // namespace SIMPLE
+
+namespace GET_CONTAINER
+{
+
+template <typename INFO>
+struct CALLBACK
 {
-confHdr = 0,
-confLogin,
-confLoginCipher,
-confData
+typedef void (* TYPE)(bool result, const std::string & reason, const std::vector<INFO> & info, void * data);
 };
 
-typedef void (* SIMPLE_CALLBACK)(bool result, const std::string & reason, void * data);
+} // namespace GET_CONTAINER
 
 namespace AUTH_BY
 {
@@ -88,29 +90,28 @@ 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 CHECK_USER
+namespace RAW_XML
 {
 
-typedef SIMPLE_CALLBACK CALLBACK;
+typedef void (* CALLBACK)(bool result, const std::string & reason, const std::string & response, void * data);
 
-} // namespace CHECK_USER
+} // namespace RAW_XML
 
 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;
+    ARRAY<long long, DIR_NUM> su;
+    ARRAY<long long, DIR_NUM> sd;
+    ARRAY<long long, DIR_NUM> mu;
+    ARRAY<long long, DIR_NUM> md;
 };
 
 struct INFO
@@ -120,9 +121,11 @@ struct INFO
     double      cash;
     double      credit;
     time_t      creditExpire;
-    double      lastCash;
+    double      lastCashAdd;
+    double      lastCashAddTime;
+    time_t      lastTimeCash;
     double      prepaidTraff;
-    int         down;
+    int         disabled;
     int         passive;
     int         disableDetailStat;
     int         connected;
@@ -136,72 +139,50 @@ struct INFO
     std::string name;
     std::string address;
     std::string phone;
+    std::string corp;
     STAT        stat;
-    std::string userData[USERDATA_NUM];
+    time_t      pingTime;
+    time_t      lastActivityTime;
+    ARRAY<std::string, USERDATA_NUM> userData;
+    std::vector<std::string> services;
+    std::vector<std::string> authBy;
 };
 
 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 SIMPLE_CALLBACK CALLBACK;
-
-}
-
-namespace SEND_MESSAGE
-{
-
-typedef SIMPLE_CALLBACK CALLBACK;
-
-}
-
 namespace GET_ADMIN
 {
 
 typedef ADMIN_CONF INFO;
 typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
 
-}
+} // namespace GET_ADMIN
 
-namespace GET_ADMINS
+namespace GET_TARIFF
 {
 
-typedef std::vector<GET_ADMIN::INFO> INFO;
+typedef TARIFF_DATA INFO;
 typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
 
-}
+} // namespace GET_TARIFF
 
-namespace ADD_ADMIN
+namespace GET_SERVICE
 {
 
-typedef SIMPLE_CALLBACK CALLBACK;
-
-}
-
-namespace DEL_ADMIN
-{
-
-typedef SIMPLE_CALLBACK CALLBACK;
+typedef SERVICE_CONF INFO;
+typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
 
-}
+} // namespace GET_SERVICE
 
-namespace CHG_ADMIN
+namespace GET_CORP
 {
 
-typedef SIMPLE_CALLBACK CALLBACK;
+typedef CORP_CONF INFO;
+typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
 
-}
+} // namespace GET_CORP
 
 } // namespace STG