123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #ifndef _EVENTMANAGER_H_
- #define _EVENTMANAGER_H_
- #define YK 0 // 遥控
- #define BACK 1 // 恢复正常
- #define UPALARM 2 // 上限告警
- #define LOWALARM 3 // 下限告警
- #define ALARM 4 // 告警
- #define UPPER_LIMIT_ID 1000 // 上限告警
- #define LOWER_LIMIT_ID 1001 // 下限告警
- #define MAX_EQUIP_DESC 255
- static char* EVENTTYPE[] =
- {
- "遥控",
- "恢复正常",
- "上限告警",
- "下限告警",
- "告警",
- };
- class USCADADLLEXPORT CAlarmEvent : public CObject
- {
- public:
- CAlarmEvent();
- SYSTEMTIME time;
- CString strContent;
- CString strWarningTime;
- CString strUid;
- int nVarID;
- double dbParaValue;
- int nUpperLimit;
- int nLowerLimit;
- int nNormalState;
- int nAlarmState;
- int nWarningLevel;
- int nStatus;//0:报警 1:恢复正常
- int nAlarmIndex;//报警索引
- int nNoticeDelay;//通知延时
- int nDealStatus;//处理状态 0:未处理 1:处理过时 2:不处理 3:确认
- int nGet;//0:没有从列表取出 1:已经取出
- int nSoundTimes;//声音播放次数
- };
- typedef CTypedPtrList<CObList, CAlarmEvent*> CEventList;
- class USCADADLLEXPORT CEventServer
- {
- public:
- CEventServer();
- ~CEventServer();
- void AddNewEvent(CAlarmEvent* event);
- CAlarmEvent* GetNewEvent();
- CAlarmEvent* GetUnconfirmEvent();
- void DeleteOneEvent(CString strUid, int nVarID, int nStatus);
- void DeleteOneEvent(int iIndex);
- void ClearAllEvent();
- void Validate(bool valid);
- CAlarmEvent* GetOneEvent(int iIndex);
- void SetOneEventInfo(int iIndex, int nIsSound, int nColor);
- void AddAlarmEvent(CString strDevUid, int nVarID, int nStatus, CString strContent, double dbParaValue,
- int nUpperLimit, int nLowerLimit, int nNormalState, int nAlarmState, int nWarningLevel, int nAlarmIndex, int nNoticeDelay, CString strWarningTime);
- CAlarmEvent* GetUnconfirmEventForLoopPlaySound(CAlarmEvent *pEvent);
- void SetEventStatus2Config(CString strDevUid, int nVarID, int nAlarmIndex);//把事件的处理状态设为已经确认
- public:
- CEventList eventList;
- bool m_bValid;
- private:
- CRITICAL_SECTION m_cs;
- };
- #endif
|