172 lines
4.3 KiB
C
172 lines
4.3 KiB
C
|
|
#ifndef SERVICE_UNITS_HEAD_FILE
|
|||
|
|
#define SERVICE_UNITS_HEAD_FILE
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "Stdafx.h"
|
|||
|
|
#include "InitParameter.h"
|
|||
|
|
#include "AttemperEngineSink.h"
|
|||
|
|
#include "DataBaseEngineSink.h"
|
|||
|
|
#include "DBCorrespondManager.h"
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
#define NETWORK_CORRESPOND 1 //Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
|
#define WM_UICONTROL_REQUEST (WM_USER+100) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
//ö<>ٶ<EFBFBD><D9B6><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
enum enServiceStatus
|
|||
|
|
{
|
|||
|
|
ServiceStatus_Stop, //ֹͣ״̬
|
|||
|
|
ServiceStatus_Config, //<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
ServiceStatus_Service, //<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//״̬<D7B4>ӿ<EFBFBD>
|
|||
|
|
interface IServiceUnitsSink
|
|||
|
|
{
|
|||
|
|
//<2F>ӿڶ<D3BF><DAB6><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
virtual VOID OnServiceUnitsStatus(enServiceStatus ServiceStatus)=NULL;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ
|
|||
|
|
class CServiceUnits : public CWnd
|
|||
|
|
{
|
|||
|
|
//<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
|
|||
|
|
friend class CAttemperEngineSink;
|
|||
|
|
friend class CDataBaseEngineSink;
|
|||
|
|
|
|||
|
|
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
CInitParameter m_InitParameter; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
enServiceStatus m_ServiceStatus; //<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
tagGameParameter m_GameParameter; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
|
|||
|
|
tagDataBaseParameter m_DataBaseParameter; //<2F><><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>
|
|||
|
|
tagGameServiceAttrib m_GameServiceAttrib; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameServiceOption m_GameServiceOption; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
tagGameMatchOption m_GameMatchOption; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
private:
|
|||
|
|
CWHDataQueue m_DataQueue; //<2F><><EFBFBD>ݶ<EFBFBD><DDB6><EFBFBD>
|
|||
|
|
CCriticalSection m_CriticalSection; //ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
CAttemperEngineSink m_AttemperEngineSink; //<2F><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>
|
|||
|
|
CDataBaseEngineSink m_RecordDataBaseSink[4]; //<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>
|
|||
|
|
CDataBaseEngineSink m_KernelDataBaseSink[4]; //<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
CDBCorrespondManager m_DBCorrespondManager; //Э<><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseEngineHelper m_RecordDataBaseEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CDataBaseEngineHelper m_KernelDataBaseEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
CTimerEngineHelper m_TimerEngine; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CAttemperEngineHelper m_AttemperEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CTCPNetworkEngineHelper m_TCPNetworkEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CTCPSocketServiceHelper m_TCPSocketService; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CGameServiceManagerHelper m_GameServiceManager; //<2F><>Ϸģ<CFB7><C4A3>
|
|||
|
|
CMatchServiceManagerHelper m_MatchServiceManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CPrivateServiceManagerHelper m_PrivateServiceManager; //˽<>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>ӿڱ<D3BF><DAB1><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
IServiceUnitsSink * m_pIServiceUnitsSink; //״̬<D7B4>ӿ<EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
static CServiceUnits * g_pServiceUnits; //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CServiceUnits();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual ~CServiceUnits();
|
|||
|
|
|
|||
|
|
//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ȡ״̬
|
|||
|
|
enServiceStatus GetServiceStatus() { return m_ServiceStatus; }
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>ýӿ<C3BD>
|
|||
|
|
bool SetServiceUnitsSink(IServiceUnitsSink * pIServiceUnitsSink);
|
|||
|
|
//Ͷ<><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool PostControlRequest(WORD wIdentifier, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool StartService();
|
|||
|
|
//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
|||
|
|
bool ConcludeService();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC>
|
|||
|
|
bool MaintainService(BYTE cbFlag);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>Ϣ
|
|||
|
|
bool SendSystemMessage(CMD_CM_SystemMessage* pMsg);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool UnlockAllUser();
|
|||
|
|
//<2F><><EFBFBD>°汾
|
|||
|
|
bool UpDateVersion();
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
bool CollocateService(LPCTSTR pszGameModule, tagGameServiceOption & GameServiceOption);
|
|||
|
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
|
|||
|
|
bool CollocateService(tagGameMatchOption & GameMatchOption);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
|
|||
|
|
bool CreateServiceDLL();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool InitializeService();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
|
bool InitParameter();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>
|
|||
|
|
bool StartKernelService();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool StartNetworkService();
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool RectifyServiceParameter();
|
|||
|
|
|
|||
|
|
//<2F>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
private:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
|
bool SetServiceStatus(enServiceStatus ServiceStatus);
|
|||
|
|
//<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>
|
|||
|
|
bool SendControlPacket(WORD wControlID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
bool LoadDataBaseParameter(LPCTSTR pszDataBaseAddr, LPCTSTR pszDataBaseName, tagDataBaseParameter & DataBaseParameter);
|
|||
|
|
|
|||
|
|
//<2F><>Ϣӳ<CFA2><D3B3>
|
|||
|
|
protected:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
LRESULT OnUIControlRequest(WPARAM wParam, LPARAM lParam);
|
|||
|
|
|
|||
|
|
DECLARE_MESSAGE_MAP()
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#endif
|