summaryrefslogtreecommitdiffstats
path: root/src/uscxml/interpreter/InterpreterDraft6.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-05-15 19:55:13 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-05-15 19:55:13 (GMT)
commitf9a620340ddce2a17fd775d1e210268cac13377b (patch)
tree58d8dad794e5a34237c2738fe77c151d0810624f /src/uscxml/interpreter/InterpreterDraft6.h
parent49127140ed2ad91bfcf532b3d2265582cb80b0db (diff)
downloaduscxml-f9a620340ddce2a17fd775d1e210268cac13377b.zip
uscxml-f9a620340ddce2a17fd775d1e210268cac13377b.tar.gz
uscxml-f9a620340ddce2a17fd775d1e210268cac13377b.tar.bz2
Introduced interpreter.step()
Diffstat (limited to 'src/uscxml/interpreter/InterpreterDraft6.h')
-rw-r--r--src/uscxml/interpreter/InterpreterDraft6.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/uscxml/interpreter/InterpreterDraft6.h b/src/uscxml/interpreter/InterpreterDraft6.h
index 7550124..a958b47 100644
--- a/src/uscxml/interpreter/InterpreterDraft6.h
+++ b/src/uscxml/interpreter/InterpreterDraft6.h
@@ -27,7 +27,8 @@ namespace uscxml {
class InterpreterDraft6 : public InterpreterImpl {
protected:
void interpret();
- void mainEventLoop();
+ InterpreterState step(bool blocking);
+ void stabilize();
void microstep(const Arabica::XPath::NodeSet<std::string>& enabledTransitions);
void enterStates(const Arabica::XPath::NodeSet<std::string>& enabledTransitions);
@@ -44,6 +45,8 @@ protected:
bool isPreemptingTransition(const Arabica::DOM::Node<std::string>& t1, const Arabica::DOM::Node<std::string>& t2);
bool isEnabledTransition(const Arabica::DOM::Node<std::string>& transition, const std::string& event);
+ Arabica::XPath::NodeSet<std::string> getDocumentInitialTransitions();
+
bool isCrossingBounds(const Arabica::DOM::Node<std::string>& transition);
bool isWithinParallel(const Arabica::DOM::Node<std::string>& transition);
Arabica::DOM::Node<std::string> findLCPA(const Arabica::XPath::NodeSet<std::string>& states);