本文整理汇总了C++中CMultiXAppMsg::ReplySent方法的典型用法代码示例。如果您正苦于以下问题:C++ CMultiXAppMsg::ReplySent方法的具体用法?C++ CMultiXAppMsg::ReplySent怎么用?C++ CMultiXAppMsg::ReplySent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CMultiXAppMsg
的用法示例。
在下文中一共展示了CMultiXAppMsg::ReplySent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnAppMsg
//.........这里部分代码省略.........
if(AppMsg->IsResponse())
{
OrgMsg = AppMsg->ReceiverMsgID().GetObject();
if(OrgMsg != NULL)
{
Session = Owner()->FindSession(OrgMsg->SessionID());
OrgMsg->m_bKeep = false;
OrgMsg->ID().RemoveObject();
if(AppMsg->AppDataSize() || OrgMsg->ResponseRequired())
{
if(Session)
{
if(AppMsg->IsCtrlMsgFromTpm())
Session->OnDataReplyFromTpmReceived(*AppMsg,*OrgMsg);
else
Session->OnDataReplyReceivedNV(*AppMsg,*OrgMsg);
} else
{
if(AppMsg->IsCtrlMsgFromTpm())
OnDataReplyFromTpmReceived(*AppMsg,*OrgMsg);
else
OnDataReplyReceived(*AppMsg,*OrgMsg);
}
} else if(AppMsg->Error())
{
if(OrgMsg->NotifyError())
{
if(Session)
{
if(AppMsg->IsCtrlMsgFromTpm())
Session->OnSendMsgToTpmFailed(*OrgMsg);
else
Session->OnSendMsgFailedNV(*OrgMsg);
} else
{
if(AppMsg->IsCtrlMsgFromTpm())
OnSendMsgToTpmFailed(*OrgMsg);
else
OnSendMsgFailed(*OrgMsg);
}
}
} else
{
if(OrgMsg->NotifySuccess())
{
if(Session)
{
if(AppMsg->IsCtrlMsgFromTpm())
Session->OnSendMsgToTpmCompleted(*OrgMsg);
else
Session->OnSendMsgCompletedNV(*OrgMsg);
} else
{
if(AppMsg->IsCtrlMsgFromTpm())
OnSendMsgToTpmCompleted(*OrgMsg);
else
OnSendMsgCompleted(*OrgMsg);
}
}
}
} else // it is a response but the original does not exist
{
AppMsg->Reply(TpmErrUnableToForwardMsg);
}
} else
{
Session = Owner()->FindSession(AppMsg->SessionID(),true);
if(Session)
{
if(AppMsg->IsCtrlMsgFromTpm())
Session->OnNewMsgFromTpm(*AppMsg);
else
Session->OnNewMsgNV(*AppMsg);
} else
{
if(AppMsg->IsCtrlMsgFromTpm())
OnNewMsgFromTpm(*AppMsg);
else
OnNewMsg(*AppMsg);
}
if(AppMsg->ResponseRequired() && !(AppMsg->ReplySent() || AppMsg->m_bKeep))
Throw();
}
if(!(AppMsg->ReplySent() || AppMsg->m_bKeep))
{
if(AppMsg->ResponseRequired())
Throw();
else if(AppMsg->NotifyAny())
AppMsg->Reply(MultiXNoError);
}
if(OrgMsg && !OrgMsg->m_bKeep)
delete OrgMsg;
if(!AppMsg->m_bKeep)
delete AppMsg;
return true;
}