#include <cstring>
#include "stg/common.h"
-#include "servconf.h"
+#include "stg/servconf.h"
using namespace std;
//-----------------------------------------------------------------------------
SERVCONF::SERVCONF()
: currParser(NULL),
- parseDepth(0),
error(0),
RecvUserDataCb(NULL),
RecvGetUserDataCb(NULL),
RecvCheckUserCb(NULL),
RecvSendMessageCb(NULL),
getUserDataDataCb(NULL),
+ getUserAuthByDataCb(NULL),
getUsersDataDataCb(NULL),
getServerInfoDataCb(NULL),
chgUserDataCb(NULL),
parser = XML_ParserCreate(NULL);
}
//-----------------------------------------------------------------------------
+SERVCONF::~SERVCONF()
+{
+XML_ParserFree(parser);
+}
+//-----------------------------------------------------------------------------
void SERVCONF::SetServer(const char * server)
{
nt.SetServer(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;