#ifndef RVC_MOD_ALARM_H_ #define RVC_MOD_ALARM_H_ #include "stdafx.h" #include "SpBase.h" #include "SpIni.h" #include "AlarmFSM.h" #include "EventCode.h" #ifdef RVC_OS_WIN #else #include "SpTest.h" #include "modVer.h" #endif class CAlarmEntity : public CEntityBase,public ILogListener { public: CAlarmEntity(){} virtual ~CAlarmEntity() {} virtual const char *GetEntityName() const { return "Alarm"; } #ifdef RVC_OS_WIN #else const char* GetEntityVersion() const override { return MODULE_VERSION_FULL; } ON_ENTITYT_TEST() #endif virtual void OnPreStart(CAutoArray strArgs,CSmartPointer pTransactionContext) { ErrorCodeEnum Error = Error_Succeed; //MessageBoxA(0,0,0,0); Error = m_fsm.Init(this); //GetFunction()->SubscribeLog(m_uuidPtr,this,Log_Event,Severity_None,Error_IgnoreAll,-1,NULL,false); GetFunction()->SubscribeLog(m_uuidPtr,this,Log_Warning,Severity_None,Error_IgnoreAll,-1,NULL,false); //添加error日志到告警通道 GetFunction()->SubscribeLog(m_uuidPtr2,this,Log_Error,Severity_None,Error_IgnoreAll,-1,NULL,false); pTransactionContext->SendAnswer(Error); } virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer pTransactionContext) { pTransactionContext->SendAnswer(Error_Succeed); GetFunction()->UnsubscribeLog(m_uuidPtr); GetFunction()->UnsubscribeLog(m_uuidPtr2); } virtual void OnLog(const CAutoArray &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel, const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID, const CAutoArray &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage, const linkContext &pLinkInfo); private: AlarmFSM m_fsm; CUUID m_uuidPtr; CUUID m_uuidPtr2;//添加error日志到告警通道 }; #endif //RVC_MOD_ALARM_H_