X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FNamingService%2FNamingService.i;h=308588a3fbf22d35cca8c1850ece109a049428d7;hb=refs%2Fheads%2Fduc%2Fcm_update;hp=08b58d9967bb02af0f1a00b7612a76ff5b94ee63;hpb=888f04cad3e3fa57bf92c96789959fc87bfdd555;p=modules%2Fkernel.git diff --git a/src/NamingService/NamingService.i b/src/NamingService/NamingService.i index 08b58d996..308588a3f 100644 --- a/src/NamingService/NamingService.i +++ b/src/NamingService/NamingService.i @@ -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