115 lines
3.0 KiB
C++
115 lines
3.0 KiB
C++
|
|
#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;
|
|||
|
|
}
|