X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/3dfd70b31d34532a4d2e92fb4d4ee611c1518f18..8f1d13e63e83c5f590d59f6d09f2d1dae69ba526:/stglibs/srvconf.lib/servconf.cpp diff --git a/stglibs/srvconf.lib/servconf.cpp b/stglibs/srvconf.lib/servconf.cpp index 8074801e..d7df4704 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), + RecvUserDataCb(NULL), + RecvGetUserDataCb(NULL), + authByCallback(NULL), + RecvServerInfoDataCb(NULL), + RecvChgUserCb(NULL), + RecvCheckUserCb(NULL), + RecvSendMessageCb(NULL), + getUserDataDataCb(NULL), + authByData(NULL), + getUsersDataDataCb(NULL), + getServerInfoDataCb(NULL), + chgUserDataCb(NULL), + checkUserDataCb(NULL), + sendMessageDataCb(NULL) { parser = XML_ParserCreate(NULL); -parseDepth = 0; } //----------------------------------------------------------------------------- void SERVCONF::SetServer(const char * server) @@ -127,6 +144,37 @@ currParser = &parserGetUser; 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(); @@ -353,6 +401,12 @@ RecvGetUserDataCb = f; //GET_USER getUserDataDataCb = data; } //----------------------------------------------------------------------------- +void SERVCONF::SetAuthByCallback(PARSER_AUTH_BY::CALLBACK f, void * data) +{ +authByCallback = f; +authByData = data; +} +//----------------------------------------------------------------------------- void SERVCONF::SetServerInfoRecvCb(RecvServerInfoDataCb_t f, void * data) { RecvServerInfoDataCb = f;