X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FContainer%2FComponent_i.cxx;h=7e47c0d6195ca761bfd06f6efeef23446bfcc2a5;hb=3ce0546302001755828c8476425a60c6ab61ac92;hp=84c1251302a537220fe5e8b3488fbd51e397d80a;hpb=873f26bdbabf05d4bd6e5b69a18dee7c91e90558;p=modules%2Fkernel.git diff --git a/src/Container/Component_i.cxx b/src/Container/Component_i.cxx index 84c125130..7e47c0d61 100644 --- a/src/Container/Component_i.cxx +++ b/src/Container/Component_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -31,9 +31,10 @@ #include "SALOME_Container_i.hxx" #include "RegistryConnexion.hxx" #include "Basics_Utils.hxx" +#include "OpUtil.hxx" #include "Utils_SINGLETON.hxx" -#include "Utils_ORB_INIT.hxx" #include "SALOME_NamingService.hxx" +#include "Utils_CorbaException.hxx" #include #ifndef WIN32 @@ -176,11 +177,23 @@ Engines_Component_i::Engines_Component_i(CORBA::ORB_ptr orb, } +CORBA::Boolean Engines_Component_i::isSSLMode() +{ + PortableServer::ServantBase *serv(_poa->reference_to_servant(_container)); + if(!serv) + THROW_SALOME_CORBA_EXCEPTION("_container and component are not managed by the same POA ! Looks bad !", SALOME::INTERNAL_ERROR); + Abstract_Engines_Container_i *elt=dynamic_cast(serv); + if(!elt) + THROW_SALOME_CORBA_EXCEPTION("_container servant object if not a Abstract_Engines_Container_i ! It smells bad !", SALOME::INTERNAL_ERROR); + SALOME_NamingService_Container_Abstract *ns(elt->getNS()); + if(!ns) + THROW_SALOME_CORBA_EXCEPTION("_container servant object points to a nullptr NS ! It smells bad !", SALOME::INTERNAL_ERROR); + return elt->isSSLMode() && (!dynamic_cast(ns)); +} + SALOME_NamingService_Abstract *Engines_Component_i::getNS() { - ORB_INIT &init = *SINGLETON_::Instance() ; - ASSERT(SINGLETON_::IsAlreadyExisting()) ; - CORBA::ORB_var &orb = init( 0 , 0 ) ; + CORBA::ORB_var orb = KERNEL::GetRefToORB(); SALOME_NamingService *naming = SINGLETON_::Instance() ; naming->init_orb( orb ) ;