X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/8bb00937bb7362edaec84d404ac4cb15f7704ddf..6811abd403c1726126361762feee7572069963e6:/stglibs/srvconf.lib/servconf.cpp diff --git a/stglibs/srvconf.lib/servconf.cpp b/stglibs/srvconf.lib/servconf.cpp index a7cac13c..2f4afaba 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; @@ -91,7 +92,6 @@ sc->End(el); //----------------------------------------------------------------------------- SERVCONF::SERVCONF() : currParser(NULL), - parseDepth(0), error(0), RecvUserDataCb(NULL), RecvGetUserDataCb(NULL), @@ -100,6 +100,7 @@ SERVCONF::SERVCONF() RecvCheckUserCb(NULL), RecvSendMessageCb(NULL), getUserDataDataCb(NULL), + getUserAuthByDataCb(NULL), getUsersDataDataCb(NULL), getServerInfoDataCb(NULL), chgUserDataCb(NULL), @@ -109,6 +110,11 @@ SERVCONF::SERVCONF() parser = XML_ParserCreate(NULL); } //----------------------------------------------------------------------------- +SERVCONF::~SERVCONF() +{ +XML_ParserFree(parser); +} +//----------------------------------------------------------------------------- void SERVCONF::SetServer(const char * server) { nt.SetServer(server); @@ -141,6 +147,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::GetUserAuthBy(const char * l) +{ +char request[255]; +snprintf(request, 255, "", l); +int ret; + +currParser = &parserAuthBy; +((PARSER_AUTH_BY*)currParser)->SetRecvCb(RecvAuthByCb, getUserAuthByDataCb); + +nt.Reset(); +nt.SetRxCallback(this, AnsRecv); + if ((ret = nt.Connect()) != st_ok) { errorMsg = nt.GetError(); @@ -367,6 +404,12 @@ RecvGetUserDataCb = f; //GET_USER getUserDataDataCb = data; } //----------------------------------------------------------------------------- +void SERVCONF::SetGetUserAuthByRecvCb(RecvAuthByDataCb_t f, void * data) +{ +RecvAuthByCb = f; +getUserAuthByDataCb = data; +} +//----------------------------------------------------------------------------- void SERVCONF::SetServerInfoRecvCb(RecvServerInfoDataCb_t f, void * data) { RecvServerInfoDataCb = f;