104 lines
2.6 KiB
C
104 lines
2.6 KiB
C
|
|
#ifndef ATTEMPER_ENGINE_HEAD_FILE
|
|||
|
|
#define ATTEMPER_ENGINE_HEAD_FILE
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
|
|||
|
|
|
|||
|
|
#include "KernelEngineHead.h"
|
|||
|
|
#include "QueueService.h"
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
class CAttemperEngine : public IAttemperEngine, public IQueueServiceSink,
|
|||
|
|
public IDataBaseEngineEvent, public ITCPNetworkEngineEvent
|
|||
|
|
{
|
|||
|
|
//<2F><><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
bool m_bService; //<2F><><EFBFBD>б<EFBFBD>־
|
|||
|
|
CQueueService m_QueueService; //<2F><><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>
|
|||
|
|
CCriticalSection m_CriticalSection; //ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F>ӿڱ<D3BF><DAB1><EFBFBD>
|
|||
|
|
protected:
|
|||
|
|
ITCPSocketService * m_pITCPSocketService; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
ITCPNetworkEngine * m_pTCPNetworkEngine; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
IAttemperEngineSink * m_pIAttemperEngineSink; //<2F>ҽӽӿ<D3BD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><CEAC>
|
|||
|
|
protected:
|
|||
|
|
//CSHArray<DWORD> m_AndroidUserSocketIDArray; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>캯<EFBFBD><ECBAAF>
|
|||
|
|
CAttemperEngine(void);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual ~CAttemperEngine(void);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F>ͷŶ<CDB7><C5B6><EFBFBD>
|
|||
|
|
virtual VOID Release()
|
|||
|
|
{
|
|||
|
|
if (IsValid()) delete this;
|
|||
|
|
}
|
|||
|
|
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>Ч
|
|||
|
|
virtual bool IsValid()
|
|||
|
|
{
|
|||
|
|
return AfxIsValidAddress(this, sizeof(CAttemperEngine)) ? true : false;
|
|||
|
|
}
|
|||
|
|
//<2F>ӿڲ<D3BF>ѯ
|
|||
|
|
virtual void * QueryInterface(const IID & Guid, DWORD dwQueryVer);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool StartService();
|
|||
|
|
//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool ConcludeService();
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SetNetworkEngine(IUnknownEx * pIUnknownEx);
|
|||
|
|
//ע<>ṳ<EFBFBD><E1B9B3>
|
|||
|
|
virtual bool SetAttemperEngineSink(IUnknownEx * pIUnknownEx);
|
|||
|
|
//<2F>Զ<EFBFBD><D4B6>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventCustom(WORD wRequestID, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventControl(WORD wControlID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD>нӿ<D0BD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
virtual void OnQueueServiceSink(WORD wIdentifier, void * pBuffer, WORD wDataSize/*, DWORD dwInsertTime*/);
|
|||
|
|
|
|||
|
|
//<2F>ӿڶ<D3BF><DAB6><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool OnEventDataBaseResult(WORD wRequestID, DWORD dwContextID, VOID * pData, WORD wDataSize);
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//Ӧ<><D3A6><EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPNetworkBind(DWORD dwSocketID, DWORD dwClientAddr);
|
|||
|
|
//<2F>ر<EFBFBD><D8B1>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPNetworkShut(DWORD dwSocketID, DWORD dwClientAddr, DWORD dwActiveTime);
|
|||
|
|
//<2F><>ȡ<EFBFBD>¼<EFBFBD>
|
|||
|
|
virtual bool OnEventTCPNetworkRead(DWORD dwSocketID, TCP_Command Command, VOID * pData, WORD wDataSize);
|
|||
|
|
//<2F><>ѯ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
public:
|
|||
|
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool GetBurthenInfo(tagBurthenInfo & BurthenInfo);
|
|||
|
|
public:
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
virtual bool SetSocketEngine(IUnknownEx * pIUnknownEx);
|
|||
|
|
//<2F><>ȡ<EFBFBD>ӿ<EFBFBD>
|
|||
|
|
virtual void * GetQueueService(const IID & Guid, DWORD dwQueryVer);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#endif
|