97 lines
2.9 KiB
C++
97 lines
2.9 KiB
C++
#pragma once
|
|
#include "CModuleNodeMngr.h"
|
|
|
|
class CModuleExecuteMngr;
|
|
class CModuleAlarmCreater;
|
|
class CModuleMsgDeal
|
|
{
|
|
public:
|
|
CModuleMsgDeal(
|
|
CMbCommunicateInfo& mbInfo,
|
|
CModuleNodeMngr& moduleNodeMngr,
|
|
CModuleExecuteMngr& executemngr,
|
|
CModuleAlarmCreater& alarm);
|
|
~CModuleMsgDeal();
|
|
|
|
void dealOptResponse();
|
|
void dealHmiUiResponse();//处理人工干预
|
|
void dealHmiSeqOperate();//处理顺控操作
|
|
|
|
bool seqStop(CNodeSeq& pNode,const SHmiOpInfo& seqOp);// hmi 顺控终止
|
|
|
|
private:
|
|
void dealOptResponse(SOptCtrlReply* pOptResponse);
|
|
bool dealOptResponse(const SOptResult& info);
|
|
|
|
bool dealHmiUIReaponse(
|
|
UiRequestMessageAck* pUIResponse);
|
|
bool dealHmiSeqOperate(
|
|
SeqOperateMessage* pOpreate,
|
|
SActionErrorInfo& erroInfo,
|
|
CNodeSeq*& retSeq
|
|
);//处理顺控操作
|
|
|
|
bool dealHmiSeqOperateStart(
|
|
SeqOperateMessage* pOpreate,
|
|
SActionErrorInfo& erroInfo,
|
|
CNodeSeq*& retSeq,
|
|
bool isSes = false
|
|
);//处理顺控开始操作
|
|
bool dealHmiSeqOperateStop(
|
|
SeqOperateMessage* pOpreate,
|
|
SActionErrorInfo& erroInfo,
|
|
CNodeSeq*& retSeq
|
|
);//处理顺控终止操作
|
|
bool dealHmiSeqOperatePause(
|
|
SeqOperateMessage* pOpreate,
|
|
SActionErrorInfo& erroInfo,
|
|
CNodeSeq*& retSeq
|
|
);//处理顺控暂停操作
|
|
bool dealHmiSeqOperateContinue(
|
|
SeqOperateMessage* pOpreate,
|
|
SActionErrorInfo& erroInfo,
|
|
CNodeSeq*& retSeq
|
|
);//处理顺控继续操作
|
|
|
|
bool seqActionOptReslut(
|
|
CNodeAction& action,
|
|
const SOptResult& info);//opt 操作应答
|
|
|
|
bool seqActionUiOp(
|
|
CNodeAction& action,
|
|
const SOpResultUi& result);//hmi 人工干预应答
|
|
|
|
bool seqStart(CNodeSeq& seq,const SHmiOpInfo& seqOp);// hmi 开始顺控
|
|
bool seqPause(CNodeSeq& seq,const SHmiOpInfo& seqOp);// hmi 暂停顺控
|
|
bool seqContinue(CNodeSeq& seq,const SHmiOpInfo& seqOp);// hmi 继续顺控
|
|
|
|
|
|
void createExecuter(CNodeSeq& seq,
|
|
const SNodeSeqActor& actor);
|
|
|
|
CNodeSeq* checkSeqNode(const SeqNodeStatusParameter& seq,
|
|
SActionErrorInfo& erroInfo, bool checkTimeFlag = true);
|
|
|
|
bool setSeqNodeCheckState(
|
|
CNodeSeq& seq,
|
|
const SeqNodeStatusParameter& seqParam,
|
|
SActionErrorInfo& erroInfo);
|
|
|
|
bool setFuncNodeCheckState(
|
|
CNodeFunc& func,
|
|
const FucNodeStatusParameter& funcParam,
|
|
SActionErrorInfo& erroInfo);
|
|
|
|
bool setActionNodeCheckState(
|
|
CNodeAction& action,
|
|
const ActionNodeStatusParameter& actionParam,
|
|
SActionErrorInfo& erroInfo);
|
|
|
|
SHmiOpInfo createHmiOpInfo(SeqOperateMessage* pOpreate);
|
|
private:
|
|
CMbCommunicateInfo& m_objMbInfo;
|
|
CModuleNodeMngr& m_objNodeMngr;//顺控 功能 动作节点管理
|
|
CModuleExecuteMngr& m_objExecuterMngr;//动作处理管理模块
|
|
CModuleAlarmCreater& m_objAlarm;//报警生成模块
|
|
};
|