X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConfig%2FConfig_ModuleReader.cpp;fp=src%2FConfig%2FConfig_ModuleReader.cpp;h=67b4ee990d1c4c77fa670541ba093130f80e18f1;hb=8cb8790aab830dd91f7d6d3a549e5590c7c22d42;hp=168983a5eb2d7a28c7c1f0bb2848f69a41c6c6d9;hpb=6f413bb23953c5456860d5d673822782335d2a36;p=modules%2Fshaper.git diff --git a/src/Config/Config_ModuleReader.cpp b/src/Config/Config_ModuleReader.cpp index 168983a5e..67b4ee990 100644 --- a/src/Config/Config_ModuleReader.cpp +++ b/src/Config/Config_ModuleReader.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -102,6 +103,13 @@ void Config_ModuleReader::processNode(xmlNodePtr theNode) std::string aPluginLibrary = getProperty(theNode, PLUGIN_LIBRARY); std::string aPluginScript = getProperty(theNode, PLUGIN_SCRIPT); std::string aPluginName = addPlugin(aPluginLibrary, aPluginScript, aPluginConf); + std::string aUsesPlugin = getProperty(theNode, PLUGIN_USES); + if (!aUsesPlugin.empty()) { // send information about hte plugin dependencies + std::shared_ptr aMess(new Config_PluginMessage( + Events_Loop::loop()->eventByName(Config_PluginMessage::EVENT_ID()), aPluginName)); + aMess->setUses(aUsesPlugin); + Events_Loop::loop()->send(aMess); + } std::list aFeatures = importPlugin(aPluginName, aPluginConf); std::list::iterator it = aFeatures.begin(); @@ -167,6 +175,12 @@ std::string Config_ModuleReader::addPlugin(const std::string& aPluginLibrary, void Config_ModuleReader::loadPlugin(const std::string& thePluginName) { + // informs model that plugin loading is started + static const Events_ID kEVENT_ID = + Events_Loop::loop()->eventByName(Config_PluginMessage::EVENT_ID()); + std::shared_ptr aMess(new Config_PluginMessage(kEVENT_ID, thePluginName)); + Events_Loop::loop()->send(aMess); + PluginType aType = Config_ModuleReader::Binary; if(myPluginTypes.find(thePluginName) != myPluginTypes.end()) { aType = myPluginTypes.at(thePluginName);