#pragma once
|
#include "Component.h"
|
#include <map>
|
#include <list>
|
#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<int, CAlarm*>& 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<int>& ids, int id);
|
void addAlarmToHistoryRecord(CAlarm* pAlarm);
|
BOOL addAlarming(CAlarm* pAlarm);
|
|
private:
|
std::map<int, CAlarm*> m_mapAlarmTemplate; // ÕâÊǾ¯¸æµÄÄ£°å£¬´ÓÎļþ¼ÓÔØ
|
std::map<int, CAlarm*> m_mapAlarming; // ÕýÔÚ·¢ÉúµÄ¾¯¸æ
|
char* m_pRawData;
|
};
|