#ifndef CONFIG_MODULEREADER_H_
#define CONFIG_MODULEREADER_H_
-#include <Config.h>
+#include <Config_def.h>
#include <Config_XMLReader.h>
#include <map>
+#include <list>
#include <string>
-class CONFIG_EXPORT Config_ModuleReader: public Config_XMLReader
+class Config_ModuleReader: public Config_XMLReader
{
public:
- Config_ModuleReader();
- virtual ~Config_ModuleReader();
+ CONFIG_EXPORT Config_ModuleReader(const char* theEventGenerated = 0);
+ CONFIG_EXPORT virtual ~Config_ModuleReader();
- void setAutoImport(bool enabled);
- const std::map<std::string, std::string>& plugins() const;
+ CONFIG_EXPORT const std::map<std::string, std::string>& featuresInFiles() const;
- std::string getModuleName();
+ CONFIG_EXPORT std::string getModuleName();
+
+ /// loads the library with specific name, appends "lib*.dll" or "*.so" depending on the platform
+ CONFIG_EXPORT static void loadLibrary(const std::string theLibName);
protected:
void processNode(xmlNodePtr aNode);
bool processChildren(xmlNodePtr aNode);
- void importPlugin(const std::string& thePluginName,
- const std::string& thePluginLibrary = "");
+ std::list<std::string> importPlugin(const std::string& thePluginLibrary,
+ const std::string& thePluginFile);
-private:
- bool myIsAutoImport;
- std::map<std::string, std::string> myPluginsMap;
+private:
+ std::map<std::string, std::string> myFeaturesInFiles;
+ const char* myEventGenerated;
};