Files
wnmj-normal/Classes/Mission/InsureMission.cpp

115 lines
3.0 KiB
C++
Raw Normal View History

2026-03-03 13:56:44 +08:00
#include "InsureMission.h"
InsureMission::InsureMission()
{
mMissionType = 0;
mIInsureMissionSink = 0;
zeromemory(&m_UserTrans, sizeof(m_UserTrans));
}
//InsureMission::InsureMission(const char* url, int port)
//: CSocketMission(url, port)
//{
// mMissionType = 0;
// mIInsureMissionSink = 0;
//}
void InsureMission::setMissionSink(IInsureMissionSink* pIInsureMissionSink)
{
mIInsureMissionSink = pIInsureMissionSink;
}
void InsureMission::transfer(const CMD_GP_UserTransferScore &UserTrans)
{
memcpy(&m_UserTrans, &UserTrans, sizeof(CMD_GP_UserTransferScore));
mMissionType = INSURE_USER_TRANSFER_SCORE;
start();
}
void InsureMission::onEventTCPSocketLink()
{
cocos2d::log("InsureMission::onEventTCPSocketLink\n");
switch (mMissionType)
{
case INSURE_USER_TRANSFER_SCORE:
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
send(MDM_GP_USER_SERVICE, SUB_GP_USER_TRANSFER_SCORE, (void*)&m_UserTrans, sizeof(m_UserTrans));
break;
}
default:
break;
}
}
void InsureMission::onEventTCPSocketShut()
{
cocos2d::log("InsureMission::onEventTCPSocketShut\n");
}
void InsureMission::onEventTCPSocketError(int errorCode)
{
cocos2d::log("InsureMission::onEventTCPSocketError code[%d]\n", errorCode);
if (mIInsureMissionSink)
mIInsureMissionSink->onInsureError(errorCode);
}
bool InsureMission::onEventTCPSocketRead(int main, int sub, void* data, int size)
{
cocos2d::log("InsureMission::onEventTCPSocketRead main:%d sub:%d size:%d\n", main, sub, size);
if (main != MDM_GP_USER_SERVICE)
{
return false;
}
switch (sub)
{
case SUB_GP_USER_INSURE_SUCCESS:
return onInsureSuccess(data, size);
case SUB_GP_USER_INSURE_FAILURE:
return onInsureFailure(data, size);
}
return false;
}
bool InsureMission::onInsureSuccess(void* data, int size)
{
//Ч<><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CMD_GP_UserInsureSuccess * pUserInsureInfo = (CMD_GP_UserInsureSuccess *)data;
ASSERT(size >= (sizeof(CMD_GP_UserInsureSuccess) - sizeof(pUserInsureInfo->szDescribeString)));
if (size < (sizeof(CMD_GP_UserInsureSuccess) - sizeof(pUserInsureInfo->szDescribeString))) return false;
CGlobalUserInfo * pGlobalUserInfo=CGlobalUserInfo::GetInstance();
//tagUserInsureInfo * pInsureInfo=pGlobalUserInfo->GetUserInsureInfo();
tagGlobalUserData * pGlobalUserData = pGlobalUserInfo->GetGlobalUserData();
//pInsureInfo->lUserInsure = pUserInsureInfo->lUserInsure; // ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pGlobalUserData->lUserInsure = pUserInsureInfo->lUserInsure;
//<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD>
stop();
if (mIInsureMissionSink)
mIInsureMissionSink->onInsureSuccess(utility::a_u8(pUserInsureInfo->szDescribeString).c_str());
return true;
}
bool InsureMission::onInsureFailure(void* data, int size)
{
//Ч<><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CMD_GP_UserInsureFailure * pOperateFailure = (CMD_GP_UserInsureFailure *)data;
ASSERT(size >= (sizeof(CMD_GP_UserInsureFailure) - sizeof(pOperateFailure->szDescribeString)));
if (size < (sizeof(CMD_GP_UserInsureFailure) - sizeof(pOperateFailure->szDescribeString))) return false;
//<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD>
stop();
if (mIInsureMissionSink)
mIInsureMissionSink->onInsureFailure(utility::a_u8(pOperateFailure->szDescribeString).c_str());
return true;
}