⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eventengineunit.h

📁 指纹门禁机管理系统
💻 H
字号:
//---------------------------------------------------------------------------
/*
* Copyright (c) 2008,杭州中正生物认证技术有限公司
* All rights reserved.
* 文件名称:EventEngineUnit.h
* 文件标识:见配置管理计划书
* 摘    要:
             本头文件定义事件消息引擎类,引擎维护日志消息获取,提取,消息队列管理等。

  作   者:王从骏

*/
//---------------------------------------------------------------------------

#ifndef EventEngineUnitH
#define EventEngineUnitH
#include <ComCtrls.hpp>
#include "EnguardCommon.h"
#include "DeviceAccessUnit.h"

const int MAX_DEVICE_COUNT = 256;  //最多设备数

//LogInfoBase_T的迭代器
typedef list<LogInfoBase_T>::iterator IterLogInfoBase_T;

//日志消息信息列表类型
typedef list<LogInfoBase_T> LogInfoBaseArray_T;

//设备
typedef struct
{
  TTimer* DiviceTimer;
  int  DeviceHandle;
  int  DeviceID;
  int  MaxLogID;
}DeviceTimer_T,*pDeviceTimer_T;

//---------------------------------------------------------------------------
//事件消息引擎类
class TEventEngine
{
   private:
          LogInfoBaseArray_T LogEventQueue;  //事件消息队列
          DeviceInfoArray_T  DeviceInfoQueue;    //设备配置信息队列

          DeviceTimer_T  DeviceTimerList[MAX_DEVICE_COUNT];
          bool ActiveStatus;
          int  ErrCount; //异常计时器
          int  ActiveDeviceCount;                 //在线设备数量
          int  DeviceCount;                       //所有设备数量
          TDeviceAccess* pDevice;
          int GetDeviceList();
          void __fastcall OnTimer(TObject *Sender);
          int IntiEngine();
          int UnintiEngine();
   public:
         TEventEngine();
         ~TEventEngine();

         int  StartEngine();  //启动引擎
         int  StopEngine();   //结束引擎
         int  RestartEngine();
         int  StopDevice(int iDeviceID);   //停止设备
         int  StartDevice(int iDeviceID);  //启动设备
         bool GetDeviceCount(int &oSumCount,int& oActiveCount);        //得到设备数量
         bool GetDeviceInfo(int iDeviceID,DeviceInfo_T* oDeviceInfo);  //得到当前设备信息

         int  GetDeviceHandle(int iDeviceID);
         bool ReleaseDeviceHandle(int iDeviceID,int iDeviceHandle);

         bool IsExistDeviceInfo(int iDeviceID);   //判断设备是否存在

         int  PushEventLog(LogInfoBase_T iLogInfo);
         int  PopEventLog(LogInfoBase_T& oLogInfo);   //日志消息出队列
         bool IsActive();  //引擎是否启用

};

//---------------------------------------------------------------------------
//得到事件引擎类实例
extern  TEventEngine* GetEventEngineInstance();

//---------------------------------------------------------------------------



#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -