Salome HOME
Remove StandaloneLifecyle to reduce code divergence between SSL and classical. It...
[modules/kernel.git] / src / LifeCycleCORBA / SALOME_LifeCycleCORBA.cxx
index 08223ade7cec6f02c61e67296d59eb984d7a01f1..d8e39f3efd4bdc1f3f01e3c56d6ddc7e6a6180b2 100644 (file)
@@ -37,6 +37,7 @@
 #endif
 
 #include "Basics_Utils.hxx"
+#include "OpUtil.hxx"
 #include "utilities.h"
 
 #include <ServiceUnreachable.hxx>
@@ -86,12 +87,9 @@ SALOME_LifeCycleCORBA::SALOME_LifeCycleCORBA(SALOME_NamingService_Abstract *ns)
 {
   // be sure to have an instance of traceCollector, when used via SWIG
   // in a Python module
-  int argc = 0;
-  char *xargv = (char*)"";
-  char **argv = &xargv;
-  CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
+  CORBA::ORB_var orb = KERNEL::GetRefToORB();
   //  LocalTraceCollector *myThreadTrace = SALOMETraceCollector::instance(orb);
-  _NSnew=0;
+  _NSnew = nullptr;
   if (!ns)
     {
       _NS = new SALOME_NamingService(orb);
@@ -561,10 +559,7 @@ void SALOME_LifeCycleCORBA::shutdownServers(bool shutdownLauncher)
     }
 
   // 7) Logger
-  int argc = 0;
-  char *xargv = (char*)"";
-  char **argv = &xargv;
-  CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
+  CORBA::ORB_var orb = KERNEL::GetRefToORB();
 
   CORBA::Object_var objLog = CORBA::Object::_nil();
   CosNaming::NamingContext_var inc;
@@ -842,3 +837,10 @@ CORBA::ORB_ptr SALOME_LifeCycleCORBA::orb()
     THROW_SALOME_EXCEPTION("SALOME_LifeCycleCORBA::orb : not a CORBA SALOME_NamingService ");
   return NSC->orb();
 }
+
+#include "SALOME_Fake_NamingService.hxx"
+
+SALOME_LifeCycleCORBASSL::SALOME_LifeCycleCORBASSL():SALOME_LifeCycleCORBA(new SALOME_Fake_NamingService)
+{
+  _NSnew = _NS;//give to SALOME_LifeCycleCORBA owenership of _NS
+}