]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Detection du mode emedded dans SMESH -> Utilisation de SMESH::IsEmbedded -> Reperage... agy/smesh_to_mc
authorAnthony Geay <anthony.geay@edf.fr>
Wed, 28 Apr 2021 15:18:30 +0000 (17:18 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Wed, 28 Apr 2021 15:18:30 +0000 (17:18 +0200)
src/Container/Component_i.cxx
src/Container/SALOME_Component_i.hxx
src/Registry/RegistryConnexion.cxx
src/Registry/RegistryConnexion.hxx

index 879329b2a2f67b555c4dfb8fa2555660027bda36..84c1251302a537220fe5e8b3488fbd51e397d80a 100644 (file)
 #include "SALOME_Container_i.hxx"
 #include "RegistryConnexion.hxx"
 #include "Basics_Utils.hxx"
-#include <stdio.h>
+#include "Utils_SINGLETON.hxx"
+#include "Utils_ORB_INIT.hxx"
+#include "SALOME_NamingService.hxx"
+
+#include <cstdio>
 #ifndef WIN32
 #include <dlfcn.h>
 #endif
@@ -115,8 +119,8 @@ Engines_Component_i::Engines_Component_i(CORBA::ORB_ptr orb,
   if(regist)
     {
       const CORBA::String_var ior = _orb->object_to_string(o);
-      _myConnexionToRegistry = new RegistryConnexion(0, 0, ior,"theSession",
-                                                     _instanceName.c_str());
+      _myConnexionToRegistry = new RegistryConnexion(ior,"theSession",
+                                                     _instanceName.c_str(), getNS());
     }
 
   if(notif)
@@ -165,13 +169,23 @@ Engines_Component_i::Engines_Component_i(CORBA::ORB_ptr orb,
   const CORBA::String_var ior = _orb->object_to_string(_container);
   if(regist)
   {
-    _myConnexionToRegistry = new RegistryConnexion(0, 0, ior,"theSession", _instanceName.c_str());
+    _myConnexionToRegistry = new RegistryConnexion(ior,"theSession", _instanceName.c_str(),getNS());
   }
   if(notif)
     _notifSupplier = new NOTIFICATION_Supplier(instanceName, notif);
 
 }
 
+SALOME_NamingService_Abstract *Engines_Component_i::getNS()
+{
+  ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
+  ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting()) ;
+  CORBA::ORB_var &orb = init( 0 , 0 ) ;
+
+  SALOME_NamingService *naming = SINGLETON_<SALOME_NamingService>::Instance() ;
+  naming->init_orb( orb ) ;
+  return naming;
+}
 
 //=============================================================================
 /*!
index 47f8d2e7ff71a88d4a66daf19729f36dd0ca1933..beac21100e2fbf65c95439d1bf41d17513dbe1de 100644 (file)
@@ -48,6 +48,7 @@
 
 class RegistryConnexion;
 class Engines_Container_i;
+class SALOME_NamingService_Abstract;
 
 class CONTAINER_EXPORT Engines_Component_i:
   public virtual POA_Engines::EngineComponent,
@@ -144,6 +145,10 @@ public:
   virtual void configureSalome_file(std::string service_name,
                                     std::string file_port_name,
                                     Salome_file_i * file);
+                          
+protected:
+
+  SALOME_NamingService_Abstract *getNS();
 
 protected:
   static bool _isMultiInstance;
index a08a0ac0fa43800fcebd53536832ec1414ef4eec..c3896b7535ebd38fada8d9db658d7aa725bcf413 100644 (file)
 //  Module : SALOME
 //  $Header$
 //
-# include "Utils_ORB_INIT.hxx"
 # include "RegistryConnexion.hxx"
 # include "SALOME_NamingService.hxx"
 # include "Utils_Identity.hxx"
-# include "Utils_SINGLETON.hxx"
 # include "Utils_CommException.hxx"
 # include "OpUtil.hxx"
 # include "utilities.h"
 
-extern "C"
-{
-# include <stdio.h>
-}
+# include <cstdio>
 
-Registry::Components_var Connexion( int argc , char **argv , const char */*ptrSessionName*/ )
+Registry::Components_var Connexion(SALOME_NamingService_Abstract *naming)
 {
         Registry::Components_var varComponents = 0 ;
         const char *registryName = "Registry" ;
 
         try
         {
-                ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
-                ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting()) ;
-                CORBA::ORB_var &orb = init( argc , argv ) ;
-        
-                SALOME_NamingService &naming = *SINGLETON_<SALOME_NamingService>::Instance() ;
-                ASSERT(SINGLETON_<SALOME_NamingService>::IsAlreadyExisting()) ;
-                naming.init_orb( orb ) ;
-
                 // Recuperation de la reference de l'objet
-                CORBA::Object_var object = naming.Resolve( registryName ) ;
+                CORBA::Object_var object = naming->Resolve( registryName ) ;
                 if(CORBA::is_nil(object)) throw CommException( "unable to find the RegistryService" ) ;
 
                 // Specialisation de l'objet generique
@@ -71,8 +58,8 @@ Registry::Components_var Connexion( int argc , char **argv , const char */*ptrSe
 }
 
 
-RegistryConnexion::RegistryConnexion( int argc , char **argv , const char *ior , const char *ptrSessionName, const char *componentName ): \
-        _Ior(duplicate(ior)), _VarComponents( Connexion(argc,argv,ptrSessionName) ), _SessionName(ptrSessionName),_Name(""), _Id(0)
+RegistryConnexion::RegistryConnexion(const char *ior , const char *ptrSessionName, const char *componentName, SALOME_NamingService_Abstract *ns ): \
+        _Ior(duplicate(ior)), _VarComponents( Connexion(ns) ), _SessionName(ptrSessionName),_Name(""), _Id(0)
 {
         this->add( componentName ) ;
 }
index 356dfb193b43262f4c5048eca2a74069aa33e279..0b843299c6da48349f1c86b595bf5d2a88a378de 100644 (file)
@@ -39,6 +39,8 @@
 #include CORBA_CLIENT_HEADER(SALOME_Registry)
 #include <string>
 
+class SALOME_NamingService_Abstract;
+
 class REGISTRY_EXPORT RegistryConnexion
 {
 protected :
@@ -52,7 +54,8 @@ protected :
         RegistryConnexion( void );
 
 public :
-        RegistryConnexion( int argc , char **argv , const char *ior , const char *ptrSessionName, const char *componentName );
+        RegistryConnexion( const char *ior , const char *ptrSessionName, const char *componentName,
+        SALOME_NamingService_Abstract *ns );
         ~RegistryConnexion();
 } ;