60 lines
1.3 KiB
C++
60 lines
1.3 KiB
C++
|
|
#include "CallMission.h"
|
||
|
|
#include "Utility.h"
|
||
|
|
|
||
|
|
CCallMission::CCallMission(std::string kName,const char* url, int port)
|
||
|
|
:CSocketMission(url,port)
|
||
|
|
,m_kClassName(kName)
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
CCallMission::~CCallMission()
|
||
|
|
{
|
||
|
|
clearCall();
|
||
|
|
}
|
||
|
|
|
||
|
|
void CCallMission::clearCall()
|
||
|
|
{
|
||
|
|
for (int i = 0;i<(int)m_kLinkCallFun.size();i++)
|
||
|
|
{
|
||
|
|
delete m_kLinkCallFun[i];
|
||
|
|
}
|
||
|
|
m_kLinkCallFun.clear();
|
||
|
|
}
|
||
|
|
void CCallMission::onEventTCPSocketLink()
|
||
|
|
{
|
||
|
|
utility::mlog(utility::toString(m_kClassName,":onEventTCPSocketLink").c_str());
|
||
|
|
|
||
|
|
for (int i = 0;i<(int)m_kLinkCallFun.size();i++)
|
||
|
|
{
|
||
|
|
m_kLinkCallFun[i]->CallFun();
|
||
|
|
}
|
||
|
|
clearCall();
|
||
|
|
}
|
||
|
|
void CCallMission::onEventTCPSocketShut()
|
||
|
|
{
|
||
|
|
utility::mlog(utility::toString(m_kClassName,":onEventTCPSocketShut").c_str());
|
||
|
|
|
||
|
|
clearCall();
|
||
|
|
}
|
||
|
|
void CCallMission::onEventTCPSocketError(int errorCode)
|
||
|
|
{
|
||
|
|
utility::mlog(utility::toString(m_kClassName,":onEventTCPSocketShut").c_str());
|
||
|
|
|
||
|
|
clearCall();
|
||
|
|
}
|
||
|
|
bool CCallMission::onEventTCPSocketRead(int main, int sub, void* data, int dataSize)
|
||
|
|
{
|
||
|
|
utility::mlog(utility::toString(m_kClassName,":onEventTCPSocketRead").c_str());
|
||
|
|
|
||
|
|
for (int i = 0;i<(int)m_kNetCallFun.size();i++)
|
||
|
|
{
|
||
|
|
NetCall& kNetInfo = m_kNetCallFun[i];
|
||
|
|
if (kNetInfo.iSub == sub)
|
||
|
|
{
|
||
|
|
kNetInfo.pFun(data,dataSize);
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
CCASSERT(false,"");
|
||
|
|
return false;
|
||
|
|
}
|