#pragma once #include "Component.h" #include #include #include "Alarm.h" class CAlarmMonitor : public CComponent { public: CAlarmMonitor(); ~CAlarmMonitor(); public: virtual std::string& getClassName(); virtual void onData(int id, const void* pData, int size); virtual void onRecvBroadcast(void* pSender, CIntent* pIntent); virtual void init(); virtual void term(); int readAlarmListFromFile(const char* pszFilepath); virtual void OnTimer(UINT nTimerid); const char* getAlarmText(int nID); virtual void Serialize(CArchive& ar); std::map& getAlarmingMap(); BOOL isAlarming(); CAlarm* getActiveAlarm(); void getAlarmRecords(std::list< CAlarm*>& list); private: BOOL compareData(const char* pScrData, const char* pTarData, int len); int addAlarmTemplate(int id, int level, const char* pszDescription); BOOL isAlarmOn(int id); BOOL findAlarm(std::vector& ids, int id); void addAlarmToHistoryRecord(CAlarm* pAlarm); BOOL addAlarming(CAlarm* pAlarm); private: std::map m_mapAlarmTemplate; // ÕâÊǾ¯¸æµÄÄ£°å£¬´ÓÎļþ¼ÓÔØ std::map m_mapAlarming; // ÕýÔÚ·¢ÉúµÄ¾¯¸æ char* m_pRawData; };