summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Factory.h
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-05-23 14:14:56 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-05-23 14:14:56 (GMT)
commit4ecca617e628e94845dafafbdee46ce57f7bc843 (patch)
tree9113189a54068dd7916bcc377e0d1ff92fc1806b /src/uscxml/Factory.h
parent3709f5aa6bc3f458078b9e2b9ded67b75bbbcce4 (diff)
downloaduscxml-4ecca617e628e94845dafafbdee46ce57f7bc843.zip
uscxml-4ecca617e628e94845dafafbdee46ce57f7bc843.tar.gz
uscxml-4ecca617e628e94845dafafbdee46ce57f7bc843.tar.bz2
Builds as plugins again
Diffstat (limited to 'src/uscxml/Factory.h')
-rw-r--r--src/uscxml/Factory.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/uscxml/Factory.h b/src/uscxml/Factory.h
index 02ce6b8..3a3080a 100644
--- a/src/uscxml/Factory.h
+++ b/src/uscxml/Factory.h
@@ -23,6 +23,7 @@
#include "uscxml/Common.h"
#include "uscxml/Message.h"
#include "uscxml/Convenience.h"
+#include <string.h>
#ifdef BUILD_AS_PLUGINS
#include "Pluma/Pluma.hpp"
@@ -438,6 +439,7 @@ protected:
class USCXML_API Factory {
public:
Factory(Factory* parentFactory);
+ Factory(const std::string& pluginPath, Factory* parentFactory);
void registerIOProcessor(IOProcessorImpl* ioProcessor);
void registerDataModel(DataModelImpl* dataModel);
@@ -453,6 +455,9 @@ public:
static Factory* getInstance();
+ static void setDefaultPluginPath(const std::string& path);
+ static std::string getDefaultPluginPath();
+
std::map<std::string, DataModelImpl*> _dataModels;
std::map<std::string, std::string> _dataModelAliases;
std::map<std::string, IOProcessorImpl*> _ioProcessors;
@@ -461,17 +466,19 @@ public:
std::map<std::string, std::string> _invokerAliases;
std::map<std::pair<std::string, std::string>, ExecutableContentImpl*> _executableContent;
- static std::string pluginPath;
-
protected:
#ifdef BUILD_AS_PLUGINS
pluma::Pluma pluma;
#endif
- Factory();
+ void registerPlugins();
+
+ Factory(const std::string&);
~Factory();
Factory* _parentFactory;
+ std::string _pluginPath;
static Factory* _instance;
+ static std::string _defaultPluginPath;
};