Salome HOME
Implementation of SALOME_ContainerPy_SSL_i in Python for Python module users in SSL...
authorAnthony Geay <anthony.geay@edf.fr>
Fri, 30 Jul 2021 13:48:25 +0000 (15:48 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Fri, 30 Jul 2021 13:48:25 +0000 (15:48 +0200)
src/Container/SALOME_ContainerPy.py
src/NamingService/CMakeLists.txt
src/NamingService/SALOME_Embedded_NamingService.py [new file with mode: 0644]

index cbe887ff97a26a40a6875304a48a5b62f2635945..da96635bd4b5bc2f41e642059b1ed7630fb9c6ba 100755 (executable)
@@ -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)
index b875c88531688637de2475d066a4c2dfd7ef2789..aaf866e81caa65131a6229ce72c9667f693810d1 100644 (file)
@@ -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 (file)
index 0000000..dfe8bd9
--- /dev/null
@@ -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()
+
+
+