mod_alarm.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef RVC_MOD_ALARM_H_
  2. #define RVC_MOD_ALARM_H_
  3. #include "stdafx.h"
  4. #include "SpBase.h"
  5. #include "SpIni.h"
  6. #include "AlarmFSM.h"
  7. #include "EventCode.h"
  8. class CAlarmEntity : public CEntityBase,public ILogListener
  9. {
  10. public:
  11. CAlarmEntity(){}
  12. virtual ~CAlarmEntity() {}
  13. virtual const char *GetEntityName() const { return "Alarm"; }
  14. virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext)
  15. {
  16. ErrorCodeEnum Error = Error_Succeed;
  17. //MessageBoxA(0,0,0,0);
  18. Error = m_fsm.Init(this);
  19. //GetFunction()->SubscribeLog(m_uuidPtr,this,Log_Event,Severity_None,Error_IgnoreAll,-1,NULL,false);
  20. GetFunction()->SubscribeLog(m_uuidPtr,this,Log_Warning,Severity_None,Error_IgnoreAll,-1,NULL,false);
  21. //添加error日志到告警通道
  22. GetFunction()->SubscribeLog(m_uuidPtr2,this,Log_Error,Severity_None,Error_IgnoreAll,-1,NULL,false);
  23. pTransactionContext->SendAnswer(Error);
  24. }
  25. virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext)
  26. {
  27. pTransactionContext->SendAnswer(Error_Succeed);
  28. GetFunction()->UnsubscribeLog(m_uuidPtr);
  29. GetFunction()->UnsubscribeLog(m_uuidPtr2);
  30. }
  31. virtual void OnLog(const CAutoArray<CUUID> &SubIDs, const CUUID nLogID,const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
  32. const DWORD dwSysError,const DWORD dwUserCode,const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
  33. const CAutoArray<DWORD> &Param, const char *pszEntityName, const char *pszModuleName,const char *pszMessage, const linkContext &pLinkInfo);
  34. private:
  35. AlarmFSM m_fsm;
  36. CUUID m_uuidPtr;
  37. CUUID m_uuidPtr2;//添加error日志到告警通道
  38. };
  39. #endif //RVC_MOD_ALARM_H_