diff options
author | Stefan Radomski <github@mintwerk.de> | 2017-01-23 16:58:06 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2017-01-23 16:58:06 (GMT) |
commit | 69247ac083836cfae493e0d220c5faf3818c0bf9 (patch) | |
tree | a63e584f7d3731ccaccb6ce02f844ea2b46f4cb9 /src/uscxml/plugins/Factory.cpp | |
parent | ef66cbbaf07bd1ac661f9a9622dcdaf6851ca6ba (diff) | |
download | uscxml-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.cpp | 17 |
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"); } |