Salome HOME
Fast SSL porting for testbase
[samples/component.git] / src / SIGNALSComponent / SIGNALSComponent_Impl.cxx
index 1559a096cfe0d35c4fd94fb5e560a3c9f461933e..e21402abdbabc1d56a795976b70661d94311e98d 100644 (file)
@@ -43,8 +43,8 @@ SIGNALSComponent_Impl::SIGNALSComponent_Impl( CORBA::ORB_ptr orb,
                                    PortableServer::POA_ptr poa,
                                    PortableServer::ObjectId * contId, 
                                    const char *instanceName,
-                                    const char *interfaceName) :
-  Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true)
+                                    const char *interfaceName, bool withRegistry) :
+  Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,withRegistry)
 {
   MESSAGE("SIGNALSComponent_Impl::SIGNALSComponent_Impl activate object instanceName("
           << instanceName << ") interfaceName(" << interfaceName << ")" )
@@ -151,8 +151,17 @@ extern "C"
   {
     MESSAGE("SIGNALSComponentEngine_factory SIGNALSComponent_Impl("
             << instanceName << "," << interfaceName << ")");
-    SIGNALSComponent_Impl * mySIGNALSComponent 
-      = new SIGNALSComponent_Impl(orb, poa, contId, instanceName, interfaceName);
+    SIGNALSComponent_Impl * mySIGNALSComponent = nullptr;
+    CORBA::Object_var o = poa->id_to_reference(*contId);
+    Engines::Container_var cont = Engines::Container::_narrow(o);    
+    if(cont->is_SSL_mode())
+    {
+      mySIGNALSComponent = new SIGNALSComponentEngine_SSL(orb, poa, contId, instanceName, interfaceName);
+    }
+    else
+    {
+      mySIGNALSComponent = new SIGNALSComponentEngine_No_SSL(orb, poa, contId, instanceName, interfaceName);
+    }
     return mySIGNALSComponent->getId() ;
   }
 }