summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Interpreter.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-12-26 22:29:22 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-12-26 22:29:22 (GMT)
commit42437db418574f2a80d098e568b9498a21343800 (patch)
tree291c1983d8ad14b97be19fda7f3601b9d83c2031 /src/uscxml/Interpreter.h
parent330576fcb4d97504e0d6951067b753499d91b541 (diff)
downloaduscxml-42437db418574f2a80d098e568b9498a21343800.zip
uscxml-42437db418574f2a80d098e568b9498a21343800.tar.gz
uscxml-42437db418574f2a80d098e568b9498a21343800.tar.bz2
Plenty of smaller bug-fixes for uscxml-transform and PROMELA datamodel
Diffstat (limited to 'src/uscxml/Interpreter.h')
-rw-r--r--src/uscxml/Interpreter.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/uscxml/Interpreter.h b/src/uscxml/Interpreter.h
index abccb0a..c509684 100644
--- a/src/uscxml/Interpreter.h
+++ b/src/uscxml/Interpreter.h
@@ -840,6 +840,7 @@ public:
}
static std::map<std::string, boost::weak_ptr<InterpreterImpl> > getInstances();
+ static void addInstance(boost::shared_ptr<InterpreterImpl> instance);
protected:
@@ -890,6 +891,21 @@ public:
};
+class StateTransitionMonitor : public uscxml::InterpreterMonitor {
+public:
+ virtual void beforeTakingTransition(uscxml::Interpreter interpreter, const Arabica::DOM::Element<std::string>& transition, bool moreComing);
+ virtual void beforeExecutingContent(Interpreter interpreter, const Arabica::DOM::Element<std::string>& element);
+ virtual void onStableConfiguration(uscxml::Interpreter interpreter);
+ virtual void beforeProcessingEvent(uscxml::Interpreter interpreter, const uscxml::Event& event);
+ virtual void beforeExitingState(uscxml::Interpreter interpreter, const Arabica::DOM::Element<std::string>& state, bool moreComing);
+ virtual void beforeEnteringState(uscxml::Interpreter interpreter, const Arabica::DOM::Element<std::string>& state, bool moreComing);
+
+protected:
+ void printNodeSet(const Arabica::XPath::NodeSet<std::string>& config);
+ Arabica::XPath::NodeSet<std::string> exitingStates;
+ Arabica::XPath::NodeSet<std::string> enteringStates;
+};
+
}
#endif