From: PASCALE NOYRET Date: Wed, 19 Jan 2022 09:45:23 +0000 (+0100) Subject: integration modif occ pour ssl X-Git-Tag: V9_9_0a2~2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=a1d084ea728ff5cf10948a7ed1ccb9f9c844789d;p=modules%2Feficas.git integration modif occ pour ssl --- diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index 0983e125..d15f955e 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -37,4 +37,5 @@ SET(EFICAS_RESOURCES_FILES INSTALL(FILES ${EFICAS_RESOURCES_FILES} DESTINATION ${SALOME_EFICAS_INSTALL_RES_DATA}) SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml INSTALL ${SALOME_EFICAS_INSTALL_RES_DATA}) +SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/SalomeAppSL.xml INSTALL ${SALOME_EFICAS_INSTALL_RES_DATA}) SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/EFICASCatalog.xml.in ${CMAKE_CURRENT_BINARY_DIR}/EFICASCatalog.xml INSTALL ${SALOME_EFICAS_INSTALL_RES_DATA}) diff --git a/src/EFICAS/CMakeLists.txt b/src/EFICAS/CMakeLists.txt index f9393c87..5f9a5279 100644 --- a/src/EFICAS/CMakeLists.txt +++ b/src/EFICAS/CMakeLists.txt @@ -22,6 +22,7 @@ # scripts / static SET(_bin_SCRIPTS EFICAS.py + EFICAS_SalomeSessionless.py ) # --- rules --- diff --git a/src/EFICAS/EFICAS.py b/src/EFICAS/EFICAS.py index 967973f6..dfbb3b89 100644 --- a/src/EFICAS/EFICAS.py +++ b/src/EFICAS/EFICAS.py @@ -21,6 +21,7 @@ import EFICAS_ORB__POA import SALOMEDS__POA import SALOME_ComponentPy +import SALOME_Embedded_NamingService_ClientPy class SALOME_DriverPy_i(SALOMEDS__POA.Driver): """ @@ -85,4 +86,11 @@ class EFICAS(EFICAS_ORB__POA.EFICAS_Gen, SALOME_DriverPy_i.__init__( self, 'OTHER' ) # On stocke dans l'attribut _naming_service, une reference sur # le Naming Service CORBA - self._naming_service=SALOME_ComponentPy.SALOME_NamingServicePy_i(self._orb) + # + emb_ns = self._contId.get_embedded_NS_if_ssl() + import CORBA + if CORBA.is_nil(emb_ns): + self._naming_service = SALOME_ComponentPy.SALOME_NamingServicePy_i( self._orb ) + else: + self._naming_service = SALOME_Embedded_NamingService_ClientPy.SALOME_Embedded_NamingService_ClientPy(emb_ns) + # diff --git a/src/EFICAS/EFICAS_SalomeSessionless.py b/src/EFICAS/EFICAS_SalomeSessionless.py new file mode 100644 index 00000000..818289bf --- /dev/null +++ b/src/EFICAS/EFICAS_SalomeSessionless.py @@ -0,0 +1,49 @@ +# -*- coding: iso-8859-1 -*- +# Copyright (C) 2021 CEA/DEN, EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +def buildInstance(orb): + from EFICAS import EFICAS + + # set SSL mode, if not done yes + import KernelBasis + KernelBasis.setSSLMode(True) + + # check if EFICAS is already registered + import KernelServices + try: + return KernelServices.RetrieveCompo("EFICAS"), orb + except Exception: + pass + + # initialize and register EFICAS engine + import PortableServer + obj = orb.resolve_initial_references("RootPOA") + poa = obj._narrow(PortableServer.POA) + pman = poa._get_the_POAManager() + pman.activate() + # + from SALOME_ContainerPy import SALOME_ContainerPy_SSL_i + cont = SALOME_ContainerPy_SSL_i(orb, poa, "FactoryServer") + conObj = poa.id_to_reference(poa.activate_object(cont)) + # + servant = EFICAS(orb, poa, conObj, "FactoryServer", "EFICAS_inst_1", "EFICAS") + ret = servant.getCorbaRef() + KernelServices.RegisterCompo("EFICAS", ret) + return ret, orb