Files

278 lines
10 KiB
C
Raw Permalink Normal View History

2026-03-03 13:56:44 +08:00
#ifndef PRIVATE_SERVICE_HEAD_HEAD_FILE
#define PRIVATE_SERVICE_HEAD_HEAD_FILE
//////////////////////////////////////////////////////////////////////////////////
//ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>
#include "..\..\ȫ<>ֶ<EFBFBD><D6B6><EFBFBD>\Platform.h"
//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
#include "..\..\<5C><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>\CMD_Commom.h"
#include "..\..\<5C><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>\CMD_Correspond.h"
#include "..\..\<5C><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>\CMD_GameServer.h"
//ƽ̨<C6BD>ļ<EFBFBD>
#include "..\..\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ServiceCoreHead.h"
#include "..\..\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>\GameServiceHead.h"
#include "..\..\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<5C>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>\KernelEngineHead.h"
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifndef PRIVATE_SERVICE_CLASS
#ifdef PRIVATE_SERVICE_DLL
#define PRIVATE_SERVICE_CLASS _declspec(dllexport)
#else
#define PRIVATE_SERVICE_CLASS _declspec(dllimport)
#endif
#endif
//ģ<><EFBFBD><E9B6A8>
#ifndef _DEBUG
#define PRIVATE_SERVICE_DLL_NAME TEXT("PrivateService.dll") //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#else
#define PRIVATE_SERVICE_DLL_NAME TEXT("PrivateServiceD.dll") //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class PriaveteGame;
//////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
struct tagPrivateManagerParameter
{
//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
tagGameServiceOption * pGameServiceOption; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tagGameServiceAttrib * pGameServiceAttrib; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IGameServiceManager * m_pIGameServiceManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>
ITimerEngine * pITimerEngine; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IDBCorrespondManager * pICorrespondManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ITCPNetworkEngineEvent * pTCPNetworkEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IAndroidUserManager * pIAndroidUserManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IServerUserManager * pIServerUserManager; //<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
IMainServiceFrame * pIMainServiceFrame; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
IServerUserItemSink * pIServerUserItemSink; //<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
};
//////////////////////////////////////////////////////////////////////////////////
#ifdef _UNICODE
#define VER_IPrivateServiceManager INTERFACE_VERSION(1,1)
static const GUID IID_IPrivateServiceManager={0xd1234ace,0xb67d,0x43d9,0x0097,0xfa,0xd8,0xa7,0x9d,0x31,0x39,0x9b};
#else
#define VER_IPrivateServiceManager INTERFACE_VERSION(1,1)
static const GUID IID_IPrivateServiceManager={0xd12342ce,0x8c10,0x4443,0x00b5,0xad,0x75,0x4b,0xe5,0x50,0xc5,0x53};
#endif
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
interface IPrivateServiceManager : public IUnknownEx
{
//<2F><><EFBFBD>ƽӿ<C6BD>
public:
//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
virtual bool StopService()=NULL;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual bool StartService()=NULL;
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual bool CreatePrivateMatch()=NULL;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual bool BindTableFrame(ITableFrame * pTableFrame,WORD wChairID)=NULL;
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>ӿ<EFBFBD>
virtual bool InitPrivateInterface(tagPrivateManagerParameter & MatchManagerParameter)=NULL;
//ϵͳ<CFB5>¼<EFBFBD>
public:
//ʱ<><CAB1><EFBFBD>¼<EFBFBD>
virtual bool OnEventTimer(DWORD dwTimerID, WPARAM dwBindParameter)=NULL;
//<2F><><EFBFBD>ݿ<EFBFBD><DDBF>¼<EFBFBD>
virtual bool OnEventDataBase(WORD wRequestID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize)=NULL;
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
public:
//˽<>˷<EFBFBD><CBB7>¼<EFBFBD>
virtual bool OnEventSocketPrivate(WORD wSubCmdID, VOID * pData, WORD wDataSize, IServerUserItem * pIServerUserItem, DWORD dwSocketID)=NULL;
//<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
public:
//<2F>û<EFBFBD><C3BB><EFBFBD>¼
virtual bool OnEventUserLogon(IServerUserItem * pIServerUserItem)=NULL;
//<2F>û<EFBFBD><C3BB>dz<EFBFBD>
virtual bool OnEventUserLogout(IServerUserItem * pIServerUserItem)=NULL;
//<2F><><EFBFBD><EFBFBD>
virtual bool OnEventEnterPrivate(DWORD dwSocketID, VOID* pData, DWORD dwUserIP, bool bIsMobile)=NULL;
//<2F>û<EFBFBD><C3BB>μ<EFBFBD>
virtual bool OnEventUserJoinPrivate(IServerUserItem * pIServerUserItem, BYTE cbReason,DWORD dwSocketID)=NULL;
//<2F>û<EFBFBD><C3BB>˳<EFBFBD>
virtual bool OnEventUserQuitPrivate(IServerUserItem * pIServerUserItem, BYTE cbReason, WORD *pBestRank=NULL, DWORD dwContextID=INVALID_WORD)=NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
public:
//
virtual bool OnEventReqStandUP(IServerUserItem * pIServerUserItem)=NULL;
//<2F>ӿ<EFBFBD><D3BF><EFBFBD>Ϣ
public:
//<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
virtual IUnknownEx * GetServerUserItemSink()=NULL;
};
//////////////////////////////////////////////////////////////////////////////////
#ifdef _UNICODE
#define VER_IGamePrivateItem INTERFACE_VERSION(1,1)
static const GUID IID_IGamePrivateItem={0xd5131234,0xb67d,0x43d9,0x0097,0xfa,0xd8,0xa7,0x9d,0x31,0x39,0x9b};
#else
#define VER_IGamePrivateItem INTERFACE_VERSION(1,1)
static const GUID IID_IGamePrivateItem={0x7d381234,0x8c10,0x4443,0x00b5,0xad,0x75,0x4b,0xe5,0x50,0xc5,0x53};
#endif
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
interface IGamePrivateItem : public IUnknownEx
{
//<2F><><EFBFBD>ƽӿ<C6BD>
public:
//<2F><><EFBFBD><EFBFBD>֪ͨ
virtual void OnStartService()=NULL;
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual bool BindTableFrame(ITableFrame * pTableFrame,WORD wTableID)=NULL;
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>ӿ<EFBFBD>
virtual bool InitPrivateInterface(tagPrivateManagerParameter & MatchManagerParameter)=NULL;
//ϵͳ<CFB5>¼<EFBFBD>
public:
//ʱ<><CAB1><EFBFBD>¼<EFBFBD>
virtual bool OnEventTimer(DWORD dwTimerID, WPARAM dwBindParameter)=NULL;
//<2F><><EFBFBD>ݿ<EFBFBD><DDBF>¼<EFBFBD>
virtual bool OnEventDataBase(WORD wRequestID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize)=NULL;
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
virtual bool OnEventSocketPrivate(WORD wSubCmdID, VOID * pData, WORD wDataSize, IServerUserItem * pIServerUserItem, DWORD dwSocketID)=NULL;
//<2F><>Ϣ<EFBFBD>ӿ<EFBFBD>
public:
//<2F>û<EFBFBD><C3BB><EFBFBD>¼
virtual bool OnEventUserLogon(IServerUserItem * pIServerUserItem)=NULL;
//<2F>û<EFBFBD><C3BB>dz<EFBFBD>
virtual bool OnEventUserLogout(IServerUserItem * pIServerUserItem)=NULL;
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
virtual bool OnEventEnterPrivate(DWORD dwSocketID, VOID* pData, DWORD dwUserIP, bool bIsMobile)=NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual bool OnEventUserJoinPrivate(IServerUserItem * pIServerUserItem, BYTE cbReason,DWORD dwSocketID)=NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual bool OnEventUserQuitPrivate(IServerUserItem * pIServerUserItem, BYTE cbReason, WORD *pBestRank=NULL, DWORD dwContextID=INVALID_WORD)=NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
public:
virtual bool OnEventReqStandUP(IServerUserItem * pIServerUserItem)=NULL;
};
//////////////////////////////////////////////////////////////////////////////////
#ifdef _UNICODE
#define VER_IPrivateEventSink INTERFACE_VERSION(1,1)
static const GUID IID_IPrivateEventSink={0x9d49ab20,0x472c,0x4b3a,0x00bc,0xb4,0x92,0xfe,0x8c,0x41,0xcd,0xaa};
#else
#define VER_IPrivateEventSink INTERFACE_VERSION(1,1)
static const GUID IID_IPrivateEventSink={0x91cf29a0,0x04d3,0x48da,0x0083,0x36,0x64,0xb2,0xda,0x6a,0x21,0xdb};
#endif
//<2F><>Ϸ<EFBFBD>¼<EFBFBD>
interface IPrivateEventSink :public IUnknownEx
{
//<2F><>Ϸ<EFBFBD><CFB7>ʼ
virtual bool OnEventGameStart(ITableFrame *pITableFrame, WORD wChairCount)=NULL;
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
virtual bool OnEventGameEnd(ITableFrame *pITableFrame,WORD wChairID, IServerUserItem * pIServerUserItem, BYTE cbReason)=NULL;
//<2F><>Ϸ<EFBFBD><CFB7>¼
virtual bool WriteTableScore(ITableFrame* pITableFrame,tagScoreInfo ScoreInfoArray[], WORD wScoreCount, DataStream& kData) = NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual bool OnActionUserOffLine(WORD wChairID, IServerUserItem * pIServerUserItem) = NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual bool OnActionUserSitDown(WORD wTableID, WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser)=NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual bool OnActionUserStandUp(WORD wTableID, WORD wChairID, IServerUserItem * pIServerUserItem, bool bLookonUser)=NULL;
//<2F>û<EFBFBD>ͬ<EFBFBD><CDAC>
virtual bool OnActionUserOnReady(WORD wTableID, WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize)=NULL;
//<2F>жϷ<D0B6><CFB7><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>
virtual bool OnActionUserFangKaCheck(WORD wTableID, WORD wChairID, IServerUserItem * pIServerUserItem, SCORE lUserInsure)=NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD>ȥ<EFBFBD><C8A5>Ϸ
virtual bool OnEventClientReady(WORD wChairID,IServerUserItem * pIServerUserItem)=NULL;
//ͬ<><CDAC>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ϣ
virtual bool OnEventPrivateRoomInfo(WORD wChairID, IServerUserItem * pIServerUserItem) = NULL;
//˽<>˳<EFBFBD><CBB3>û<EFBFBD><C3BB>¼<EFBFBD>
virtual bool AddPrivateAction(ITableFrame* pTbableFrame,DWORD dwChairID, BYTE bActionIdex)=NULL;
//ͳ<><CDB3>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD>
virtual bool addPrivatePlayCout(ITableFrame* pTbableFrame, WORD wCout) = NULL;
//<2F><><EFBFBD><EFBFBD>׼<EFBFBD><D7BC>
virtual bool OnActionUserOnStart(WORD wTableID, WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize) = NULL;
//<2F>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual bool IsAutoUserCountRule(ITableFrame* pTbableFrame, bool bReal) = NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD>ʼ<EFBFBD><CABC>Ϸ
virtual bool OnActionUserStartGame(WORD wTableID, WORD wChairID, IServerUserItem * pIServerUserItem, VOID * pData, WORD wDataSize) = NULL;
};
///////////////////////////////////////////////////////////////////////////
#ifdef _UNICODE
#define VER_ITableFramePrivate INTERFACE_VERSION(1,1)
static const GUID IID_ITableFramePrivate={0xe9f19de8,0xfccb,0x42bd,0x0099,0x85,0xac,0xe9,0x26,0xf3,0xc4,0x2b};
#else
#define VER_ITableFramePrivate INTERFACE_VERSION(1,1)
static const GUID IID_ITableFramePrivate={0x94a90d45,0x570e,0x41d6,0x009f,0x20,0x01,0x8d,0x68,0x16,0xd5,0x0f};
#endif
//<2F><><EFBFBD>ӹ<EFBFBD><D3B9>ӽӿ<D3BD>
interface ITableFramePrivate : public IUnknownEx
{
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
public:
//<2F><><EFBFBD>ýӿ<C3BD>
virtual bool SetPrivateEventSink(IUnknownEx * pIUnknownEx)=NULL;
//<2F><>ʼ<EFBFBD><CABC>
virtual bool InitTableFramePrivate(IUnknownEx * pIUnknownEx)=NULL;
//д<>ƾ<EFBFBD><C6BE><EFBFBD>Ϣ
virtual bool WriteTableScore(ITableFrame* pITableFrame,tagScoreInfo ScoreInfoArray[], WORD wScoreCount,DataStream& kData)=NULL;
//<2F>û<EFBFBD><C3BB><EFBFBD>ȥ<EFBFBD><C8A5>Ϸ
virtual bool OnEventClientReady(WORD wChairID,IServerUserItem * pIServerUserItem) = NULL;
//ͬ<><CDAC>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD>Ϣ;
virtual bool OnEventPrivateRoomInfo(WORD wChairID, IServerUserItem * pIServerUserItem) = NULL;
//<2F><>Ϸ<EFBFBD>¼<EFBFBD>
public:
//<2F><>Ϸ<EFBFBD><CFB7>ʼ
virtual bool OnEventGameStart(ITableFrame *pITableFrame, WORD wChairCount)=NULL;
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
virtual bool OnEventGameEnd(ITableFrame *pITableFrame,WORD wChairID, IServerUserItem * pIServerUserItem, BYTE cbReason)=NULL;
//<2F>û<EFBFBD><C3BB>¼<EFBFBD>
virtual bool AddPrivateAction(ITableFrame* pTbableFrame,DWORD dwChairID, BYTE bActionIdex) = NULL;
//ͳ<><CDB3>˽<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD>
virtual bool addPrivatePlayCout(ITableFrame* pTbableFrame, WORD wCout) = NULL;
//<2F>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual bool IsAutoUserCountRule(ITableFrame* pTbableFrame, bool bReal) = NULL;
};
//////////////////////////////////////////////////////////////////////////////////
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
DECLARE_MODULE_HELPER(PrivateServiceManager,PRIVATE_SERVICE_DLL_NAME,"CreatePrivateServiceManager")
//////////////////////////////////////////////////////////////////////////////////
#endif