summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Interpreter.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-31 11:31:14 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-07-31 11:31:14 (GMT)
commiteab5c12b2a1b9cfee94e8d0cbe41fb5d78594bb5 (patch)
treeda32c5d07f126a6a0c8de42009f13c170198adaa /src/uscxml/Interpreter.h
parent6bf9b12de158cb5fc6c94ab41b84c27968ea9340 (diff)
downloaduscxml-eab5c12b2a1b9cfee94e8d0cbe41fb5d78594bb5.zip
uscxml-eab5c12b2a1b9cfee94e8d0cbe41fb5d78594bb5.tar.gz
uscxml-eab5c12b2a1b9cfee94e8d0cbe41fb5d78594bb5.tar.bz2
More adhoc extensions for interpreters
Diffstat (limited to 'src/uscxml/Interpreter.h')
-rw-r--r--src/uscxml/Interpreter.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/uscxml/Interpreter.h b/src/uscxml/Interpreter.h
index 8a2b282..dc889e3 100644
--- a/src/uscxml/Interpreter.h
+++ b/src/uscxml/Interpreter.h
@@ -364,7 +364,7 @@ public:
nameIter++;
}
}
-
+
const std::map<std::string, IOProcessor>& getIOProcessors() {
return _ioProcessors;
}
@@ -377,6 +377,13 @@ public:
return _dataModel;
}
+ void setInvoker(const std::string& invokeId, Invoker invoker) {
+ _dontDestructOnUninvoke.insert(invokeId);
+ _invokers[invokeId] = invoker;
+ _invokers[invokeId].setInterpreter(this);
+ _invokers[invokeId].setInvokeId(invokeId);
+ }
+
const std::map<std::string, Invoker>& getInvokers() {
return _invokers;
}
@@ -466,7 +473,8 @@ protected:
bool _isInitialized;
bool _domIsSetup;
bool _userSuppliedDataModel;
-
+ std::set<std::string> _dontDestructOnUninvoke;
+
bool _isStarted;
bool _isRunning;
@@ -657,6 +665,9 @@ public:
return _impl->getIOProcessors();
}
+ void setInvoker(const std::string& invokeId, Invoker invoker) {
+ _impl->setInvoker(invokeId, invoker);
+ }
const std::map<std::string, Invoker>& getInvokers() {
return _impl->getInvokers();
}