#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); void getAlarmingMap(std::map& alarms); BOOL isAlarming(); 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); private: std::map m_mapAlarmTemplate; // ÕâÊǾ¯¸æµÄÄ£°å£¬´ÓÎļþ¼ÓÔØ std::map m_mapAlarming; // ÕýÔÚ·¢ÉúµÄ¾¯¸æ char* m_pRawData; };