Salome HOME
bos #26460 Add SSL mode
[samples/atomsolv.git] / src / ATOMSOLVGUI / ATOMSOLVGUI.cxx
index fa0cefaf518a7a8192d072aa837675edea4d128d..3206e8f48a3c6a9b44e183cad40f9e558f2644dd 100644 (file)
@@ -22,6 +22,7 @@
 #include "ATOMSOLVGUI_Displayer.h"
 #include "ATOMSOLVGUI_Selection.h"
 #include "ATOMSOLVGUI_TransparencyDlg.h"
+#include "ATOMSOLV_Component_Generator.hxx"
 
 #include <ATOMSOLV_version.h>
 
@@ -36,6 +37,9 @@
 #include <SalomeApp_Application.h>
 #include <SalomeApp_Study.h>
 
+#include "SALOME_NamingService_Abstract.hxx"
+#include "SALOME_KernelServices.hxx"
+
 #include <LightApp_DataOwner.h>
 #include <LightApp_SelectionMgr.h>
 #include <LightApp_Preferences.h>
@@ -72,7 +76,18 @@ void ATOMSOLVGUI::InitATOMSOLVGen( SalomeApp_Application* app )
   if ( !app )
     myEngine = ATOMSOLV_ORB::ATOMSOLV_Gen::_nil();
   else {
-    Engines::EngineComponent_var comp = app->lcc()->FindOrLoad_Component( "FactoryServer", "ATOMSOLV" );
+    SALOME_NamingService_Abstract *ns = SalomeApp_Application::namingService();
+    Engines::EngineComponent_var comp;
+    if(ns->IsTrueNS())
+    {
+      comp = app->lcc()->FindOrLoad_Component( "FactoryServer", "ATOMSOLV" );
+    }
+    else
+    {
+      comp = RetrieveATOMSOLVInstance();
+      CORBA::Object_var comp2 = CORBA::Object::_narrow(comp);
+      KERNEL::RegisterCompo("ATOMSOLV",comp2);
+    }
     ATOMSOLV_ORB::ATOMSOLV_Gen_ptr atomGen = ATOMSOLV_ORB::ATOMSOLV_Gen::_narrow(comp);
     ASSERT( !CORBA::is_nil( atomGen ) );
     myEngine = atomGen;
@@ -256,7 +271,7 @@ void ATOMSOLVGUI::OnRetrieveData()
   ATOMSOLV_ORB::ATOMSOLV_Gen_var engine = GetATOMSOLVGen();
   SalomeApp_Application* app = getApp();
   if ( !CORBA::is_nil( engine ) && app ) {
-    Engines::EngineComponent_var comp = app->lcc()->FindOrLoad_Component( "FactoryServerPy","ATOMGEN" );
+    Engines::EngineComponent_var comp = app->lcc()->FindOrLoad_Component( "FactoryServer","ATOMGEN" );
     ATOMGEN_ORB::ATOMGEN_Gen_var atomGen = ATOMGEN_ORB::ATOMGEN_Gen::_narrow( comp );
     SalomeApp_Study* appStudy = dynamic_cast<SalomeApp_Study*>( app->activeStudy() );
     if ( !CORBA::is_nil( atomGen ) && appStudy ) {