Salome HOME
Merge from BR_V5_DEV 17Feb09
[samples/component.git] / src / TypesCheck / TypesCheck_Impl.hxx
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 //  This library is free software; you can redistribute it and/or
7 //  modify it under the terms of the GNU Lesser General Public
8 //  License as published by the Free Software Foundation; either
9 //  version 2.1 of the License.
10 //
11 //  This library is distributed in the hope that it will be useful,
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 //  Lesser General Public License for more details.
15 //
16 //  You should have received a copy of the GNU Lesser General Public
17 //  License along with this library; if not, write to the Free Software
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 //  SuperVisionTest SyrComponent : example of component performing some mathinatical operations
23 //  File   : SyrComponent_Impl.hxx
24 //  Author : Jean Rahuel
25 //  Module : SuperVisionTest
26 //  $Header:
27 //
28 #ifndef _TYPESCHECK_IMPL_HXX_
29 #define _TYPESCHECK_IMPL_HXX_
30
31 #include <SALOMEconfig.h>
32 #include CORBA_SERVER_HEADER(AddComponent)
33 #include CORBA_SERVER_HEADER(TypesCheck)
34 #include CORBA_SERVER_HEADER(SALOME_Component)
35 #include "SALOME_Component_i.hxx"
36
37 #include "AddComponent_Impl.hxx"
38
39 class TypesCheck_Impl : public POA_SuperVisionTest::TypesCheck ,
40                         public Engines_Component_i {
41   public:
42     TypesCheck_Impl() ;
43     TypesCheck_Impl( CORBA::ORB_ptr orb ,
44                      PortableServer::POA_ptr poa ,
45                      PortableServer::ObjectId * contId , 
46                      const char *instanceName ,
47                      const char *interfaceName ,
48                      const bool kactivate = true ) ;
49
50     virtual ~TypesCheck_Impl();
51
52     virtual void StringCheck( const char * InString , _CORBA_String_out OutString ) ;
53
54     virtual void BoolCheck( CORBA::Boolean InBool , CORBA::Boolean & OutBool ) ;
55
56     virtual void CharCheck( unsigned char InChar , unsigned char & OutChar ) ;
57
58     virtual void ShortCheck( short InShort , short & OutShort ) ;
59
60     virtual void IntCheck( int InInt , int & OutInt ) ;
61
62     virtual void LongCheck( CORBA::Long InLong , CORBA::Long & OutLong ) ;
63
64     virtual void FloatCheck( float InFloat , float & OutFloat ) ;
65
66     virtual void DoubleCheck( double InDouble , double & OutDouble ) ;
67
68     virtual void ObjRefCheck( SuperVisionTest::Adder_ptr InObjRef , SuperVisionTest::Adder_out OutObjRef ) ;
69
70     virtual void MiscTypes( const char * InString , CORBA::Boolean InBool , unsigned char InChar , short InShort , CORBA::Long InLong , float InFloat , double InDouble , SuperVisionTest::Adder_ptr InObjRef , _CORBA_String_out OutString , CORBA::Boolean & OutBool , unsigned char & OutChar , short & OutShort , CORBA::Long & OutLong , float & OutFloat , double & OutDouble , SuperVisionTest::Adder_out OutObjRef ) ;
71
72   private:
73
74
75 };
76
77 extern "C"
78   PortableServer::ObjectId * TypesCheckEngine_factory ( CORBA::ORB_ptr orb ,
79                                                         PortableServer::POA_ptr poa , 
80                                                         PortableServer::ObjectId * contId ,
81                                                         const char *instanceName ,
82                                                         const char *interfaceName ) ;
83
84 #endif