#pragma once /*! * @brief 报警生成器 * * @author sjq */ #include "service/alarm_server_api/CAlmApiForApp.h" #include "PredifineForSeqServer.h" class CNodeAction; class CNodeSeq; class CModuleAlarmCreater { public: CModuleAlarmCreater(int domainId, int appId); ~CModuleAlarmCreater(); //顺控人工操作事件 bool seqCtrl(CNodeSeq& seq,const SHmiOpInfo& op); //顺控人工操作事件 人工干预 bool seqCtrl(CNodeAction& action,const SOpResultUi& op); //顺控开始 bool seqStart(CNodeSeq& seq); //顺控结束 bool seqStop(CNodeSeq& seq); //动作执行 bool actionExecute(CNodeAction& action); private: std::string getExecSkipDesc(CNodeSeq& seq); void createHead( CNodeSeq& seq, kbd_idlfile::SAlmInfoFromApp& fromApp, int status); void createSeqKeyWord( CNodeSeq& seq, kbd_idlfile::SAlmInfoFromApp& fromApp ); void createSeqKeyWord( CNodeAction& action, kbd_idlfile::SAlmInfoFromApp& fromApp ); void createHmiOpKeyWord( ESeqCtrl_HmiOpType op, kbd_idlfile::SAlmInfoFromApp& fromApp ); void createUiOpKeyWord( UI_OP_RESULT_TYPE op, kbd_idlfile::SAlmInfoFromApp& fromApp ); void createOpKeyWord( const std::string& op, kbd_idlfile::SAlmInfoFromApp& fromApp ); void createActorKeyWord( const SNodeSeqActor& actor, kbd_idlfile::SAlmInfoFromApp& fromApp ); void createResultKeyWord( const std::string& state, kbd_idlfile::SAlmInfoFromApp& fromApp ); void createActionDescKeyWord( CNodeAction& action, kbd_idlfile::SAlmInfoFromApp& fromApp ); void afterSleep(); private: kbd_service::CAlmApiForApp m_objAlmApi; };