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;//报警生成模块
};