#include <cstdio>
#include <cstring>
-#include "servconf.h"
+#include "stg/common.h"
+#include "stg/servconf.h"
using namespace std;
}
//-----------------------------------------------------------------------------
SERVCONF::SERVCONF()
+ : currParser(NULL),
+ error(0),
+ RecvUserDataCb(NULL),
+ RecvGetUserDataCb(NULL),
+ RecvServerInfoDataCb(NULL),
+ RecvChgUserCb(NULL),
+ RecvCheckUserCb(NULL),
+ RecvSendMessageCb(NULL),
+ getUserDataDataCb(NULL),
+ getUserAuthByDataCb(NULL),
+ getUsersDataDataCb(NULL),
+ getServerInfoDataCb(NULL),
+ chgUserDataCb(NULL),
+ checkUserDataCb(NULL),
+ sendMessageDataCb(NULL)
{
parser = XML_ParserCreate(NULL);
-parseDepth = 0;
+}
+//-----------------------------------------------------------------------------
+SERVCONF::~SERVCONF()
+{
+XML_ParserFree(parser);
}
//-----------------------------------------------------------------------------
void SERVCONF::SetServer(const char * server)
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, "<GetUserAuthBy login=\"%s\"/>", 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();
getUserDataDataCb = data;
}
//-----------------------------------------------------------------------------
+void SERVCONF::SetGetUserAuthByRecvCb(RecvAuthByDataCb_t f, void * data)
+{
+RecvAuthByCb = f;
+getUserAuthByDataCb = data;
+}
+//-----------------------------------------------------------------------------
void SERVCONF::SetServerInfoRecvCb(RecvServerInfoDataCb_t f, void * data)
{
RecvServerInfoDataCb = f;