Salome HOME
Copyright update 2021
[samples/component.git] / src / SyrComponent / SyrComponent_Impl.hxx
old mode 100755 (executable)
new mode 100644 (file)
index e4291df..72a90bd
@@ -1,42 +1,52 @@
-//  SuperVisionTest SyrComponent : example of component performing some mathinatical operations
+// Copyright (C) 2007-2021  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  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 SyrComponent : example of component performing some mathinatical operations
 //  File   : SyrComponent_Impl.hxx
 //  Author : Jean Rahuel, CEA
 //  Module : SuperVisionTest
 //  $Header:
-
+//
 #ifndef _SYRCOMPONENT_IMPL_HXX_
 #define _SYRCOMPONENT_IMPL_HXX_
 
+#ifdef WIN32
+# if defined SYRCOMPONENTENGINE_EXPORTS || defined SyrComponentEngine_EXPORTS                                                   
+#  define SYRCOMPONENTENGINE_EXPORT __declspec( dllexport )
+# else
+#  define SYRCOMPONENTENGINE_EXPORT __declspec( dllimport )
+# endif
+#else
+# define SYRCOMPONENTENGINE_EXPORT
+#endif
+
 //#include <iostream.h>
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SyrComponent)
 #include CORBA_SERVER_HEADER(SALOME_Component)
 #include "SALOME_Component_i.hxx"
 
-class SyrComponent_Impl :  public POA_SuperVisionTest::SyrComponent ,
-                           public Engines_Component_i {
+class SYRCOMPONENTENGINE_EXPORT SyrComponent_Impl : public POA_SuperVisionTest::SyrComponent,
+                                                      public Engines_Component_i {
 public:
   SyrComponent_Impl() ;
   SyrComponent_Impl( CORBA::ORB_ptr orb ,
@@ -48,38 +58,45 @@ public:
 
   virtual ~SyrComponent_Impl();
 
-  virtual long C_ISEVEN( const long anInteger ) ;
+  virtual char* getVersion();
+
+  virtual CORBA::Long C_ISEVEN( CORBA::Long anInteger ) ;
+
+  virtual CORBA::Long C_ISONE( CORBA::Long anOddInteger ) ;
 
-  virtual long C_ISONE( const long anOddInteger ) ;
+  virtual CORBA::Long C_M3( CORBA::Long anOddInteger ) ;
 
-  virtual long C_M3( const long anOddInteger ) ;
+  virtual CORBA::Long C_M3P1( CORBA::Long anOddInteger ) ;
 
-  virtual long C_M3P1( const long anOddInteger ) ;
+  virtual CORBA::Long C_DIV2( CORBA::Long anEvenInteger ) ;
 
-  virtual long C_DIV2( const long anEvenInteger ) ;
+  virtual CORBA::Long C_INCR( CORBA::Long aCount ) ;
 
-  virtual long C_INCR( const long aCount ) ;
+  virtual void CPP_SETLONG( CORBA::Long aLong ) ;
 
-  virtual long C_MIN( const long aMinVal , const long anInteger ) ;
+  virtual CORBA::Long CPP_ADDTOLONG( CORBA::Long anIncr ) ;
 
-  virtual long C_MAX( const long aMaxVal , const long anInteger ) ;
+  virtual CORBA::Long C_MIN( CORBA::Long aMinVal , CORBA::Long anInteger ) ;
+
+  virtual CORBA::Long C_MAX( CORBA::Long aMaxVal , CORBA::Long anInteger ) ;
 
   virtual SuperVisionTest::ListOfSyr_ptr C_LISTOFSYR() ;
 
   virtual SuperVisionTest::ListOfSyr_ptr C_AVERAGE(
-                       const SuperVisionTest::ListOfSyr_ptr aListOfSyr ,
-                       const long anInteger ,
-                       const long aCount ,
-                       double & anAverage ) ;
+                       SuperVisionTest::ListOfSyr_ptr aListOfSyr ,
+                       CORBA::Long anInteger ,
+                       CORBA::Long aCount ,
+                       CORBA::Double & anAverage ) ;
 
-  virtual SuperVisionTest::Syr_ptr Init( const long anOddInteger ) ;
+  virtual SuperVisionTest::Syr_ptr Init( CORBA::Long anOddInteger ) ;
 
 private:
 
+  long _Count ;
 };
 
-class ListOfSyr_Impl :  public POA_SuperVisionTest::ListOfSyr ,
-                        public Engines_Component_i {
+class SYRCOMPONENTENGINE_EXPORT ListOfSyr_Impl :  public POA_SuperVisionTest::ListOfSyr ,
+                                                   public Engines_Component_i {
 public:
   ListOfSyr_Impl( CORBA::ORB_ptr orb ,
                  PortableServer::POA_ptr poa ,
@@ -91,6 +108,8 @@ public:
   ListOfSyr_Impl() ;
   virtual ~ListOfSyr_Impl();
 
+  virtual char* getVersion();
+
   virtual SuperVisionTest::SeqOfSyr * GetSeqOfSyr() ;
 
   virtual void SetSeqOfSyr( const SuperVisionTest::SeqOfSyr & ) ;
@@ -101,6 +120,7 @@ private:
 };
 
 extern "C"
+  SYRCOMPONENTENGINE_EXPORT
   PortableServer::ObjectId * SyrComponentEngine_factory
                                    ( CORBA::ORB_ptr orb ,
                                      PortableServer::POA_ptr poa , 
@@ -108,8 +128,8 @@ extern "C"
                                      const char *instanceName ,
                                      const char *interfaceName ) ;
 
-class Syr_Impl :  public POA_SuperVisionTest::Syr ,
-                  public SyrComponent_Impl {
+class SYRCOMPONENTENGINE_EXPORT Syr_Impl :  public POA_SuperVisionTest::SyrComponent ,
+                                             public SyrComponent_Impl {
 public:
   Syr_Impl() ;
   Syr_Impl( CORBA::ORB_ptr orb ,
@@ -119,19 +139,19 @@ public:
             const char *interfaceName , 
             const char * graphName ,
             const char * nodeName ,
-            const long anOddInteger );
+            const CORBA::Long anOddInteger );
 
   virtual ~Syr_Impl();
 
-  virtual long Initial() ;
+  virtual CORBA::Long Initial() ;
 
-  virtual long Current() ;
+  virtual CORBA::Long Current() ;
 
-  virtual long IsEven() ;
+  virtual CORBA::Long IsEven() ;
 
-  virtual long IsOne() ;
+  virtual CORBA::Long IsOne() ;
 
-  virtual long Count() ;
+  virtual CORBA::Long Count() ;
 
   virtual void M3p1() ;