summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/Factory.cpp
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2017-01-23 16:58:06 (GMT)
committerStefan Radomski <github@mintwerk.de>2017-01-23 16:58:06 (GMT)
commit69247ac083836cfae493e0d220c5faf3818c0bf9 (patch)
treea63e584f7d3731ccaccb6ce02f844ea2b46f4cb9 /src/uscxml/plugins/Factory.cpp
parentef66cbbaf07bd1ac661f9a9622dcdaf6851ca6ba (diff)
downloaduscxml-69247ac083836cfae493e0d220c5faf3818c0bf9.zip
uscxml-69247ac083836cfae493e0d220c5faf3818c0bf9.tar.gz
uscxml-69247ac083836cfae493e0d220c5faf3818c0bf9.tar.bz2
Introduced InvokerCallbacks
Diffstat (limited to 'src/uscxml/plugins/Factory.cpp')
-rw-r--r--src/uscxml/plugins/Factory.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/uscxml/plugins/Factory.cpp b/src/uscxml/plugins/Factory.cpp
index 60e7a3e..b4120a1 100644
--- a/src/uscxml/plugins/Factory.cpp
+++ b/src/uscxml/plugins/Factory.cpp
@@ -24,6 +24,17 @@
#include "uscxml/Interpreter.h"
#include "uscxml/interpreter/Logging.h"
+#include "uscxml/plugins/ExecutableContent.h"
+#include "uscxml/plugins/EventHandler.h"
+#include "uscxml/plugins/IOProcessor.h"
+#include "uscxml/plugins/IOProcessorImpl.h"
+#include "uscxml/plugins/Invoker.h"
+#include "uscxml/plugins/DataModelImpl.h"
+
+#include "uscxml/interpreter/ContentExecutorImpl.h"
+#include "uscxml/interpreter/EventQueueImpl.h"
+#include "uscxml/interpreter/MicrostepImpl.h"
+
#include "uscxml/plugins/ExecutableContentImpl.h"
// see http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system
@@ -289,20 +300,20 @@ bool Factory::hasInvoker(const std::string& type) {
return false;
}
-std::shared_ptr<InvokerImpl> Factory::createInvoker(const std::string& type, InterpreterImpl* interpreter) {
+std::shared_ptr<InvokerImpl> Factory::createInvoker(const std::string& type, InvokerCallbacks* callbacks) {
// do we have this type ourself?
if (_invokerAliases.find(type) != _invokerAliases.end()) {
std::string canonicalName = _invokerAliases[type];
if (_invokers.find(canonicalName) != _invokers.end()) {
- std::shared_ptr<InvokerImpl> invoker = _invokers[canonicalName]->create(interpreter);
+ std::shared_ptr<InvokerImpl> invoker = _invokers[canonicalName]->create(callbacks);
return invoker;
}
}
// lookup in parent factory
if (_parentFactory) {
- return _parentFactory->createInvoker(type, interpreter);
+ return _parentFactory->createInvoker(type, callbacks);
} else {
ERROR_EXECUTION_THROW("No Invoker named '" + type + "' known");
}