X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/3dfd70b31d34532a4d2e92fb4d4ee611c1518f18..d3819ef7b806ccd92a767ec4bb43e0388f879216:/stglibs/srvconf.lib/servconf.cpp diff --git a/stglibs/srvconf.lib/servconf.cpp b/stglibs/srvconf.lib/servconf.cpp index 8074801e..3d82860b 100644 --- a/stglibs/srvconf.lib/servconf.cpp +++ b/stglibs/srvconf.lib/servconf.cpp @@ -27,7 +27,8 @@ #include #include -#include "servconf.h" +#include "stg/common.h" +#include "stg/servconf.h" using namespace std; @@ -90,9 +91,25 @@ sc->End(el); } //----------------------------------------------------------------------------- SERVCONF::SERVCONF() + : currParser(NULL), + parseDepth(0), + error(0), + getUsersCallback(NULL), + getUserCallback(NULL), + authByCallback(NULL), + serverInfoCallback(NULL), + RecvChgUserCb(NULL), + checkUserCallback(NULL), + RecvSendMessageCb(NULL), + getUsersData(NULL), + getUserData(NULL), + authByData(NULL), + serverInfoData(NULL), + chgUserDataCb(NULL), + checkUserData(NULL), + sendMessageDataCb(NULL) { parser = XML_ParserCreate(NULL); -parseDepth = 0; } //----------------------------------------------------------------------------- void SERVCONF::SetServer(const char * server) @@ -122,11 +139,42 @@ snprintf(request, 255, "", l); int ret; currParser = &parserGetUser; -((PARSER_GET_USER*)currParser)->SetUserDataRecvCb(RecvGetUserDataCb, getUserDataDataCb); +((PARSER_GET_USER*)currParser)->SetCallback(getUserCallback, getUserData); nt.Reset(); nt.SetRxCallback(this, AnsRecv); +if ((ret = nt.Connect()) != st_ok) + { + errorMsg = nt.GetError(); + return ret; + } +if ((ret = nt.Transact(request)) != st_ok) + { + errorMsg = nt.GetError(); + return ret; + } +if ((ret = nt.Disconnect()) != st_ok) + { + errorMsg = nt.GetError(); + return ret; + } + +return st_ok; +} +//----------------------------------------------------------------------------- +int SERVCONF::AuthBy(const char * l) +{ +char request[255]; +snprintf(request, 255, "", l); + +currParser = &parserAuthBy; +((PARSER_AUTH_BY*)currParser)->SetCallback(authByCallback, authByData); + +nt.Reset(); +nt.SetRxCallback(this, AnsRecv); + +int ret; if ((ret = nt.Connect()) != st_ok) { errorMsg = nt.GetError(); @@ -152,7 +200,7 @@ char request[] = ""; int ret; currParser = &parserGetUsers; -((PARSER_GET_USERS*)currParser)->SetUserDataRecvCb(RecvUserDataCb, getUsersDataDataCb); +((PARSER_GET_USERS*)currParser)->SetCallback(getUsersCallback, getUsersData); nt.Reset(); nt.SetRxCallback(this, AnsRecv); @@ -209,13 +257,13 @@ if ((ret = nt.Disconnect()) != st_ok) return st_ok; } //----------------------------------------------------------------------------- -int SERVCONF::GetServerInfo() +int SERVCONF::ServerInfo() { char request[] = ""; int ret; currParser = &parserServerInfo; -((PARSER_GET_SERVER_INFO*)currParser)->SetServerInfoRecvCb(RecvServerInfoDataCb, getServerInfoDataCb); +((PARSER_SERVER_INFO*)currParser)->SetCallback(serverInfoCallback, serverInfoData); nt.Reset(); nt.SetRxCallback(this, AnsRecv); @@ -306,7 +354,7 @@ snprintf(request, 255, "", login, passw int ret; currParser = &parserCheckUser; -((PARSER_CHECK_USER*)currParser)->SetCheckUserRecvCb(RecvCheckUserCb, checkUserDataCb); +((PARSER_CHECK_USER*)currParser)->SetCallback(checkUserCallback, checkUserData); nt.Reset(); nt.SetRxCallback(this, AnsRecv); @@ -341,22 +389,28 @@ void SERVCONF::End(const char *el) currParser->ParseEnd(el); } //----------------------------------------------------------------------------- -void SERVCONF::SetUserDataRecvCb(RecvUserDataCb_t f, void * data) +void SERVCONF::SetGetUsersCallback(PARSER_GET_USERS::CALLBACK f, void * data) +{ +getUsersCallback = f; +getUsersData = data; +} +//----------------------------------------------------------------------------- +void SERVCONF::SetGetUserCallback(PARSER_GET_USER::CALLBACK f, void * data) { -RecvUserDataCb = f; -getUsersDataDataCb = data; +getUserCallback = f; +getUserData = data; } //----------------------------------------------------------------------------- -void SERVCONF::SetGetUserDataRecvCb(RecvUserDataCb_t f, void * data) +void SERVCONF::SetAuthByCallback(PARSER_AUTH_BY::CALLBACK f, void * data) { -RecvGetUserDataCb = f; //GET_USER -getUserDataDataCb = data; +authByCallback = f; +authByData = data; } //----------------------------------------------------------------------------- -void SERVCONF::SetServerInfoRecvCb(RecvServerInfoDataCb_t f, void * data) +void SERVCONF::SetServerInfoCallback(PARSER_SERVER_INFO::CALLBACK f, void * data) { -RecvServerInfoDataCb = f; -getServerInfoDataCb = data; +serverInfoCallback = f; +serverInfoData = data; } //----------------------------------------------------------------------------- void SERVCONF::SetChgUserCb(RecvChgUserCb_t f, void * data) @@ -365,10 +419,10 @@ RecvChgUserCb = f; chgUserDataCb = data; } //----------------------------------------------------------------------------- -void SERVCONF::SetCheckUserCb(RecvCheckUserCb_t f, void * data) +void SERVCONF::SetCheckUserCallback(PARSER_CHECK_USER::CALLBACK f, void * data) { -RecvCheckUserCb = f; -checkUserDataCb = data; +checkUserCallback = f; +checkUserData = data; } //----------------------------------------------------------------------------- void SERVCONF::SetSendMessageCb(RecvSendMessageCb_t f, void * data)