Salome HOME
Copyright update 2020
[samples/component.git] / src / AddComponent / AddComponent_Impl.cxx
index e28904133886794ea34989813f8a2572410e9514..ceedd4cdbeda020e155f5a6082a9cd88ee3b4be1 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 //  Module : SuperVisionTest
 //
 #include <stdio.h>
+#ifndef WIN32
 #include <unistd.h>
+#else
+#include <process.h>
+#endif
 #include <fstream>
 #include <sstream>
 #include <string>
@@ -81,9 +85,13 @@ CORBA::Double AddComponent_Impl::Add( CORBA::Double x , CORBA::Double y , CORBA:
   sendMessage(NOTIF_STEP, "AddComponent_Impl::Add is Computing");
 //  S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
   S = 5 ;
+#ifndef WIN32
   while ( S ) {
-    S = sleep(S);
+    S = sleep( S ) ;
   }
+#else
+  Sleep(S*1000);
+#endif
   MESSAGE( "AddComponent_Impl::Add( " <<  x << " , " << y << " , " << z
        << " ) returns " << (x - y) << " after " << S << " seconds" )
   LastAddition = z ;
@@ -115,25 +123,37 @@ CORBA::Long AddComponent_Impl::Sigma( CORBA::Long n ) {
 
 void AddComponent_Impl::Setx( CORBA::Double x ) {
   int S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
+#ifndef WIN32
   while ( S ) {
-    S = sleep(S);
+    S = sleep( S ) ;
   }
+#else
+  Sleep(S*1000);
+#endif
   xx = x ;
 }
 
 void AddComponent_Impl::Sety( CORBA::Double y ) {
   int S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
+#ifndef WIN32
   while ( S ) {
-    S = sleep(S);
+    S = sleep( S ) ;
   }
+#else
+  Sleep(S*1000);
+#endif
   yy = y ;
 }
 
 CORBA::Double AddComponent_Impl::Addxy() {
   int S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
+#ifndef WIN32
   while ( S ) {
-    S = sleep(S);
+    S = sleep( S ) ;
   }
+#else
+  Sleep(S*1000);
+#endif
   double zz = xx + yy ;
   LastAddition = zz ;
   return zz;
@@ -141,9 +161,13 @@ CORBA::Double AddComponent_Impl::Addxy() {
 
 CORBA::Double AddComponent_Impl::AddyTox( CORBA::Double y ) {
   int S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
+#ifndef WIN32
   while ( S ) {
-    S = sleep(S);
+    S = sleep( S ) ;
   }
+#else
+  Sleep(S*1000);
+#endif
   double zz = xx + y ;
   LastAddition = zz ;
   return zz;
@@ -249,8 +273,13 @@ extern "C"
       const char *instanceName,
       const char *interfaceName)
   {
+#ifndef WIN32
     MESSAGE("AddComponentEngine_factory AddComponentEngine ("
             << instanceName << "," << interfaceName << "," << getpid() << ")");
+#else 
+    MESSAGE("AddComponentEngine_factory AddComponentEngine ("
+            << instanceName << "," << interfaceName << "," << _getpid() << ")");
+#endif
     AddComponent_Impl * myAddComponent 
       = new AddComponent_Impl(orb, poa, contId, instanceName, interfaceName);
     return myAddComponent->getId() ;