summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/Factory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/plugins/Factory.h')
-rw-r--r--src/uscxml/plugins/Factory.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/uscxml/plugins/Factory.h b/src/uscxml/plugins/Factory.h
index 9653107..50df6ed 100644
--- a/src/uscxml/plugins/Factory.h
+++ b/src/uscxml/plugins/Factory.h
@@ -22,13 +22,6 @@
#include "uscxml/Common.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 <string.h>
#ifdef BUILD_AS_PLUGINS
@@ -37,12 +30,21 @@
#include <memory>
#include <set>
+#include <map>
+#include <string>
#include <limits>
namespace uscxml {
class InterpreterImpl;
-
+class IOProcessorImpl;
+class IOProcessorCallbacks;
+class DataModelImpl;
+class DataModelCallbacks;
+class InvokerImpl;
+class InvokerCallbacks;
+class ExecutableContentImpl;
+
class USCXML_API Factory {
public:
Factory(Factory* parentFactory);
@@ -51,11 +53,11 @@ public:
void registerIOProcessor(IOProcessorImpl* ioProcessor);
void registerDataModel(DataModelImpl* dataModel);
void registerInvoker(InvokerImpl* invoker);
- void registerExecutableContent(ExecutableContentImpl* executableContent);
+ void registerExecutableContent(ExecutableContentImpl* executableContent);
std::shared_ptr<DataModelImpl> createDataModel(const std::string& type, DataModelCallbacks* callbacks);
std::shared_ptr<IOProcessorImpl> createIOProcessor(const std::string& type, IOProcessorCallbacks* callbacks);
- std::shared_ptr<InvokerImpl> createInvoker(const std::string& type, InterpreterImpl* interpreter);
+ std::shared_ptr<InvokerImpl> createInvoker(const std::string& type, InvokerCallbacks* interpreter);
std::shared_ptr<ExecutableContentImpl> createExecutableContent(const std::string& localName, const std::string& nameSpace, InterpreterImpl* interpreter);
bool hasDataModel(const std::string& type);
@@ -81,6 +83,7 @@ protected:
std::map<std::string, std::string> _invokerAliases;
std::map<std::pair<std::string, std::string>, ExecutableContentImpl*> _executableContent;
+
#ifdef BUILD_AS_PLUGINS
pluma::Pluma pluma;
#endif