summaryrefslogtreecommitdiffstats
path: root/src/uscxml/transform
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-11-13 15:57:53 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-11-13 15:57:53 (GMT)
commitafec6e2f8bd472da1d9170bdaf102b5a572bcd2a (patch)
tree843aa6434a0379a53638eccd20f9ea7a8bff85f3 /src/uscxml/transform
parent2b3fb554e90793670a6ec384c22c89f005142c55 (diff)
downloaduscxml-afec6e2f8bd472da1d9170bdaf102b5a572bcd2a.zip
uscxml-afec6e2f8bd472da1d9170bdaf102b5a572bcd2a.tar.gz
uscxml-afec6e2f8bd472da1d9170bdaf102b5a572bcd2a.tar.bz2
Support for Proxies via USCXML_PROXY environment variable, check CURL_PROXY syntax for examples
Diffstat (limited to 'src/uscxml/transform')
-rw-r--r--src/uscxml/transform/ChartToPromela.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/uscxml/transform/ChartToPromela.cpp b/src/uscxml/transform/ChartToPromela.cpp
index ea83784..9b6674d 100644
--- a/src/uscxml/transform/ChartToPromela.cpp
+++ b/src/uscxml/transform/ChartToPromela.cpp
@@ -2267,6 +2267,21 @@ void ChartToPromela::initNodes() {
_analyzer.addCode(*codeIter);
}
+ // add all namelist entries to the _event structure
+ {
+ NodeSet<std::string> withNamelist;
+ withNamelist.push_back(filterChildElements(_nsInfo.xmlNSPrefix + "send", _scxml, true));
+ withNamelist.push_back(filterChildElements(_nsInfo.xmlNSPrefix + "invoke", _scxml, true));
+ for (int i = 0; i < withNamelist.size(); i++) {
+ if (HAS_ATTR_CAST(withNamelist[i], "namelist")) {
+ std::string namelist = ATTR_CAST(withNamelist[i], "namelist");
+ std::list<std::string> names = tokenizeIdRefs(namelist);
+ for (std::list<std::string>::iterator nameIter = names.begin(); nameIter != names.end(); nameIter++) {
+ _analyzer.addCode("_event.data." + *nameIter + " = 0;"); // introduce for _event_t typedef
+ }
+ }
+ }
+ }
}
std::string ChartToPromela::sanitizeCode(const std::string& code) {