summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Radomski <sradomski@mintwerk.de>2016-04-28 07:22:16 (GMT)
committerStefan Radomski <sradomski@mintwerk.de>2016-04-28 07:22:16 (GMT)
commitb73596b4f44942931d113036566336608d5a4f65 (patch)
tree8f395fa5b80d7009b3b7cc745cab82b8ce019f08 /src
parentaf6ec49c899ce26a0e07761b0e42200248808e21 (diff)
downloaduscxml-b73596b4f44942931d113036566336608d5a4f65.zip
uscxml-b73596b4f44942931d113036566336608d5a4f65.tar.gz
uscxml-b73596b4f44942931d113036566336608d5a4f65.tar.bz2
Implemented 6.5.2 for params as well
Diffstat (limited to 'src')
-rw-r--r--src/uscxml/Interpreter.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/uscxml/Interpreter.cpp b/src/uscxml/Interpreter.cpp
index 596bf20..ed26561 100644
--- a/src/uscxml/Interpreter.cpp
+++ b/src/uscxml/Interpreter.cpp
@@ -2718,6 +2718,18 @@ void InterpreterImpl::finalizeAndAutoForwardCurrentEvent() {
}
}
}
+
+ Arabica::XPath::NodeSet<std::string> params = DOMUtils::filterChildElements(_nsInfo.xmlNSPrefix + "param", invokeIter->second.getElement());
+ for (size_t l = 0; l < params.size(); l++) {
+ Element<std::string> paramElem = Element<std::string>(params[l]);
+ if (HAS_ATTR(paramElem, "location") &&
+ _currEvent.data.compound.find(ATTR(paramElem, "location")) != _currEvent.data.compound.end()) {
+ std::string location = ATTR(paramElem, "location");
+ _dataModel.assign(location, _currEvent.data.compound[location]);
+ }
+ }
+
+
}
}
}