]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Study is OK
authorAnthony GEAY <anthony.geay@edf.fr>
Fri, 19 Feb 2021 16:38:18 +0000 (17:38 +0100)
committerAnthony GEAY <anthony.geay@edf.fr>
Fri, 19 Feb 2021 16:38:18 +0000 (17:38 +0100)
src/Session/Session_NS_wrapper.cxx
src/Session/Session_NS_wrapper.hxx
src/Session/Session_ServerThread.cxx

index e55f9c24ce4a59ead94a6268952eb1ada993f840..0c2f25bbe2a1e9a16c17ebb4655daad0a9cbbb8b 100644 (file)
@@ -22,6 +22,8 @@
 #include "SALOME_Fake_NamingService.hxx"
 #include "SALOME_Container_i.hxx"
 #include "SALOME_Launcher.hxx"
+#include "SALOMEDSClient_ClientFactory.hxx"
+
 #include "Session_Session_i.hxx"
 #include "Session_Promises.hxx"
 #include "utilities.h"
@@ -167,6 +169,33 @@ void OldStyleNS::activateSession(CORBA::ORB_var orb, PortableServer::POA_var poa
   CommonActivateSession(orb,poa,GUIMutex,GUILauncher,nullptr,argc,argv);
 }
 
+void OldStyleNS::activateSALOMEDS(CORBA::ORB_var orb, PortableServer::POA_var poa)
+{
+  try {
+    MESSAGE("SALOMEDS thread started");
+    // We allocate the objects on the heap.  Since these are reference
+    // counted objects, they will be deleted by the POA when they are no
+    // longer needed.    
+    
+    ClientFactory::createStudy(orb,poa);
+  }
+  catch(CORBA::SystemException&) {
+    INFOS( "Caught CORBA::SystemException." );
+  }
+  catch(CORBA::Exception&) {
+    INFOS( "Caught CORBA::Exception." );
+  }
+  catch(omniORB::fatalException& fe) {
+    INFOS( "Caught omniORB::fatalException:" );
+    INFOS( "  file: " << fe.file() );
+    INFOS( "  line: " << fe.line() );
+    INFOS( "  mesg: " << fe.errmsg() );
+  }
+  catch(...) {
+    INFOS( "Caught unknown exception." );
+  }
+}
+
 Engines_Container_i *NewStyleNS::activateContainer(CORBA::ORB_var orb, PortableServer::POA_var poa, int argc, char **argv)
 {
   return KERNEL::getContainerSA();
@@ -182,3 +211,8 @@ void NewStyleNS::activateSession(CORBA::ORB_var orb, PortableServer::POA_var poa
   SALOME_Fake_NamingService *ns=new SALOME_Fake_NamingService;
   CommonActivateSession(orb,poa,GUIMutex,GUILauncher,ns,argc,argv);
 }
+
+void NewStyleNS::activateSALOMEDS(CORBA::ORB_var orb, PortableServer::POA_var poa)
+{
+  ClientFactory::createStudyWithoutNS(orb,poa);
+}
index 69636394d493fb94d84c810f9d605a6197a909e7..a0b34e415a027f42e4a62a5ebc0a6a760c3e1b34 100644 (file)
@@ -40,6 +40,7 @@ public:
   Engines_Container_i *activateContainer(CORBA::ORB_var orb, PortableServer::POA_var poa, int argc, char** argv);
   void activateContainerManager(CORBA::ORB_var orb);
   void activateSession(CORBA::ORB_var orb, PortableServer::POA_var poa, QMutex *GUIMutex, QWaitCondition *GUILauncher, int argc, char ** argv);
+  void activateSALOMEDS(CORBA::ORB_var orb, PortableServer::POA_var poa);
 private:
   RealNS _NS;
 };
@@ -58,6 +59,7 @@ public:
   Engines_Container_i *activateContainer(CORBA::ORB_var orb, PortableServer::POA_var poa, int argc, char** argv);
   void activateContainerManager(CORBA::ORB_var orb);
   void activateSession(CORBA::ORB_var orb, PortableServer::POA_var poa, QMutex *GUIMutex, QWaitCondition *GUILauncher, int argc, char ** argv);
+  void activateSALOMEDS(CORBA::ORB_var orb, PortableServer::POA_var poa);
 private:
   RealNS _NS;
 };
index 667a35f4e2ead50316365eff612cf9eba1a97aa2..84eb438fa87f3df157267ebf3707b78b49465761 100644 (file)
@@ -30,7 +30,6 @@
 #include <SALOME_NamingService.hxx>
 #include <SALOME_Container_i.hxx>
 #include <SALOME_Launcher.hxx>
-#include <SALOMEDSClient_ClientFactory.hxx>
 #include <SALOME_ModuleCatalog_impl.hxx>
 #include <RegistryService.hxx>
 
@@ -216,29 +215,7 @@ void Session_ServerThread<MY_NS>::ActivateModuleCatalog(int argc, char ** argv)
 template<class MY_NS>
 void Session_ServerThread<MY_NS>::ActivateSALOMEDS(int /*argc*/, char** /*argv*/)
 {
-  try {
-    MESSAGE("SALOMEDS thread started");
-    // We allocate the objects on the heap.  Since these are reference
-    // counted objects, they will be deleted by the POA when they are no
-    // longer needed.    
-    
-    ClientFactory::createStudy(_orb,_root_poa);
-  }
-  catch(CORBA::SystemException&) {
-    INFOS( "Caught CORBA::SystemException." );
-  }
-  catch(CORBA::Exception&) {
-    INFOS( "Caught CORBA::Exception." );
-  }
-  catch(omniORB::fatalException& fe) {
-    INFOS( "Caught omniORB::fatalException:" );
-    INFOS( "  file: " << fe.file() );
-    INFOS( "  line: " << fe.line() );
-    INFOS( "  mesg: " << fe.errmsg() );
-  }
-  catch(...) {
-    INFOS( "Caught unknown exception." );
-  }
+  this->_NS->activateSALOMEDS(this->_orb,this->_root_poa);
 }
 
 template<class MY_NS>