From: Viktor UZLOV Date: Thu, 11 Nov 2021 10:32:22 +0000 (+0300) Subject: Corrections X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=97a93a6885f4867aebde432a8c8b1aeede4cd575;p=modules%2Feficas.git Corrections --- 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_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