diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-05-23 14:14:56 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2014-05-23 14:14:56 (GMT) |
commit | 4ecca617e628e94845dafafbdee46ce57f7bc843 (patch) | |
tree | 9113189a54068dd7916bcc377e0d1ff92fc1806b /src/uscxml/Factory.h | |
parent | 3709f5aa6bc3f458078b9e2b9ded67b75bbbcce4 (diff) | |
download | uscxml-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.h | 13 |
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; }; |