Salome HOME
This commit was generated by cvs2git to create tag 'V1_4_0b1'.
[modules/kernel.git] / src / ModuleCatalog / SALOME_ModuleCatalog_Server.cxx
index c76af7d3ce49ed82ed149129f61f7aed3ce4f76d..c206cc8463dcb7b18facf19dc7c41a7447ea5fb2 100644 (file)
 //  File   : SALOME_ModuleCatalog_Server.cxx
 //  Module : SALOME
 
-using namespace std;
 /* $Header$ */
+
 #include <iostream.h>
 #include "SALOME_NamingService.hxx"
 #include "SALOME_ModuleCatalog_impl.hxx"
 #include "utilities.h"
-# include "Utils_SINGLETON.hxx"
+#include "Utils_SINGLETON.hxx"
 
-//#define CHECKTIME
 #ifdef CHECKTIME
 #include <Utils_Timer.hxx>
 #endif
+using namespace std;
 
 int main(int argc,char **argv)
 {
-  try {
-  CosNaming::NamingContext_var _rootContext, catalogContext;
+  try 
+    {
+      CosNaming::NamingContext_var _rootContext, catalogContext;
 
-  // initialize the ORB
+      // initialize the ORB
 
-  CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv);
+      CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv);
 
-  // initialize POA
-  //
-   long TIMESleep = 250000000;
-   int NumberOfTries = 40;
-   int a;
-   timespec ts_req;
-   ts_req.tv_nsec=TIMESleep;
-   ts_req.tv_sec=0;
-   timespec ts_rem;
-   ts_rem.tv_nsec=0;
-   ts_rem.tv_sec=0;
-   CosNaming::NamingContext_var inc;
-   PortableServer::POA_var poa;
-   CORBA::Object_var theObj;
-   CORBA::Object_var obj;
-   CORBA::Object_var object;
-   SALOME_Logger::Logger_var log;
-   int MODULE_CATALOG=0;
-   const char * Env = getenv("USE_LOGGER");
-   int EnvL =0;
-   if ((Env!=NULL) && (strlen(Env)))
-     EnvL=1;
-   CosNaming::Name name;
-   name.length(1);
-   name[0].id=CORBA::string_dup("Logger");    
-   PortableServer::POAManager_var mgr; 
-   for (int i = 1; i<=NumberOfTries; i++){
-     if (i!=1) 
-       a=nanosleep(&ts_req,&ts_rem);
-     try{ 
-       obj = orb->resolve_initial_references("RootPOA");
-       if(!CORBA::is_nil(obj))
-        poa = PortableServer::POA::_narrow(obj);
-       if(!CORBA::is_nil(poa))
-           mgr = poa->the_POAManager();
-       if(!CORBA::is_nil(orb)) 
-        theObj = orb->resolve_initial_references("NameService"); 
-     }
-     catch( CORBA::COMM_FAILURE& )
-       {
-        MESSAGE( "Module Catalog Server: CORBA::COMM_FAILURE: Unable to contact the Naming Service" )
-          }
-     if (!CORBA::is_nil(theObj)){
-       inc = CosNaming::NamingContext::_narrow(theObj);
-       if(!CORBA::is_nil(inc)) {
-        MESSAGE( "Module Catalog Server: Naming Service was found" )
-        if(EnvL==1){
-          CORBA::ORB_var orb1 = CORBA::ORB_init(argc,argv) ;
-          SALOME_NamingService &NS = *SINGLETON_<SALOME_NamingService>::Instance() ;
-          NS.init_orb( orb1 ) ;
-          for(int j=1; j<=NumberOfTries; j++){
-            if (j!=1) 
-              a=nanosleep(&ts_req, &ts_rem);
-            try{
-              object = inc->resolve(name);}
-            catch(CosNaming::NamingContext::NotFound){ MESSAGE( "Logger Server wasn't found" ) }
-            catch(...){ MESSAGE( "Module Catalog Server: Unknown exception" ) }
-            if (!CORBA::is_nil(object))
-              log = SALOME_Logger::Logger::_narrow(object);
-            if (!CORBA::is_nil(log)){
-              MESSAGE( "Module Catalog Server: Logger Server was found" )
-              log->ping();
-              MODULE_CATALOG=1;
-              break;
-            }
-                }}
-       }}
-     if ((MODULE_CATALOG==1)||((EnvL==0)&&(!CORBA::is_nil(inc))))
-       break;
-        }
+      // initialize POA
+      //
+      long TIMESleep = 250000000;
+      int NumberOfTries = 40;
+      int a;
+      timespec ts_req;
+      ts_req.tv_nsec=TIMESleep;
+      ts_req.tv_sec=0;
+      timespec ts_rem;
+      ts_rem.tv_nsec=0;
+      ts_rem.tv_sec=0;
+      CosNaming::NamingContext_var inc;
+      PortableServer::POA_var poa;
+      CORBA::Object_var theObj;
+      CORBA::Object_var obj;
+      CORBA::Object_var object;
+      int MODULE_CATALOG=0;
+      const char * Env = getenv("USE_LOGGER");
+      int EnvL =0;
+      if ((Env!=NULL) && (strlen(Env)))
+       EnvL=1;
+      CosNaming::Name name;
+      name.length(1);
+      name[0].id=CORBA::string_dup("Logger");    
+      PortableServer::POAManager_var mgr; 
+      for (int i = 1; i<=NumberOfTries; i++)
+       {
+         if (i!=1) 
+           a=nanosleep(&ts_req,&ts_rem);
+         try
+           { 
+             obj = orb->resolve_initial_references("RootPOA");
+             if(!CORBA::is_nil(obj))
+               poa = PortableServer::POA::_narrow(obj);
+             if(!CORBA::is_nil(poa))
+               mgr = poa->the_POAManager();
+             if(!CORBA::is_nil(orb)) 
+               theObj = orb->resolve_initial_references("NameService"); 
+           }
+         catch( CORBA::COMM_FAILURE& )
+           {
+             MESSAGE( "Module Catalog Server: CORBA::COMM_FAILURE: Unable to contact the Naming Service" );
+           }
+         if (!CORBA::is_nil(theObj))
+           {
+             inc = CosNaming::NamingContext::_narrow(theObj);
+             if(!CORBA::is_nil(inc))
+               {
+                 MESSAGE( "Module Catalog Server: Naming Service was found" );
+                 if(EnvL==1)
+                   {
+                     CORBA::ORB_var orb1 = CORBA::ORB_init(argc,argv) ;
+                     SALOME_NamingService &NS = *SINGLETON_<SALOME_NamingService>::Instance() ;
+                     NS.init_orb( orb1 ) ;
+                     for(int j=1; j<=NumberOfTries; j++)
+                       {
+                         if (j!=1) 
+                           a=nanosleep(&ts_req, &ts_rem);
+                         try{
+                           object = inc->resolve(name);}
+                         catch(CosNaming::NamingContext::NotFound)
+                           {
+                             MESSAGE( "Logger Server wasn't found" );
+                           }
+                         catch(...)
+                           {
+                             MESSAGE( "Module Catalog Server: Unknown exception" ) ;
+                           }
+                         if (!CORBA::is_nil(object))
+                           {
+                             MESSAGE( "Module Catalog Server: Logger Server was found" );
+                             MODULE_CATALOG=1;
+                             break;
+                           }
+                       }
+                   }
+               }
+           }
+         if ((MODULE_CATALOG==1)||((EnvL==0)&&(!CORBA::is_nil(inc))))
+           break;
+       }
   
-   //
-  // Active catalog
+      // Active catalog
 
-  SALOME_ModuleCatalogImpl* Catalogue_i = new SALOME_ModuleCatalogImpl(argc, argv);
-  poa->activate_object (Catalogue_i);
+      SALOME_ModuleCatalogImpl* Catalogue_i = new SALOME_ModuleCatalogImpl(argc, argv);
+      poa->activate_object (Catalogue_i);
 
-  mgr->activate();
+      mgr->activate();
 
   
-  CORBA::Object_ptr myCata = Catalogue_i->_this();
+      CORBA::Object_ptr myCata = Catalogue_i->_this();
 
-  // initialise Naming Service
-  SALOME_NamingService *_NS;
-  _NS = new SALOME_NamingService(orb);
-  // register Catalog in Naming Service
-  _NS->Register(myCata ,"/Kernel/ModulCatalog");
+      // initialise Naming Service
+      SALOME_NamingService *_NS;
+      _NS = new SALOME_NamingService(orb);
+      // register Catalog in Naming Service
+      _NS->Register(myCata ,"/Kernel/ModulCatalog");
 
-  MESSAGE("Running CatalogServer.");
+      MESSAGE("Running CatalogServer.");
 
 #ifdef CHECKTIME
-  Utils_Timer timer;
-  timer.Start();
-  timer.Stop();
-  MESSAGE("SALOME_Registry_Server.cxx - orb->run()");
-  timer.ShowAbsolute();
+      Utils_Timer timer;
+      timer.Start();
+      timer.Stop();
+      MESSAGE("SALOME_Registry_Server.cxx - orb->run()");
+      timer.ShowAbsolute();
 #endif
-  orb->run();
+      orb->run();
  
-  poa->destroy(1,1);
+      poa->destroy(1,1);
  
-  }
-    catch(CORBA::SystemException&) {
+    }
+  catch(CORBA::SystemException&) {
     INFOS("Caught CORBA::SystemException.")
-  }
-    catch(CORBA::Exception&) {
+      }
+  catch(CORBA::Exception&) {
     INFOS("Caught CORBA::Exception.")
-  }
+      }
 
   return 0;
 }