Salome HOME
Fix compilation pb.
[modules/kernel.git] / src / Registry / SALOME_Registry_Server.cxx
index 9feaf15677f877265300303d31aeb6ddbf065b9b..50e608f31761496658512ad5c913176cd015820c 100644 (file)
@@ -17,7 +17,7 @@
 //  License along with this library; if not, write to the Free Software 
 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
 // 
-//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 //
 //
@@ -26,9 +26,9 @@
 //  Module : SALOME
 //  $Header$
 
-# include <stdlib.h>
-# include <iostream>
-# include <fstream>
+#include <stdlib.h>
+#include <iostream>
+#include <fstream>
 
 extern "C"
 {
@@ -49,13 +49,11 @@ extern "C"
 #endif
 using namespace std;
 
-//#define CHECKTIME
-#ifdef CHECKTIME
-#include <Utils_Timer.hxx>
-#endif
-
 int main( int argc , char **argv )
 {
+  ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
+  CORBA::ORB_var &orb = init( argc , argv ) ;
+  //  LocalTraceCollector *myThreadTrace = SALOMETraceCollector::instance(orb);
   BEGIN_OF( argv[0] )
     INFOS_COMPILATION 
     SCRUTE(argc) 
@@ -78,9 +76,6 @@ int main( int argc , char **argv )
   ASSERT(ptrSessionName) ;
   ASSERT(strlen( ptrSessionName )>0) ;
   const char *registryName = "Registry" ;
-  ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
-  CORBA::ORB_var &orb = init( argc , argv ) ;
-  //
   long TIMESleep = 250000000;
   int NumberOfTries = 40;
   int a;
@@ -109,7 +104,11 @@ int main( int argc , char **argv )
   for (int i = 1; i<=NumberOfTries; i++)
     {
       if (i!=1) 
+#ifndef WNT
        a=nanosleep(&ts_req,&ts_rem);
+#else
+    Sleep(TIMESleep/1000000);
+#endif
       try
        { 
          obj = orb->resolve_initial_references("RootPOA");
@@ -122,9 +121,9 @@ int main( int argc , char **argv )
          if (!CORBA::is_nil(theObj))
            inc = CosNaming::NamingContext::_narrow(theObj);
        }
-      catch( CORBA::COMM_FAILURE& )
+      catch( CORBA::SystemException& )
        {
-         MESSAGE( "Registry Server: CORBA::COMM_FAILURE: Unable to contact the Naming Service" );
+         MESSAGE( "Registry Server: CORBA::SystemException: Unable to contact the Naming Service" );
        }
       if(!CORBA::is_nil(inc))
        {
@@ -134,7 +133,11 @@ int main( int argc , char **argv )
              for(int j=1; j<=NumberOfTries; j++)
                {
                  if (j!=1) 
+#ifndef WNT
                    a=nanosleep(&ts_req, &ts_rem);
+#else
+                       Sleep(TIMESleep/1000000);
+#endif
                  try
                    {
                      object = inc->resolve(name);
@@ -165,6 +168,7 @@ int main( int argc , char **argv )
       naming.init_orb( orb ) ;
       RegistryService *ptrRegistry = SINGLETON_<RegistryService>::Instance() ;
       ptrRegistry->SessionName( ptrSessionName ) ;
+      ptrRegistry->SetOrb(orb);
       varComponents = ptrRegistry->_this() ;
       // The RegistryService must not already exist.
            
@@ -183,15 +187,15 @@ int main( int argc , char **argv )
        }
       string absoluteName = string("/") + registryName;
       naming.Register( varComponents , absoluteName.c_str() ) ;
-      MESSAGE("On attend les requetes des clients") ;
+      MESSAGE("Wait client requests") ;
       try
        {
          // Activation du POA
-         MESSAGE("Activation du POA") ;
+         MESSAGE("POA activation") ;
          manager->activate() ;
                
          // Lancement de l'ORB
-         MESSAGE("Lancement de l'ORB") ;
+         MESSAGE("ORB launching") ;
 #ifdef CHECKTIME
          Utils_Timer timer;
          timer.Start();
@@ -203,7 +207,7 @@ int main( int argc , char **argv )
        }
       catch( const CORBA::Exception &ex )
        {
-         MESSAGE("Erreur systeme") ;
+         MESSAGE("System error") ;
          return EXIT_FAILURE ;
        }
            
@@ -215,5 +219,6 @@ int main( int argc , char **argv )
     }
        
   END_OF( argv[0] ) ;
+  //  delete myThreadTrace;
   return 0 ;
 }