Files

104 lines
2.6 KiB
C
Raw Permalink Normal View History

2026-03-03 13:56:44 +08:00
#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