Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / Config / Config_ModuleReader.h
index 33567bdd27aa495af8caad59436d0c9ba8a0fbed..3bd5d39f3f75c8289f5566e5fc44ec8bfc1e553f 100644 (file)
@@ -8,10 +8,11 @@
 #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>
 
 
@@ -19,25 +20,27 @@ class Config_ModuleReader: public Config_XMLReader
 {
 
 public:
-  CONFIG_EXPORT Config_ModuleReader();
+  CONFIG_EXPORT Config_ModuleReader(const char* theEventGenerated = 0);
   CONFIG_EXPORT virtual ~Config_ModuleReader();
 
-  CONFIG_EXPORT void setAutoImport(bool enabled);
-  CONFIG_EXPORT const std::map<std::string, std::string>& plugins() const;
+  CONFIG_EXPORT const std::map<std::string, std::string>& featuresInFiles() const;
 
   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;
 
 };