Salome HOME
[tuleap26948] : ssl990 V9_9_0a1 V9_9_0a2
authorAnthony Geay <anthony.geay@edf.fr>
Tue, 25 Jan 2022 06:52:58 +0000 (07:52 +0100)
committerAnthony Geay <anthony.geay@edf.fr>
Tue, 25 Jan 2022 06:52:58 +0000 (07:52 +0100)
src/HOMARD_I/HOMARD_Gen_i_Session.cxx

index 96c4a3799715f6c89cf34c3361c35a2f907d7f5f..9c5daa2e76329019bd54480ac0d516f263e19aa2 100644 (file)
@@ -46,6 +46,7 @@ SMESH::SMESH_Gen_var HOMARD_Gen_i_Session::retrieveSMESHInst() const
 }
 
 //=============================================================================
+#include "HOMARD_Gen_i_No_Session.hxx"
 extern "C"
 {
   HOMARDENGINE_EXPORT
@@ -56,7 +57,17 @@ extern "C"
                                                  const char* interfaceName)
   {
     MESSAGE("PortableServer::ObjectId* HOMARDEngine_factory()");
-    HOMARD_Gen_i_Session* myHOMARD_Gen = new HOMARD_Gen_i_Session(orb, poa, contId, instanceName, interfaceName);
-    return myHOMARD_Gen->getId();
+    CORBA::Object_var o = poa->id_to_reference(*contId);
+    Engines::Container_var cont = Engines::Container::_narrow(o);
+    if(cont->is_SSL_mode())
+    {
+      HOMARD_Gen_i_No_Session* myHOMARD_Gen = new HOMARD_Gen_i_No_Session(orb, poa, contId, instanceName, interfaceName);
+      return myHOMARD_Gen->getId();
+    }
+    else
+    {
+      HOMARD_Gen_i_Session* myHOMARD_Gen = new HOMARD_Gen_i_Session(orb, poa, contId, instanceName, interfaceName);
+      return myHOMARD_Gen->getId();
+    }
   }
 }