diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-08-09 15:05:52 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-08-09 15:05:52 (GMT) |
commit | 6dce9df7f483f3229bb2f34f0386ce37a1551e07 (patch) | |
tree | 1d3acaec4612d74ee3234c808df7ae5fa3b4ef9f /src/uscxml/Interpreter.cpp | |
parent | 01f8198f8b548e3f28cad1a441ceb8af6ea850a4 (diff) | |
download | uscxml-6dce9df7f483f3229bb2f34f0386ce37a1551e07.zip uscxml-6dce9df7f483f3229bb2f34f0386ce37a1551e07.tar.gz uscxml-6dce9df7f483f3229bb2f34f0386ce37a1551e07.tar.bz2 |
Extended Java bindings and OpenAL invoker
Diffstat (limited to 'src/uscxml/Interpreter.cpp')
-rw-r--r-- | src/uscxml/Interpreter.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/uscxml/Interpreter.cpp b/src/uscxml/Interpreter.cpp index 77c6805..b6266e2 100644 --- a/src/uscxml/Interpreter.cpp +++ b/src/uscxml/Interpreter.cpp @@ -709,6 +709,13 @@ void InterpreterImpl::send(const Arabica::DOM::Node<std::string>& element) { return; } + if (sendReq.dom) { + std::stringstream ss; + ss << sendReq.dom; + sendReq.xml = ss.str(); + _dataModel.replaceExpressions(sendReq.xml); + } + assert(_sendIds.find(sendReq.sendid) == _sendIds.end()); _sendIds[sendReq.sendid] = std::make_pair(this, sendReq); if (sendReq.delayMs > 0) { @@ -839,6 +846,13 @@ void InterpreterImpl::invoke(const Arabica::DOM::Node<std::string>& element) { return; } + if (invokeReq.dom) { + std::stringstream ss; + ss << invokeReq.dom; + invokeReq.xml = ss.str(); + _dataModel.replaceExpressions(invokeReq.xml); + } + // test 422 if (invokeReq.type.size() == 0) invokeReq.type = "http://www.w3.org/TR/scxml/"; @@ -1330,11 +1344,11 @@ Arabica::XPath::NodeSet<std::string> InterpreterImpl::getStates(const std::vecto Arabica::DOM::Node<std::string> InterpreterImpl::getState(const std::string& stateId) { - if (_cachedStates.find(stateId) != _cachedStates.end() && false) { + if (_cachedStates.find(stateId) != _cachedStates.end()) { return _cachedStates[stateId]; } - // first try atomic and compund states + // first try atomic and compound states NodeSet<std::string> target = _xpath.evaluate("//" + _xpathPrefix + "state[@id='" + stateId + "']", _scxml).asNodeSet(); if (target.size() > 0) goto FOUND; |