-// 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
return aStudy;
}
+#include "GEOM_Gen_No_Session_i.hh"
+
extern "C"
{
GEOM_I_EXPORT PortableServer::ObjectId* GEOMEngine_factory(CORBA::ORB_ptr orb,
const char* instanceName,
const char* interfaceName)
{
- GEOM_Gen_Session_i* myGEOM_Gen_i = new GEOM_Gen_Session_i(orb, poa, contId, instanceName, interfaceName);
- return myGEOM_Gen_i->getId();
+ CORBA::Object_var o = poa->id_to_reference(*contId);
+ Engines::Container_var cont = Engines::Container::_narrow(o);
+ if(cont->is_SSL_mode())
+ {
+ GEOM_Gen_No_Session_i* myGEOM_Gen_i = new GEOM_Gen_No_Session_i(orb, poa, contId, instanceName, interfaceName);
+ return myGEOM_Gen_i->getId();
+ }
+ else
+ {
+ GEOM_Gen_Session_i* myGEOM_Gen_i = new GEOM_Gen_Session_i(orb, poa, contId, instanceName, interfaceName);
+ return myGEOM_Gen_i->getId();
+ }
}
}