Files
2022-10-26 12:25:11 +08:00

250 lines
11 KiB
C++

#include "stdafx.h"
#include "Handler_CG.h"
#include <Object/WiseUser.h>
#include <Object/WiseCharacter.h>
#include <Object/ObjectManager.h>
#include "SolarDateTime.h"
#define HANDLER_CG_RECV_IMPL(fnName) \
void Handler_CG::On##fnName(ServerSession* pSession, WiseUser* pUser, sSIG_NETMSG* pSIG_NETMSG)
sPACKET_HANDLER_INFO* Handler_CG::GetHandlerInfo_SECURE()
{
static sPACKET_HANDLER_INFO s_pHandlerInfo[] =
{
#undef ADD_HANDLER_RECV_INFO_EOR
#undef ADD_HANDLER_RECV_INFO
#define ADD_HANDLER_RECV_INFO_EOR() { MAKEWORD(0, 0), PHASE_NOACTION, (PH_fnHandler)NULL }
#define ADD_HANDLER_RECV_INFO(c, p, accptablePHASE) \
{ MAKEWORD(c, p), (ePHASE_SHIFT)(accptablePHASE), (PH_fnHandler)&Handler_CG::On##p },
#ifdef __NA000630_070817_MOLA_5th_UPDATE
////¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦´
//ADD_HANDLER_RECV_INFO(CG_SYNC, CG_SECURE_POLICY_PATTERN01_SIMPLEX_SNK_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_SYNC, CG_SECURE_POLICY_PATTERN01_SIMPLEX_SNK_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_SKILL, CG_SECURE_POLICY_PATTERN02_SIMPLEX_SNK_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_SKILL, CG_SECURE_POLICY_PATTERN02_SIMPLEX_SNK_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_ITEM, CG_SECURE_POLICY_PATTERN03_SIMPLEX_SNK_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_ITEM, CG_SECURE_POLICY_PATTERN03_SIMPLEX_SNK_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_TRADE, CG_SECURE_POLICY_PATTERN04_SIMPLEX_SNK_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_TRADE, CG_SECURE_POLICY_PATTERN04_SIMPLEX_SNK_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_VENDOR, CG_SECURE_POLICY_PATTERN05_QUERY_MOLA_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_VENDOR, CG_SECURE_POLICY_PATTERN05_QUERY_MOLA_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_WAREHOUSE, CG_SECURE_POLICY_PATTERN06_CONFIGURE_MOLA_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_WAREHOUSE, CG_SECURE_POLICY_PATTERN06_CONFIGURE_MOLA_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_PARTY, CG_SECURE_POLICY_PATTERN07_CONFIGURE_HEARTBEAT_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_PARTY, CG_SECURE_POLICY_PATTERN07_CONFIGURE_HEARTBEAT_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_STATUS, CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_KEY, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_STATUS, CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_STATUS, CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_CMD, PHASE_UNLIMITED)
ADD_HANDLER_RECV_INFO(CG_CONNECTION, CG_SECURE_QUERY_BUILTIN_CHK_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_CONNECTION, CG_SECURE_QUERY_BUILTIN_CHK_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_CONNECTION, CG_SECURE_QUERY_RESOURCE_CHK_T1_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_CONNECTION, CG_SECURE_QUERY_RESOURCE_CHK_T1_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_CHARINFO, CG_SECURE_QUERY_RESOURCE_CHK_T2_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_CHARINFO, CG_SECURE_QUERY_RESOURCE_CHK_T2_ACK, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_MAP, CG_SECURE_QUERY_RESOURCE_CHK_NTF1_SYN, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_BATTLE, CG_SECURE_QUERY_RESOURCE_CHK_T3_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_BATTLE, CG_SECURE_QUERY_RESOURCE_CHK_T3_ACK, PHASE_UNLIMITED)
//ADD_HANDLER_RECV_INFO(CG_STYLE, CG_SECURE_QUERY_RESOURCE_CHK_T4_CMD, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_STYLE, CG_SECURE_QUERY_RESOURCE_CHK_T4_ACK, PHASE_UNLIMITED)
////ADD_HANDLER_RECV_INFO(CG_STYLE, CG_SECURE_QUERY_RESOURCE_CHK_NTF2_SYN, PHASE_UNLIMITED)
#endif //__NA000630_070817_MOLA_5th_UPDATE
ADD_HANDLER_RECV_INFO_EOR(),
#undef ADD_HANDLER_RECV_INFO
#undef ADD_HANDLER_RECV_INFO_EOR
};
return s_pHandlerInfo;
};
#ifdef __NA000630_070817_MOLA_5th_UPDATE
//¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦´
HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN01_SIMPLEX_SNK_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_POLICY_PATTERN01_SIMPLEX_SNK_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_POLICY_PATTERN01_SIMPLEX_SNK_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::SimplexSNK_T1(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN01_SIMPLEX_SNK_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN02_SIMPLEX_SNK_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_POLICY_PATTERN02_SIMPLEX_SNK_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_POLICY_PATTERN02_SIMPLEX_SNK_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::SimplexSNK_T2(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN02_SIMPLEX_SNK_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN03_SIMPLEX_SNK_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_POLICY_PATTERN03_SIMPLEX_SNK_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_POLICY_PATTERN03_SIMPLEX_SNK_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::SimplexSNK_T3(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN03_SIMPLEX_SNK_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN04_SIMPLEX_SNK_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_POLICY_PATTERN04_SIMPLEX_SNK_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_POLICY_PATTERN04_SIMPLEX_SNK_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::SimplexSNK_T4(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN04_SIMPLEX_SNK_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN05_QUERY_MOLA_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_POLICY_PATTERN05_QUERY_MOLA_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_POLICY_PATTERN05_QUERY_MOLA_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::MOLA_Query(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN05_QUERY_MOLA_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN06_CONFIGURE_MOLA_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_POLICY_PATTERN06_CONFIGURE_MOLA_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_POLICY_PATTERN06_CONFIGURE_MOLA_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::MOLA_Configure(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN06_CONFIGURE_MOLA_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN07_CONFIGURE_HEARTBEAT_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_POLICY_PATTERN07_CONFIGURE_HEARTBEAT_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_POLICY_PATTERN07_CONFIGURE_HEARTBEAT_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::MOLA_Configure(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN07_CONFIGURE_HEARTBEAT_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_KEY)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_KEY& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_KEY>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::DuplexSNK_T1(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_POLICY_PATTERN08_DUPLEX_SNK_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::DuplexSNK_T1(&rRecvMsg, sizeof(rRecvMsg));
}
HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_BUILTIN_CHK_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_QUERY_BUILTIN_CHK_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_QUERY_BUILTIN_CHK_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::BuiltinCodeCheck(&rRecvMsg, sizeof(rRecvMsg));
BYTE* pSendingMsg;
WORD rwSize;
if(ISecureWorkNode::OnMsgSend::BuiltinCodeCheck(pSendingMsg, rwSize))
{
rMGR.SendPacket(AGENT_SESSION, (MSG_BASE*)pSendingMsg, rwSize);
}
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_BUILTIN_CHK_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_T1_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_QUERY_RESOURCE_CHK_T1_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_QUERY_RESOURCE_CHK_T1_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::ResourceCheckT1(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_T1_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_T2_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_QUERY_RESOURCE_CHK_T2_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_QUERY_RESOURCE_CHK_T2_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::ResourceCheckT2(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_T2_ACK)
//HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_NTF1_SYN)
HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_T3_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_QUERY_RESOURCE_CHK_T3_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_QUERY_RESOURCE_CHK_T3_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::ResourceCheckT3(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_T3_ACK)
HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_T4_CMD)
{
DEBUGGING_CODE_L3("");
MSG_CG_SECURE_QUERY_RESOURCE_CHK_T4_CMD& rRecvMsg = pSIG_NETMSG->MsgTypeOf<MSG_CG_SECURE_QUERY_RESOURCE_CHK_T4_CMD>();
LogicFlowDelegator& rLOGIC = pUser->GetLogicFlow();
UserSessionMgr& rMGR = pUser->GetSessionMgr();
UserSessionMgr::SetActiveTransactionWiseUser(pUser);
ISecureWorkNode::OnMsgRecvSignal::ResourceCheckT4(&rRecvMsg, sizeof(rRecvMsg));
}
//HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_T4_ACK)
//HANDLER_CG_RECV_IMPL(CG_SECURE_QUERY_RESOURCE_CHK_NTF2_SYN)
#endif //__NA000630_070817_MOLA_5th_UPDATE