diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-06-18 11:55:39 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-06-18 11:55:39 (GMT) |
commit | 0e0be07906a720ae54e4572d6ac0cb657424550d (patch) | |
tree | 7d48c87a9142a5dad06570ca4daf0212475d83f1 /src/uscxml/interpreter/InterpreterImpl.h | |
parent | 84bbbd42c3480c40c0355c64899f99f8d588d5c0 (diff) | |
download | uscxml-0e0be07906a720ae54e4572d6ac0cb657424550d.zip uscxml-0e0be07906a720ae54e4572d6ac0cb657424550d.tar.gz uscxml-0e0be07906a720ae54e4572d6ac0cb657424550d.tar.bz2 |
Started to port Debugger and issue 87
Diffstat (limited to 'src/uscxml/interpreter/InterpreterImpl.h')
-rw-r--r-- | src/uscxml/interpreter/InterpreterImpl.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/uscxml/interpreter/InterpreterImpl.h b/src/uscxml/interpreter/InterpreterImpl.h index be33306..6d047ec 100644 --- a/src/uscxml/interpreter/InterpreterImpl.h +++ b/src/uscxml/interpreter/InterpreterImpl.h @@ -97,10 +97,14 @@ public: return _microStepper.getConfiguration(); } - void setMonitor(InterpreterMonitor* monitor) { - _monitor = monitor; + void addMonitor(InterpreterMonitor* monitor) { + _monitors.insert(monitor); } + void removeMonitor(InterpreterMonitor* monitor) { + _monitors.erase(monitor); + } + /** MicrostepCallbacks */ @@ -132,8 +136,8 @@ public: _execContent.uninvoke(invoke); } - virtual InterpreterMonitor* getMonitor() { - return _monitor; + virtual std::set<InterpreterMonitor*> getMonitors() { + return _monitors; } /** @@ -255,7 +259,9 @@ protected: friend class InterpreterIssue; friend class TransformerImpl; friend class USCXMLInvoker; - friend class SCXMLIOProcessor; + friend class SCXMLIOProcessor; + friend class DebugSession; + friend class Debugger; X _xmlPrefix; X _xmlNS; @@ -280,7 +286,7 @@ protected: std::map<std::string, IOProcessor> _ioProcs; std::map<std::string, Invoker> _invokers; std::set<std::string> _autoForwarders; - InterpreterMonitor* _monitor; + std::set<InterpreterMonitor*> _monitors; private: void setupDOM(); |