本文整理汇总了C++中Interaction::setType方法的典型用法代码示例。如果您正苦于以下问题:C++ Interaction::setType方法的具体用法?C++ Interaction::setType怎么用?C++ Interaction::setType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Interaction
的用法示例。
在下文中一共展示了Interaction::setType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parse
void Parser::parse( const QString &xml )
{
QDomDocument doc( "kwscl" );
QString errorMsg;
int errorLine, errorColumn;
bool ok = doc.setContent( xml, true, &errorMsg, &errorLine, &errorColumn );
if ( !ok ) {
qDebug( "Error parsing wscl (%d:%d) %s", errorLine, errorColumn, errorMsg.latin1() );
return;
}
QDomNodeList nodes = doc.elementsByTagName( "Conversation" );
if ( nodes.count() <= 0 ) {
qDebug( "No conversation tag found in wscl data" );
return;
}
QDomElement conversationElement = nodes.item( 0 ).toElement();
mConversation.setName( conversationElement.attribute( "name" ) );
mConversation.setVersion( conversationElement.attribute( "version" ) );
mConversation.setDescription( conversationElement.attribute( "description" ) );
mConversation.setNameSpace( conversationElement.attribute( "targetNamespace" ) );
mConversation.setSchema( conversationElement.attribute( "hrefSchema" ) );
mConversation.setInitialInteraction( conversationElement.attribute( "initialInteraction" ) );
mConversation.setFinalInteraction( conversationElement.attribute( "finalInteraction" ) );
QDomNode node = conversationElement.firstChild();
while ( !node.isNull() ) {
QDomElement element = node.toElement();
if ( !element.isNull() ) {
if ( element.tagName() == "ConversationInteractions" ) {
Interaction::List interactions;
QDomNode interactionNode = element.firstChild();
while ( !interactionNode.isNull() ) {
QDomElement interactionElement = interactionNode.toElement();
if ( !interactionElement.isNull() ) {
if ( interactionElement.tagName() != "Interaction" ) {
qDebug( "Expected tag name 'Interaction', got '%s'", interactionElement.tagName().latin1() );
continue;
}
Interaction interaction;
interaction.setId( interactionElement.attribute( "id" ) );
const QString type = interactionElement.attribute( "interactionType" );
if ( type == "ReceiveSend" )
interaction.setType( Interaction::ReceiveSend );
else if ( type == "SendReceive" )
interaction.setType( Interaction::SendReceive );
else if ( type == "Receive" )
interaction.setType( Interaction::Receive );
else if ( type == "Send" )
interaction.setType( Interaction::Send );
else if ( type == "Empty" )
interaction.setType( Interaction::Empty );
else
qDebug( "Unknown interaction type '%s'", type.latin1() );
XMLDocument::List inputDocuments;
XMLDocument::List outputDocuments;
XMLDocument inputDocument;
XMLDocument outputDocument;
QDomNode contentNode = interactionElement.firstChild();
while ( !contentNode.isNull() ) {
QDomElement contentElement = contentNode.toElement();
if ( !contentElement.isNull() ) {
const QString tagName = contentElement.tagName();
if ( tagName == "InboundXMLDocument" ) {
XMLDocument document;
document.setId( contentElement.attribute( "id" ) );
document.setSchema( contentElement.attribute( "hrefSchema" ) );
inputDocuments.append( document );
inputDocument = document;
} else if ( tagName == "OutboundXMLDocument" ) {
XMLDocument document;
document.setId( contentElement.attribute( "id" ) );
document.setSchema( contentElement.attribute( "hrefSchema" ) );
outputDocuments.append( document );
outputDocument = document;
}
}
contentNode = contentNode.nextSibling();
}
switch ( interaction.type() ) {
case Interaction::ReceiveSend:
{
ReceiveSendDocument document;
document.setInputDocument( inputDocument );
document.setOutputDocuments( outputDocuments );
interaction.setReceiveSendDocument( document );
}
break;
case Interaction::SendReceive:
//.........这里部分代码省略.........