235 lines
7.2 KiB
C
235 lines
7.2 KiB
C
|
|
#ifndef ATTEMPER_ENGINE_SINK_HEAD_FILE
|
|||
|
|
#define ATTEMPER_ENGINE_SINK_HEAD_FILE
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "Stdafx.h"
|
|||
|
|
#include "InitParameter.h"
|
|||
|
|
#include "ServerListManager.h"
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CLIENT_KIND_FALSH 1 //<2F><>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD>
|
|||
|
|
#define CLIENT_KIND_MOBILE 2 //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CLIENT_KIND_COMPUTER 3 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><EFBFBD><F3B6A8B2><EFBFBD>
|
|||
|
|
struct tagBindParameter
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwSocketID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
|
DWORD dwClientAddr; //<2F><><EFBFBD>ӵ<EFBFBD>ַ
|
|||
|
|
DWORD dwActiveTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
WORD wModuleID; //ģ<><C4A3><EFBFBD><EFBFBD>ʶ
|
|||
|
|
BYTE cbClientKind; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
DWORD dwPlazaVersion; //<2F><><EFBFBD><EFBFBD><EFBFBD>汾
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//<2F>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
struct tagBaseEnsureParameter
|
|||
|
|
{
|
|||
|
|
SCORE lScoreCondition; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SCORE lScoreAmount; //<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
BYTE cbTakeTimes; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
};
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>
|
|||
|
|
class CAttemperEngineSink : public IAttemperEngineSink
|
|||
|
|
{
|
|||
|
|
//<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
|
|||
|
|
friend class CServiceUnits;
|
|||
|
|
|
|||
|
|
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
bool m_bNeekCorrespond; //Э<><D0AD><EFBFBD><EFBFBD>־
|
|||
|
|
bool m_bShowServerStatus; //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
CInitParameter * m_pInitParameter; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
tagBindParameter * m_pBindParameter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
CServerListManager m_ServerListManager; //<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CMD_GP_CheckInInfo m_kCheckInInfo; //ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CMD_GP_BeginnerInfo m_kBeginnerInfo; //<2F><><EFBFBD>ֻ
|
|||
|
|
CMD_GP_BackAddBankAwardInfo m_BackAddBankAwardInfo; //<><D7AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagBaseEnsureParameter m_BaseEnsureParameter; //<2F>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
ITimerEngine * m_pITimerEngine; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IDataBaseEngine * m_pIDataBaseEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ITCPNetworkEngine * m_pITCPNetworkEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ITCPSocketService * m_pITCPSocketService; //Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
WORD m_wAVServerPort; //<2F><>Ƶ<EFBFBD>˿<EFBFBD>
|
|||
|
|
DWORD m_dwAVServerAddr; //<2F><>Ƶ<EFBFBD><C6B5>ַ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CAttemperEngineSink();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual ~CAttemperEngineSink();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>ͷŶ<CDB7><C5B6><EFBFBD>
|
|||
|
|
virtual VOID Release() { return; }
|
|||
|
|
//<2F>ӿڲ<D3BF>ѯ
|
|||
|
|
virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer);
|
|||
|
|
|
|||
|
|
//<2F>첽<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnAttemperEngineStart(IUnknownEx * pIUnknownEx);
|
|||
|
|
//ֹͣ<CDA3>¼<EFBFBD>
|
|||
|
|
virtual bool OnAttemperEngineConclude(IUnknownEx * pIUnknownEx);
|
|||
|
|
|
|||
|
|
//<2F>¼<EFBFBD><C2BC>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventControl(WORD wIdentifier, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F>Զ<EFBFBD><D4B6>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventAttemperData(WORD wRequestID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F>ں<EFBFBD><DABA>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//ʱ<><CAB1><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTimer(DWORD dwTimerID, WPARAM wBindParam);
|
|||
|
|
//<2F><><EFBFBD>ݿ<EFBFBD><DDBF>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventDataBase(WORD wRequestID, DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPSocketLink(WORD wServiceID, INT nErrorCode);
|
|||
|
|
//<2F>ر<EFBFBD><D8B1>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPSocketShut(WORD wServiceID, BYTE cbShutReason);
|
|||
|
|
//<2F><>ȡ<EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPSocketRead(WORD wServiceID, TCP_Command Command, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//Ӧ<><D3A6><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPNetworkBind(DWORD dwClientAddr, DWORD dwSocketID);
|
|||
|
|
//<2F>ر<EFBFBD><D8B1>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPNetworkShut(DWORD dwClientAddr, DWORD dwActiveTime, DWORD dwSocketID);
|
|||
|
|
//<2F><>ȡ<EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPNetworkRead(TCP_Command Command, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//ע<><D7A2><EFBFBD>¼<EFBFBD>
|
|||
|
|
bool OnTCPSocketMainRegister(WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool OnTCPSocketMainServiceInfo(WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
//Զ<>̷<EFBFBD><CCB7><EFBFBD>
|
|||
|
|
bool OnTCPSocketMainRemoteService(WORD wSubCmdID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainPCLogon(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainPCServerList(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainPCUserService(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//Զ<>̴<EFBFBD><CCB4><EFBFBD>
|
|||
|
|
bool OnTCPNetworkMainPCRemoteService(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F>ʺŵ<CABA>¼
|
|||
|
|
bool OnTCPNetworkSubPCLogonAccounts(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
//<2F>ʺ<EFBFBD>ע<EFBFBD><D7A2>
|
|||
|
|
bool OnTCPNetworkSubPCRegisterAccounts(VOID * pData, WORD wDataSize, DWORD dwSocketID);
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD>¼<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><>¼<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
bool OnDBPCLogonSuccess(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><>¼ʧ<C2BC><CAA7>
|
|||
|
|
bool OnDBPCLogonFailure(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
bool OnDBPCUserIndividual(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool OnDBPCUserAccountInfo(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ״̬
|
|||
|
|
bool OnDBPCInGameSevrerID(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|||
|
|
bool OnDBPCUserWXShareReward(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|||
|
|
bool OnDBPCOperateSuccess(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
|
bool OnDBPCOperateFailure(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
VOID SendOperateFailure(DWORD dwContextID, LONG lResultCode, LPCTSTR pszDescribe);
|
|||
|
|
|
|||
|
|
//<2F>б<EFBFBD><D0B1>¼<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
bool OnDBPCGameTypeItem(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
bool OnDBPCGameKindItem(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><>Ϸ<EFBFBD>ڵ<EFBFBD>
|
|||
|
|
bool OnDBPCGameNodeItem(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
bool OnDBPCGamePageItem(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><>Ϸ<EFBFBD>б<EFBFBD>
|
|||
|
|
bool OnDBPCGameListResult(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>¼
|
|||
|
|
bool OnDBPCGameRecordList(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7>¼
|
|||
|
|
bool OnDBPCGameRecordTotal(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD>
|
|||
|
|
bool OnDBPCGameRecordChild(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>Щ<EFBFBD><D0A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
bool OnDBPCQueryInMatch(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
bool OnDBPCQueryInUnion(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>б<EFBFBD>;
|
|||
|
|
bool OnDBPCUnionList(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD>Ὺ<EFBFBD><E1BFAA><EFBFBD><EFBFBD>Ϸ<EFBFBD>б<EFBFBD>;
|
|||
|
|
bool OnDBPCUnionGameList(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD>᷿<EFBFBD><E1B7BF><EFBFBD>б<EFBFBD>;
|
|||
|
|
bool OnDBPCUnionRoomList(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>;
|
|||
|
|
bool OnDBPCAutoRoomList(DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F>汾<EFBFBD><E6B1BE><EFBFBD><EFBFBD>
|
|||
|
|
bool CheckPlazaVersion(BYTE cbDeviceType, DWORD dwPlazaVersion, DWORD dwSocketID, bool bCheckLowVer=true);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool SendUIControlPacket(WORD wRequestID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
VOID SendGameTypeInfo(DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
VOID SendGameKindInfo(DWORD dwSocketID);
|
|||
|
|
//<2F><><EFBFBD>ͽڵ<CDBD>
|
|||
|
|
VOID SendGameNodeInfo(DWORD dwSocketID, WORD wKindID);
|
|||
|
|
//<2F><><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD>
|
|||
|
|
VOID SendGamePageInfo(DWORD dwSocketID, WORD wKindID);
|
|||
|
|
//<2F><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>
|
|||
|
|
VOID SendGameServerInfo(DWORD dwSocketID, WORD wKindID);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#endif
|