//-----------------------------------------------------------------------------
SERVCONF::SERVCONF()
: currParser(NULL),
- parseDepth(0),
error(0),
RecvUserDataCb(NULL),
RecvGetUserDataCb(NULL),
- authByCallback(NULL),
- serverInfoCallback(NULL),
+ RecvServerInfoDataCb(NULL),
RecvChgUserCb(NULL),
- checkUserCallback(NULL),
+ RecvCheckUserCb(NULL),
RecvSendMessageCb(NULL),
getUserDataDataCb(NULL),
- authByData(NULL),
+ getUserAuthByDataCb(NULL),
getUsersDataDataCb(NULL),
- serverInfoData(NULL),
+ getServerInfoDataCb(NULL),
chgUserDataCb(NULL),
- checkUserData(NULL),
+ checkUserDataCb(NULL),
sendMessageDataCb(NULL)
{
parser = XML_ParserCreate(NULL);
}
//-----------------------------------------------------------------------------
+SERVCONF::~SERVCONF()
+{
+XML_ParserFree(parser);
+}
+//-----------------------------------------------------------------------------
void SERVCONF::SetServer(const char * server)
{
nt.SetServer(server);
return st_ok;
}
//-----------------------------------------------------------------------------
-int SERVCONF::AuthBy(const char * l)
+int SERVCONF::GetUserAuthBy(const char * l)
{
char request[255];
snprintf(request, 255, "<GetUserAuthBy login=\"%s\"/>", l);
+int ret;
currParser = &parserAuthBy;
-((PARSER_AUTH_BY*)currParser)->SetCallback(authByCallback, authByData);
+((PARSER_AUTH_BY*)currParser)->SetRecvCb(RecvAuthByCb, getUserAuthByDataCb);
nt.Reset();
nt.SetRxCallback(this, AnsRecv);
-int ret;
if ((ret = nt.Connect()) != st_ok)
{
errorMsg = nt.GetError();
return st_ok;
}
//-----------------------------------------------------------------------------
-int SERVCONF::ServerInfo()
+int SERVCONF::GetServerInfo()
{
char request[] = "<GetServerInfo/>";
int ret;
currParser = &parserServerInfo;
-((PARSER_SERVER_INFO*)currParser)->SetCallback(serverInfoCallback, serverInfoData);
+((PARSER_GET_SERVER_INFO*)currParser)->SetServerInfoRecvCb(RecvServerInfoDataCb, getServerInfoDataCb);
nt.Reset();
nt.SetRxCallback(this, AnsRecv);
int ret;
currParser = &parserCheckUser;
-((PARSER_CHECK_USER*)currParser)->SetCallback(checkUserCallback, checkUserData);
+((PARSER_CHECK_USER*)currParser)->SetCheckUserRecvCb(RecvCheckUserCb, checkUserDataCb);
nt.Reset();
nt.SetRxCallback(this, AnsRecv);
getUsersDataDataCb = data;
}
//-----------------------------------------------------------------------------
-void SERVCONF::SetGetUserCallback(PARSER_GET_USER::CALLBACK f, void * data)
+void SERVCONF::SetGetUserDataRecvCb(RecvUserDataCb_t f, void * data)
{
-getUserCallback = f;
-getUserData = data;
+RecvGetUserDataCb = f; //GET_USER
+getUserDataDataCb = data;
}
//-----------------------------------------------------------------------------
-void SERVCONF::SetAuthByCallback(PARSER_AUTH_BY::CALLBACK f, void * data)
+void SERVCONF::SetGetUserAuthByRecvCb(RecvAuthByDataCb_t f, void * data)
{
-authByCallback = f;
-authByData = data;
+RecvAuthByCb = f;
+getUserAuthByDataCb = data;
}
//-----------------------------------------------------------------------------
-void SERVCONF::SetServerInfoCallback(PARSER_SERVER_INFO::CALLBACK f, void * data)
+void SERVCONF::SetServerInfoRecvCb(RecvServerInfoDataCb_t f, void * data)
{
-serverInfoCallback = f;
-serverInfoData = data;
+RecvServerInfoDataCb = f;
+getServerInfoDataCb = data;
}
//-----------------------------------------------------------------------------
void SERVCONF::SetChgUserCb(RecvChgUserCb_t f, void * data)
chgUserDataCb = data;
}
//-----------------------------------------------------------------------------
-void SERVCONF::SetCheckUserCallback(PARSER_CHECK_USER::CALLBACK f, void * data)
+void SERVCONF::SetCheckUserCb(RecvCheckUserCb_t f, void * data)
{
-checkUserCallback = f;
-checkUserData = data;
+RecvCheckUserCb = f;
+checkUserDataCb = data;
}
//-----------------------------------------------------------------------------
void SERVCONF::SetSendMessageCb(RecvSendMessageCb_t f, void * data)