X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/23d052c42f43430e4ff776a80b9643dbc7d1289d..cd64751cac4c56591bee9b0a9c2a626ce40e67db:/projects/sgconf/common_sg.cpp?ds=sidebyside diff --git a/projects/sgconf/common_sg.cpp b/projects/sgconf/common_sg.cpp index c0a4fd25..898c334f 100644 --- a/projects/sgconf/common_sg.cpp +++ b/projects/sgconf/common_sg.cpp @@ -25,21 +25,23 @@ */ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "stg/common.h" #include "sg_error_codes.h" #include "common_sg.h" #include "version_sg.h" -using namespace std; +#include "stg/common.h" + +#include +#include + +#include +#include +#include +#include +#include + +#include +#include const int usageConf = 0; const int usageInfo = 1; @@ -56,10 +58,10 @@ struct GetUserData //--------------------------------------------------------------------------- struct HelpParams { - string setActionName; - string getActionName; - string valueName; - string valueParam; + std::string setActionName; + std::string getActionName; + std::string valueName; + std::string valueParam; }; //--------------------------------------------------------------------------- void Usage(int usageType) @@ -168,7 +170,7 @@ short int ParseServerPort(const char * p) int port; if (str2x(p, port) != 0) { - printf("Incorresct server port %s\n", p); + printf("Incorrect server port %s\n", p); exit(NETWORK_ERR_CODE); } return (short)port; @@ -178,7 +180,7 @@ char * ParseAdminLogin(char * adm) { if (CheckLogin(adm)) { - printf("Incorresct admin login %s\n", adm); + printf("Incorrect admin login %s\n", adm); exit(PARAMETER_PARSING_ERR_CODE); } return adm; @@ -199,13 +201,13 @@ char * ParseUser(char * usr) { if (CheckLogin(usr)) { - printf("Incorresct user login %s\n", usr); + printf("Incorrect user login %s\n", usr); exit(PARAMETER_PARSING_ERR_CODE); } return usr; } //----------------------------------------------------------------------------- -void ConvertKOI8(const string & src, string * dst, int encType) +void ConvertKOI8(const std::string & src, std::string * dst, int encType) { iconv_t cd; char * ob = new char[src.size() * 2 + 1]; @@ -280,20 +282,17 @@ delete[] ob; delete[] ib; } //----------------------------------------------------------------------------- -void ConvertFromKOI8(const string & src, string * dst) +void ConvertFromKOI8(const std::string & src, std::string * dst) { ConvertKOI8(src, dst, FROM_KOI8); } //----------------------------------------------------------------------------- -void ConvertToKOI8(const string & src, string * dst) -{ -ConvertKOI8(src, dst, TO_KOI8); -} -//----------------------------------------------------------------------------- int RecvSetUserAnswer(const char * ans, void * d) { GetUserData * data = static_cast(d); +std::cout << ans << std::endl; + data->result = (strcasecmp("Ok", ans) == 0); return 0; @@ -301,9 +300,9 @@ return 0; //----------------------------------------------------------------------------- struct StringReqParams { - string name; - RESETABLE reqParam; - const string * value; + std::string name; + RESETABLE reqParam; + const std::string * value; }; //----------------------------------------------------------------------------- void GetUserCallback(const PARSER_GET_USER::INFO & info, void * d) @@ -317,10 +316,10 @@ if (info.login == "") } if (!data->request.cash.res_empty()) - cout << "cash=" << info.cash << endl; + cout << "cash = " << info.cash << endl; if (!data->request.credit.res_empty()) - cout << "credit=" << info.credit << endl; + cout << "credit = " << info.credit << endl; if (!data->request.creditExpire.res_empty()) { @@ -339,47 +338,47 @@ if (!data->request.creditExpire.res_empty()) strftime(buf, 32, "%Y-%m-%d", &brokenTime); - cout << "creditExpire=" << buf << endl; + cout << "creditExpire = " << buf << endl; } if (!data->request.down.res_empty()) - cout << "down=" << info.down << endl; + cout << "down = " << info.down << endl; if (!data->request.passive.res_empty()) - cout << "passive=" << info.passive << endl; + cout << "passive = " << info.passive << endl; if (!data->request.disableDetailStat.res_empty()) - cout << "disableDetailStat=" << info.disableDetailStat << endl; + cout << "disableDetailStat = " << info.disableDetailStat << endl; if (!data->request.alwaysOnline.res_empty()) - cout << "alwaysOnline=" << info.alwaysOnline << endl; + cout << "alwaysOnline = " << info.alwaysOnline << endl; if (!data->request.prepaidTraff.res_empty()) - cout << "prepaidTraff=" << info.prepaidTraff << endl; + cout << "prepaidTraff = " << info.prepaidTraff << endl; for (int i = 0; i < DIR_NUM; i++) { if (!data->request.sessionUpload[i].res_empty()) - cout << "session upload for dir" << i << "=" << info.stat.su[i] << endl; + cout << "session upload for dir " << i << " = " << info.stat.su[i] << endl; if (!data->request.sessionDownload[i].res_empty()) - cout << "session download for dir" << i << "=" << info.stat.sd[i] << endl; + cout << "session download for dir " << i << "=" << info.stat.sd[i] << endl; } for (int i = 0; i < DIR_NUM; i++) { if (!data->request.monthUpload[i].res_empty()) - cout << "month upload for dir" << i << "=" << info.stat.mu[i] << endl; + cout << "month upload for dir " << i << " = " << info.stat.mu[i] << endl; if (!data->request.monthDownload[i].res_empty()) - cout << "month download for dir" << i << "=" << info.stat.md[i] << endl; + cout << "month download for dir " << i << " = " << info.stat.md[i] << endl; } for (int i = 0; i < USERDATA_NUM; i++) { if (!data->request.userData[i].res_empty()) { - string str; + std::string str; ConvertFromKOI8(info.userData[i], &str); - cout << "userdata" << i << "=" << str << endl; + cout << "user data " << i << " = " << str << endl; } } @@ -401,7 +400,7 @@ for (unsigned i = 0; i < sizeof(strReqParams) / sizeof(StringReqParams); i++) { string str; ConvertFromKOI8(*strReqParams[i].value, &str); - cout << strReqParams[i].name << "=" << str << endl; + cout << strReqParams[i].name << " = " << str << endl; } } data->result = true; @@ -419,13 +418,10 @@ int ProcessSetUser(const std::string &server, const std::string &admLogin, const std::string &admPasswd, const std::string &str, - void * data, bool isMessage) { SERVCONF sc; -bool result = false; - sc.SetServer(server.c_str()); sc.SetPort(port); sc.SetAdmLogin(admLogin.c_str()); @@ -434,18 +430,19 @@ sc.SetAdmPassword(admPasswd.c_str()); REQUEST request; GetUserData cbdata(request, false); +int res = 0; if (isMessage) { - sc.SetSendMessageCb(RecvSetUserAnswer, &cbdata); - sc.MsgUser(str.c_str()); + sc.SetSendMessageCallback(RecvSetUserAnswer, &cbdata); + res = sc.SendMessage(str.c_str()); } else { - sc.SetChgUserCb(RecvSetUserAnswer, &cbdata); - sc.ChgUser(str.c_str()); + sc.SetChgUserCallback(RecvSetUserAnswer, &cbdata); + res = sc.ChgUser(str.c_str()); } -if (result) +if (res == st_ok && cbdata.result) { printf("Ok\n"); return 0; @@ -453,6 +450,8 @@ if (result) else { printf("Error\n"); + if (res != st_ok) + printf("%s\n", sc.GetStrError().c_str()); return -1; } @@ -473,13 +472,12 @@ sc.SetPort(port); sc.SetAdmLogin(admLogin.c_str()); sc.SetAdmPassword(admPasswd.c_str()); -// TODO Good variable name :) GetUserData data(request, false); sc.SetGetUserCallback(GetUserCallback, &data); -sc.GetUser(login.c_str()); +bool res = (sc.GetUser(login.c_str()) == st_ok); -if (data.result) +if (res && data.result) { printf("Ok\n"); return 0; @@ -497,8 +495,7 @@ int ProcessAuthBy(const std::string &server, int port, const std::string &admLogin, const std::string &admPasswd, - const std::string &login, - REQUEST & request) + const std::string &login) { SERVCONF sc; @@ -508,9 +505,9 @@ sc.SetAdmLogin(admLogin.c_str()); sc.SetAdmPassword(admPasswd.c_str()); sc.SetAuthByCallback(RecvAuthByData, NULL); -sc.AuthBy(login.c_str()); +bool res = (sc.AuthBy(login.c_str()) == st_ok); -if (sc.GetError()) +if (!res) { printf("Error\n"); return -1;