#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 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
+namespace SIMPLE
+{
+
+typedef void (* CALLBACK)(bool result, const std::string & reason, void * data);
+
+} // namespace SIMPLE
+
+namespace GET_CONTAINER
{
-confHdr = 0,
-confLogin,
-confLoginCipher,
-confData
+
+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 CHECK_USER
+namespace RAW_XML
{
-typedef int (* CALLBACK)(bool result, const std::string & reason, void * data);
+typedef void (* CALLBACK)(bool result, const std::string & reason, const std::string & response, void * data);
+
+} // namespace RAW_XML
+
+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;
+};
+
+struct INFO
+{
+ std::string login;
+ std::string password;
+ double cash;
+ double credit;
+ time_t creditExpire;
+ double lastCashAdd;
+ double lastCashAddTime;
+ time_t lastTimeCash;
+ double prepaidTraff;
+ int disabled;
+ 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;
+ std::string corp;
+ STAT stat;
+ 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_ADMIN
+{
+
+typedef ADMIN_CONF INFO;
+typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
+
+} // namespace GET_ADMIN
+
+namespace GET_TARIFF
+{
+
+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_CORP
+{
+
+typedef CORP_CONF INFO;
+typedef void (* CALLBACK)(bool result, const std::string & reason, const INFO & info, void * data);
+
+} // namespace GET_CORP
-}
} // namespace STG
#endif