Files

108 lines
2.3 KiB
C
Raw Permalink Normal View History

2026-02-13 14:34:15 +08:00
#ifndef SERVICE_UNITS_HEAD_FILE
#define SERVICE_UNITS_HEAD_FILE
#pragma once
#include "Stdafx.h"
#include "InitParameter.h"
#include "AttemperEngineSink.h"
#include "../../<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>/CMD_Commom.h"
//////////////////////////////////////////////////////////////////////////////////
//ö<>ٶ<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
{
//״̬<D7B4><CCAC><EFBFBD><EFBFBD>
protected:
enServiceStatus m_ServiceStatus; //<2F><><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>
protected:
CInitParameter m_InitParameter; //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
CAttemperEngineSink m_AttemperEngineSink; //<2F><><EFBFBD>ȹ<EFBFBD><C8B9><EFBFBD>
//<2F>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>
protected:
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>
//<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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool StartService();
//ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
bool ConcludeService();
//<2F><><EFBFBD>ýӿ<C3BD>
bool SetServiceUnitsSink(IServiceUnitsSink * pIServiceUnitsSink);
//<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>
protected:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool InitializeService();
//<2F><><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>
bool StartKernelService();
//<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);
};
//////////////////////////////////////////////////////////////////////////////////
#endif