Salome HOME
This commit was generated by cvs2git to create tag 'V1_4_0b2'.
[modules/kernel.git] / src / DataTypeCatalog / SALOME_DataTypeCatalog_Server.cxx
index 95c4ce6a1fb1e47842998e0ce8e1a79de28d1fbf..a29401c51644720df8528bf20b2c7be0343efd8e 100644 (file)
 //  Module : SALOME
 //  $Header$
 
-using namespace std;
 #include <iostream.h>
 #include "SALOME_NamingService.hxx"
 #include "SALOME_DataTypeCatalog_impl.hxx"
 #include "utilities.h"
-# include "Utils_SINGLETON.hxx"
+#include "Utils_SINGLETON.hxx"
+using namespace std;
+
 int main(int argc,char **argv)
 {
-  try {
-  CosNaming::NamingContext_var _rootContext, catalogContext;
-  // initialize the ORB
-  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 DATA_TYPE_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; 
+  try 
+    {
+      CosNaming::NamingContext_var _rootContext, catalogContext;
+      // initialize the ORB
+      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;
+      int DATA_TYPE_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");
-      if (!CORBA::is_nil(theObj))
-       inc = CosNaming::NamingContext::_narrow(theObj);}
-    catch( CORBA::COMM_FAILURE& )
-      {
-       MESSAGE( "Data Type Catalog: CORBA::COMM_FAILURE: Unable to contact the Naming Service" )
-         }
-    if(!CORBA::is_nil(inc)) {
-      MESSAGE( "Data Type Catalog: 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( "Data Type Catalog: Logger Server wasn't found" ) }
-           catch(...){ MESSAGE( "Data Type Catalog: Unknown exception" ) }
-           if (!CORBA::is_nil(object))
-             log = SALOME_Logger::Logger::_narrow(object);
-           if (!CORBA::is_nil(log)){
-             MESSAGE( "Data Type Catalog: Logger Server was found" )
-               log->ping();
-             DATA_TYPE_CATALOG=1;
-                 break;
+      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");
+             if (!CORBA::is_nil(theObj))
+               inc = CosNaming::NamingContext::_narrow(theObj);}
+         catch( CORBA::COMM_FAILURE& )
+           {
+             MESSAGE( "Data Type Catalog: CORBA::COMM_FAILURE: Unable to contact the Naming Service" );
            }
+         if(!CORBA::is_nil(inc))
+           {
+             MESSAGE( "Data Type Catalog: 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( "Data Type Catalog: Logger Server wasn't found" );
+                       }
+                     catch(...)
+                       {
+                         MESSAGE( "Data Type Catalog: Unknown exception" );
+                       }
+                     if (!CORBA::is_nil(object))
+                       {
+                         MESSAGE( "Data Type Catalog: Logger Server was found" );
+                         DATA_TYPE_CATALOG=1;
+                         break;
+                       }
            
-         }}
-    }
-    if ((DATA_TYPE_CATALOG==1)||((EnvL==0)&&(!CORBA::is_nil(inc))))
-      break;
+                   }
+               }
            }
+         if ((DATA_TYPE_CATALOG==1)||((EnvL==0)&&(!CORBA::is_nil(inc))))
+           break;
+       }
 
-  //
-  // Active catalog
+      // Active catalog
 
-  SALOME_DataTypeCatalogImpl* Catalogue_i = new SALOME_DataTypeCatalogImpl(argc, argv);
-  poa->activate_object (Catalogue_i);
+      SALOME_DataTypeCatalogImpl* Catalogue_i = new SALOME_DataTypeCatalogImpl(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/DataTypeCatalog");
+      // initialise Naming Service
+      SALOME_NamingService *_NS;
+      _NS = new SALOME_NamingService(orb);
+      // register Catalog in Naming Service
+      _NS->Register(myCata ,"/Kernel/DataTypeCatalog");
 
-  MESSAGE("Running DataType Catalog Server.")
+      MESSAGE("Running DataType Catalog Server.")
 
-  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;
 }