From 605c0703703a06ad12c3a15b16bec72947b83e0e Mon Sep 17 00:00:00 2001 From: Anthony Geay Date: Fri, 30 Jul 2021 15:48:25 +0200 Subject: [PATCH] Implementation of SALOME_ContainerPy_SSL_i in Python for Python module users in SSL mode --- src/Container/SALOME_ContainerPy.py | 13 ++++++ src/NamingService/CMakeLists.txt | 1 + .../SALOME_Embedded_NamingService.py | 41 +++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 src/NamingService/SALOME_Embedded_NamingService.py diff --git a/src/Container/SALOME_ContainerPy.py b/src/Container/SALOME_ContainerPy.py index cbe887ff9..da96635bd 100755 --- a/src/Container/SALOME_ContainerPy.py +++ b/src/Container/SALOME_ContainerPy.py @@ -36,6 +36,7 @@ from omniORB import CORBA, PortableServer import SALOMEDS import Engines, Engines__POA from SALOME_NamingServicePy import * +from SALOME_Embedded_NamingService import SALOME_Embedded_NamingService from SALOME_ComponentPy import * from SALOME_utilities import * @@ -317,6 +318,18 @@ class SALOME_ContainerPy_i(SALOME_ContainerPy_Gen_i): pass +class SALOME_ContainerPy_SSL_i(SALOME_ContainerPy_Gen_i): + """ + Implementation with naming_service server + """ + def __init__(self, orb, poa, containerName): + SALOME_ContainerPy_Gen_i.__init__(self, orb, poa, containerName) + naming_service = SALOME_Embedded_NamingService() + self._naming_service = naming_service._this() + + def get_embedded_NS_if_ssl(self): + return self._naming_service + if __name__ == "__main__": # change the stdout buffering to line buffering (same as C++ cout buffering) sys.stdout=os.fdopen(1,"w",1) diff --git a/src/NamingService/CMakeLists.txt b/src/NamingService/CMakeLists.txt index b875c8853..aaf866e81 100644 --- a/src/NamingService/CMakeLists.txt +++ b/src/NamingService/CMakeLists.txt @@ -54,6 +54,7 @@ INSTALL(TARGETS SalomeNS EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_ # Executable scripts to be installed SALOME_INSTALL_SCRIPTS(SALOME_NamingServicePy.py ${SALOME_INSTALL_SCRIPT_PYTHON}) SALOME_INSTALL_SCRIPTS(SALOME_Embedded_NamingService_ClientPy.py ${SALOME_INSTALL_SCRIPT_PYTHON}) +SALOME_INSTALL_SCRIPTS(SALOME_Embedded_NamingService.py ${SALOME_INSTALL_SCRIPT_PYTHON}) FILE(GLOB COMMON_HEADERS_HXX "${CMAKE_CURRENT_SOURCE_DIR}/*.hxx") INSTALL(FILES ${COMMON_HEADERS_HXX} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/NamingService/SALOME_Embedded_NamingService.py b/src/NamingService/SALOME_Embedded_NamingService.py new file mode 100644 index 000000000..dfe8bd9ff --- /dev/null +++ b/src/NamingService/SALOME_Embedded_NamingService.py @@ -0,0 +1,41 @@ +#! /usr/bin/env python3 +# -*- 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 +# + +import Engines__POA + +import NamingService + +class SALOME_Embedded_NamingService(Engines__POA.EmbeddedNamingService): + + def __init__(self): + self._impl = NamingService.NamingService() + pass + + def Register(self, ObjRef, Path): + self._impl._RegisterInternal(ObjRef.decode(),Path) + pass + + def Resolve(self, Path): + ret = self._impl._ResolveInternal(Path) + return ret.encode() + + + -- 2.39.2