X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FAdditionComponent%2FAdditionComponent_Impl.hxx;h=a560a676a4b50c523c02714c65beff20b0139682;hb=refs%2Ftags%2FV9_13_0b1;hp=b6f2f11c203892477a2b49bfb50a4216ed833726;hpb=fa4921e38b41b2776d718ccb1d86cb234c011e34;p=samples%2Fcomponent.git diff --git a/src/AdditionComponent/AdditionComponent_Impl.hxx b/src/AdditionComponent/AdditionComponent_Impl.hxx index b6f2f11..a560a67 100644 --- a/src/AdditionComponent/AdditionComponent_Impl.hxx +++ b/src/AdditionComponent/AdditionComponent_Impl.hxx @@ -1,52 +1,56 @@ -// SuperVisionTest AdditionComponent : example of component that adds two numbers +// Copyright (C) 2007-2024 CEA, EDF, 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 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// 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.hxx // Author : Jean Rahuel, CEA // Module : SuperVisionTest // $Header: - +// #ifndef _ADDITIONINTERFACE_IMPL_HXX_ #define _ADDITIONINTERFACE_IMPL_HXX_ -//#include +#include "AdditionComponent.hxx" #include #include CORBA_SERVER_HEADER(AdditionComponent) #include CORBA_SERVER_HEADER(SALOME_Component) #include "SALOME_Component_i.hxx" -class AdditionInterface_Impl : public POA_AdditionComponent::AdditionInterface , - public Engines_Component_i { -public: +class Adder_Impl; + +class ADDITIONCOMPONENTENGINE_EXPORT AdditionInterface_Impl : public POA_AdditionComponent::AdditionInterface , + public Engines_Component_i { +protected: AdditionInterface_Impl() ; AdditionInterface_Impl( CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, PortableServer::ObjectId * contId, const char *instanceName, - const char *interfaceName); - + const char *interfaceName, bool withRegistry); +public: virtual ~AdditionInterface_Impl(); + virtual char* getVersion(); + virtual CORBA::Double Add( CORBA::Double x , CORBA::Double y , CORBA::Double & z ) ; virtual CORBA::Double AddWithoutSleep( CORBA::Double x , CORBA::Double y , CORBA::Double & z ) ; @@ -71,6 +75,9 @@ public: AdditionComponent::AdditionInterface_out RetAdditionInterface1 , AdditionComponent::AdditionInterface_out RetAdder2 , AdditionComponent::AdditionInterface_out RetAdder3 ) ; +private: + + Adder_Impl *BuildNewAdderImplObj(); private: @@ -80,7 +87,28 @@ private: }; +class ADDITIONCOMPONENTENGINE_EXPORT AdditionInterface_Impl_SSL : public AdditionInterface_Impl +{ +public: + AdditionInterface_Impl_SSL( CORBA::ORB_ptr orb, + PortableServer::POA_ptr poa, + PortableServer::ObjectId * contId, + const char *instanceName, + const char *interfaceName):AdditionInterface_Impl(orb,poa,contId,instanceName,interfaceName,false) { } +}; + +class ADDITIONCOMPONENTENGINE_EXPORT AdditionInterface_Impl_No_SSL : public AdditionInterface_Impl +{ +public: + AdditionInterface_Impl_No_SSL( CORBA::ORB_ptr orb, + PortableServer::POA_ptr poa, + PortableServer::ObjectId * contId, + const char *instanceName, + const char *interfaceName):AdditionInterface_Impl(orb,poa,contId,instanceName,interfaceName,true) { } +}; + extern "C" + ADDITIONCOMPONENTENGINE_EXPORT PortableServer::ObjectId * AdditionInterfaceEngine_factory ( CORBA::ORB_ptr orb , PortableServer::POA_ptr poa ,