88 lines
1.8 KiB
C++
88 lines
1.8 KiB
C++
#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,
|
|
iot_idl::SAlmInfoFromApp& fromApp,
|
|
int status);
|
|
|
|
void createSeqKeyWord(
|
|
CNodeSeq& seq,
|
|
iot_idl::SAlmInfoFromApp& fromApp
|
|
);
|
|
|
|
void createSeqKeyWord(
|
|
CNodeAction& action,
|
|
iot_idl::SAlmInfoFromApp& fromApp
|
|
);
|
|
|
|
void createHmiOpKeyWord(
|
|
ESeqCtrl_HmiOpType op,
|
|
iot_idl::SAlmInfoFromApp& fromApp
|
|
);
|
|
|
|
void createUiOpKeyWord(
|
|
UI_OP_RESULT_TYPE op,
|
|
iot_idl::SAlmInfoFromApp& fromApp
|
|
);
|
|
|
|
void createOpKeyWord(
|
|
const std::string& op,
|
|
iot_idl::SAlmInfoFromApp& fromApp
|
|
);
|
|
|
|
void createActorKeyWord(
|
|
const SNodeSeqActor& actor,
|
|
iot_idl::SAlmInfoFromApp& fromApp
|
|
);
|
|
|
|
void createResultKeyWord(
|
|
const std::string& state,
|
|
iot_idl::SAlmInfoFromApp& fromApp
|
|
);
|
|
|
|
void createActionDescKeyWord(
|
|
CNodeAction& action,
|
|
iot_idl::SAlmInfoFromApp& fromApp
|
|
);
|
|
|
|
void afterSleep();
|
|
private:
|
|
iot_service::CAlmApiForApp m_objAlmApi;
|
|
};
|