#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
{
st_data_error
};
-enum CONF_STATE
-{
-confHdr = 0,
-confLogin,
-confLoginCipher,
-confData
-};
-
namespace SIMPLE
{
} // 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 GET_CONTAINER
+
namespace AUTH_BY
{
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 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
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;
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
+namespace GET_ADMIN
{
-typedef std::vector<GET_USER::INFO> INFO;
+typedef ADMIN_CONF INFO;
typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
-} // namespace GET_USERS
+} // namespace GET_ADMIN
-namespace GET_ADMIN
+namespace GET_TARIFF
{
-typedef ADMIN_CONF INFO;
+typedef TARIFF_DATA INFO;
+typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
+
+} // namespace GET_TARIFF
+
+namespace GET_SERVICE
+{
+
+typedef SERVICE_CONF INFO;
typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
-}
+} // namespace GET_SERVICE
-namespace GET_ADMINS
+namespace GET_CORP
{
-typedef std::vector<GET_ADMIN::INFO> INFO;
+typedef CORP_CONF INFO;
typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
-}
+} // namespace GET_CORP
} // namespace STG