diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-07-30 20:41:50 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-07-30 20:41:50 (GMT) |
commit | b7a2d38bdcee3bf85a32dea7ac74b144d5ef40fa (patch) | |
tree | bade629bcca6b6a1417cb45be4349a3c27ea0feb /src/uscxml/Interpreter.h | |
parent | afbd0c4463c6f28ec1cd6ea45a68fdbcfcfeae6c (diff) | |
download | uscxml-b7a2d38bdcee3bf85a32dea7ac74b144d5ef40fa.zip uscxml-b7a2d38bdcee3bf85a32dea7ac74b144d5ef40fa.tar.gz uscxml-b7a2d38bdcee3bf85a32dea7ac74b144d5ef40fa.tar.bz2 |
See detailled log
- Forcing Data.Type for Data(String) constructor now, default used to be INTERPRETED.
- setDataModel and addIOProcessor on interpreter now
- fixed a bug with Data(bool) constructor
- various smaller fixes
Diffstat (limited to 'src/uscxml/Interpreter.h')
-rw-r--r-- | src/uscxml/Interpreter.h | 52 |
1 files changed, 39 insertions, 13 deletions
diff --git a/src/uscxml/Interpreter.h b/src/uscxml/Interpreter.h index 4659b13..8a2b282 100644 --- a/src/uscxml/Interpreter.h +++ b/src/uscxml/Interpreter.h @@ -277,10 +277,6 @@ public: return _httpServlet; } - DataModel getDataModel() { - return _dataModel; - } - void setParentQueue(uscxml::concurrency::BlockingQueue<SendRequest>* parentQueue) { _parentQueue = parentQueue; } @@ -356,10 +352,31 @@ public: return _sendQueue; } + void addIOProcessor(IOProcessor ioProc) { + std::list<std::string> names = ioProc.getNames(); + + std::list<std::string>::iterator nameIter = names.begin(); + while(nameIter != names.end()) { + _ioProcessors[*nameIter] = ioProc; + _ioProcessors[*nameIter].setType(names.front()); + _ioProcessors[*nameIter].setInterpreter(this); + + nameIter++; + } + } + const std::map<std::string, IOProcessor>& getIOProcessors() { return _ioProcessors; } + void setDataModel(const DataModel& dataModel) { + _userSuppliedDataModel = true; + _dataModel = dataModel; + } + DataModel getDataModel() { + return _dataModel; + } + const std::map<std::string, Invoker>& getInvokers() { return _invokers; } @@ -407,7 +424,7 @@ public: static std::list<std::string> tokenizeIdRefs(const std::string& idRefs); static std::string spaceNormalize(const std::string& text); - static bool nameMatch(const std::string& transitionEvent, const std::string& event); + static bool nameMatch(const std::string& eventDescs, const std::string& event); Arabica::DOM::Node<std::string> findLCCA(const Arabica::XPath::NodeSet<std::string>& states); virtual Arabica::XPath::NodeSet<std::string> getProperAncestors(const Arabica::DOM::Node<std::string>& s1, const Arabica::DOM::Node<std::string>& s2); @@ -448,6 +465,7 @@ protected: bool _topLevelFinalReached; bool _isInitialized; bool _domIsSetup; + bool _userSuppliedDataModel; bool _isStarted; bool _isRunning; @@ -625,9 +643,25 @@ public: return _impl->getHTTPServlet(); } + void setDataModel(const DataModel& dataModel) { + _impl->setDataModel(dataModel); + } DataModel getDataModel() { return _impl->getDataModel(); } + + void addIOProcessor(IOProcessor ioProc) { + _impl->addIOProcessor(ioProc); + } + const std::map<std::string, IOProcessor>& getIOProcessors() { + return _impl->getIOProcessors(); + } + + const std::map<std::string, Invoker>& getInvokers() { + return _impl->getInvokers(); + } + + void setParentQueue(uscxml::concurrency::BlockingQueue<SendRequest>* parentQueue) { return _impl->setParentQueue(parentQueue); } @@ -700,14 +734,6 @@ public: return _impl->getDelayQueue(); } - const std::map<std::string, IOProcessor>& getIOProcessors() { - return _impl->getIOProcessors(); - } - - const std::map<std::string, Invoker>& getInvokers() { - return _impl->getInvokers(); - } - bool runOnMainThread(int fps, bool blocking = true) { return _impl->runOnMainThread(fps, blocking); } |