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=2e906996a242ec97e993e0d15151cfab5106738d;hpb=c599ae6a6f28dbab7e4e7d131419eddf30e23b0a;p=samples%2Fcomponent.git diff --git a/src/AdditionComponent/AdditionComponent_Impl.cxx b/src/AdditionComponent/AdditionComponent_Impl.cxx index 2e90699..adae20c 100644 --- a/src/AdditionComponent/AdditionComponent_Impl.cxx +++ b/src/AdditionComponent/AdditionComponent_Impl.cxx @@ -1,32 +1,36 @@ -// SuperVisionTest AdditionComponent : example of component that adds two numbers +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 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 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 -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// 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, 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. // +// 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 +// + +// 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 @@ -39,6 +43,7 @@ #include "AdditionComponent_Impl.hxx" #include "Adder_Impl.hxx" +#include "COMPONENT_version.h" using namespace std; @@ -63,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 ; @@ -71,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) ; @@ -105,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; @@ -131,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; @@ -239,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() ;