X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FAdditionComponent%2FAdditionComponent_Impl.cxx;h=adae20cc5cd3a3e4fa4442eafb9ddffadab26b39;hb=refs%2Ftags%2FV8_1_0rc2;hp=8cec8bc712b550389645356501127a970d7fcfa9;hpb=9cd1480aed11ed6149fbd9916918d52b2cd10d56;p=samples%2Fcomponent.git diff --git a/src/AdditionComponent/AdditionComponent_Impl.cxx b/src/AdditionComponent/AdditionComponent_Impl.cxx index 8cec8bc..adae20c 100644 --- a/src/AdditionComponent/AdditionComponent_Impl.cxx +++ b/src/AdditionComponent/AdditionComponent_Impl.cxx @@ -1,31 +1,36 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // -// 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. +// 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, 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 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// You should have received a copy of the GNU Lesser General Public +// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // SuperVisionTest AdditionComponent : example of component that adds two numbers // File : AdditionComponent_Impl.cxx // Author : Jean Rahuel, CEA // Module : SuperVisionTest // #include +#ifndef WIN32 #include +#else +#include +#endif #include #include #include @@ -38,6 +43,7 @@ #include "AdditionComponent_Impl.hxx" #include "Adder_Impl.hxx" +#include "COMPONENT_version.h" using namespace std; @@ -62,6 +68,15 @@ AdditionInterface_Impl::AdditionInterface_Impl() { AdditionInterface_Impl::~AdditionInterface_Impl() { } +char* AdditionInterface_Impl::getVersion() +{ +#if COMPONENT_DEVELOPMENT + return CORBA::string_dup(COMPONENT_VERSION_STR"dev"); +#else + return CORBA::string_dup(COMPONENT_VERSION_STR); +#endif +} + CORBA::Double AdditionInterface_Impl::Add( CORBA::Double x , CORBA::Double y , CORBA::Double & z ) { beginService( " AdditionInterface_Impl::Add" ); z = x + y ; @@ -70,11 +85,14 @@ CORBA::Double AdditionInterface_Impl::Add( CORBA::Double x , CORBA::Double y , C sendMessage(NOTIF_STEP, "AdditionInterface_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 ) ; } - MESSAGE( "AdditionInterface_Impl::Add( " << x << " , " << y << " , " << z - << " ) returns " << (x - y) << " after " << S << " seconds" ) +#else + Sleep(S*1000); +#endif + MESSAGE( "AdditionInterface_Impl::Add( " << x << " , " << y << " , " << z << " ) returns " << (x - y) << " after " << S << " seconds" ) LastAddition = z ; endService( " AdditionInterface_Impl::Add" ); return (x - y) ; @@ -104,25 +122,37 @@ CORBA::Long AdditionInterface_Impl::Sigma( CORBA::Long n ) { void AdditionInterface_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 AdditionInterface_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 AdditionInterface_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; @@ -130,9 +160,13 @@ CORBA::Double AdditionInterface_Impl::Addxy() { CORBA::Double AdditionInterface_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; @@ -238,8 +272,13 @@ extern "C" const char *instanceName, const char *interfaceName) { +#ifndef WIN32 MESSAGE("AdditionComponentEngine_factory AdditionInterfaceEngine (" << instanceName << "," << interfaceName << "," << getpid() << ")"); +#else + MESSAGE("AdditionComponentEngine_factory AdditionInterfaceEngine (" + << instanceName << "," << interfaceName << "," << _getpid() << ")"); +#endif AdditionInterface_Impl * myAdditionInterface = new AdditionInterface_Impl(orb, poa, contId, instanceName, interfaceName); return myAdditionInterface->getId() ;