diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-12-26 22:29:22 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-12-26 22:29:22 (GMT) |
commit | 42437db418574f2a80d098e568b9498a21343800 (patch) | |
tree | 291c1983d8ad14b97be19fda7f3601b9d83c2031 /src/uscxml/Interpreter.h | |
parent | 330576fcb4d97504e0d6951067b753499d91b541 (diff) | |
download | uscxml-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.h | 16 |
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 |