Salome HOME
Save/Load manages HPContainers.
[modules/yacs.git] / src / yacsloader / serverParsers.hxx
index 3a3cdd0014d49cf4539af27f963b7ee5b1316fc4..11b65a1abedf278350f8ee17b1afce11407e5300 100644 (file)
@@ -68,10 +68,18 @@ struct servertypeParser:public inlinetypeParser<T>
     {
       DEBTRACE( "server_loadcontainer: " << name )             
       this->_node=(YACS::ENGINE::ServerNode*)theRuntime->createFuncNode("DistPython",this->_name);
-      YACS::ENGINE::Container *cont=currentProc->createContainer(this->_node->getEffectiveKindOfServer());
-      cont->setName(name);
-      this->_node->setContainer(cont);
-      cont->decrRef();
+      std::map<std::string,YACS::ENGINE::Container *>::const_iterator it(currentProc->containerMap.find(name));
+      if(it!=currentProc->containerMap.end())
+        {
+          this->_node->setContainer((*it).second);
+        }
+      else
+        {
+          YACS::ENGINE::Container *cont=currentProc->createContainer(this->_node->getEffectiveKindOfServer());
+          cont->setName(name);
+          this->_node->setContainer(cont);
+          cont->decrRef();
+        }
     }
   virtual void script (const myfunc& f)
   {