-// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
*/
//=============================================================================
-SALOME_LifeCycleCORBA::SALOME_LifeCycleCORBA(SALOME_NamingService *ns)
+SALOME_LifeCycleCORBA::SALOME_LifeCycleCORBA(SALOME_NamingService_Abstract *ns)
{
// be sure to have an instance of traceCollector, when used via SWIG
// in a Python module
// not enough: set a current directory in naming service is not thread safe
// if naming service instance is shared among several threads...
// ==> always use absolute path and don't rely on current directory!
-
- CORBA::Object_var obj =
- _NS->Resolve(SALOME_ContainerManager::_ContainerManagerNameInNS);
- if (CORBA::is_nil(obj))
- throw SALOME_Exception("Error: Cannot resolve ContainerManager in Naming Service");
- _ContManager=Engines::ContainerManager::_narrow(obj);
-
- obj = _NS->Resolve(SALOME_ResourcesManager::_ResourcesManagerNameInNS);
- if (CORBA::is_nil(obj))
- throw SALOME_Exception("Error: Cannot resolve ResourceManager in Naming Service");
- _ResManager=Engines::ResourcesManager::_narrow(obj);
+ //if( dynamic_cast<SALOME_NamingService *>(_NS) )
+ {
+ CORBA::Object_var obj =
+ _NS->Resolve(SALOME_ContainerManager::_ContainerManagerNameInNS);
+ if (CORBA::is_nil(obj))
+ throw SALOME_Exception("Error: Cannot resolve ContainerManager in Naming Service");
+ _ContManager=Engines::ContainerManager::_narrow(obj);
+
+ obj = _NS->Resolve(SALOME_ResourcesManager::_ResourcesManagerNameInNS);
+ if (CORBA::is_nil(obj))
+ throw SALOME_Exception("Error: Cannot resolve ResourceManager in Naming Service");
+ _ResManager=Engines::ResourcesManager::_narrow(obj);
+ }
}
//=============================================================================
*
* \return the naming service
*/
-SALOME_NamingService * SALOME_LifeCycleCORBA::namingService()
+SALOME_NamingService_Abstract * SALOME_LifeCycleCORBA::namingService()
{
return _NS;
}
*/
CORBA::ORB_ptr SALOME_LifeCycleCORBA::orb()
{
- return _NS->orb();
+ SALOME_NamingService *NSC = dynamic_cast<SALOME_NamingService *>(_NS);
+ if(!_NS)
+ THROW_SALOME_EXCEPTION("SALOME_LifeCycleCORBA::orb : not a CORBA SALOME_NamingService ");
+ return NSC->orb();
}