X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHOMARD_I%2FHOMARD_Gen_i_Session.cxx;fp=src%2FHOMARD_I%2FHOMARD_Gen_i_Session.cxx;h=9c5daa2e76329019bd54480ac0d516f263e19aa2;hb=502159940d1fb13e2eefc79ebe7f214c442f2d3c;hp=96c4a3799715f6c89cf34c3361c35a2f907d7f5f;hpb=27c0c3660dddeceefd68b9cd3770cde26f04427f;p=modules%2Fhomard.git diff --git a/src/HOMARD_I/HOMARD_Gen_i_Session.cxx b/src/HOMARD_I/HOMARD_Gen_i_Session.cxx index 96c4a379..9c5daa2e 100644 --- a/src/HOMARD_I/HOMARD_Gen_i_Session.cxx +++ b/src/HOMARD_I/HOMARD_Gen_i_Session.cxx @@ -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(); + } } }