Salome HOME
Improve a little message readibility
[modules/kernel.git] / src / NamingService / NamingService.i
index 08b58d9967bb02af0f1a00b7612a76ff5b94ee63..308588a3fbf22d35cca8c1850ece109a049428d7 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2021  CEA/DEN, EDF R&D
+// Copyright (C) 2021-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -68,6 +68,8 @@ public:
   std::vector< std::string > repr();
   static std::string GetLogContainersFile();
   static void FlushLogContainersFile();
+  void Destroy_Name(const char* Path);
+  void Destroy_FullDirectory(const char* Path);
   %extend {
     static void SetLogContainersFileInternal(const std::string& logFileName)
     {
@@ -86,6 +88,13 @@ public:
       CORBA::Object_var obj = orb->string_to_object(ior);
       self->Register(obj,Path);
     }
+    std::string _Resolve_DirInternal(const char *Path)
+    {
+      CORBA::ORB_ptr orb = KERNEL::getORB();
+      CORBA::Object_var ret = self->Resolve(Path);
+      CORBA::String_var ior = orb->object_to_string(ret);
+      return std::string(ior.in());
+    }
     static std::string IOROfNS()
     {
       CORBA::ORB_ptr orb = KERNEL::getORB();
@@ -106,8 +115,14 @@ def NamingService_Register(self,obj,Path):
   import CORBA
   orb=CORBA.ORB_init([''])
   self._RegisterInternal( orb.object_to_string(obj) , Path)
+def NamingService_Resolve_Dir(self,Path):
+  ret = self._Resolve_DirInternal( Path )
+  import CORBA
+  orb=CORBA.ORB_init([''])
+  return orb.string_to_object(ret)
 NamingService.Resolve = NamingService_Resolve
 NamingService.Register = NamingService_Register
+NamingService.Resolve_Dir = NamingService_Resolve_Dir
 def NamingService_SetLogContainersFile(cls,logFileName = None):
   if logFileName is None:
     import tempfile
@@ -122,6 +137,19 @@ def NamingService_RefOfNS(cls):
   orb=CORBA.ORB_init([''])
   return orb.string_to_object(ret)
 NamingService.RefOfNS = classmethod(NamingService_RefOfNS)
+def NamingService_DumpIORInFile(cls,iorFileName):
+  with open( iorFileName, "w" ) as f:
+    f.write( cls.IOROfNS() )
+NamingService.DumpIORInFile = classmethod(NamingService_DumpIORInFile)
+def NamingService_LoadIORInFile(cls,iorFileName):
+  import Engines
+  import CORBA
+  orb=CORBA.ORB_init([''])
+  with open( iorFileName ) as f:
+    ior = f.read()
+  ref = orb.string_to_object(ior)
+  return ref
+NamingService.LoadIORInFile = classmethod( NamingService_LoadIORInFile )
 def NamingService_KillContainersInFile(cls,logFileName):
   import Engines
   import CORBA