Salome HOME
NRI : TypesCheck component.
authornri <nri@opencascade.com>
Wed, 26 Nov 2003 12:23:17 +0000 (12:23 +0000)
committernri <nri@opencascade.com>
Wed, 26 Nov 2003 12:23:17 +0000 (12:23 +0000)
idl/Makefile.in
idl/TypesCheck.idl [new file with mode: 0644]
src/Makefile.in
src/TypesCheck/Makefile.in [new file with mode: 0755]
src/TypesCheck/TypesCheck_CheckOfUndefined.cxx [new file with mode: 0644]
src/TypesCheck/TypesCheck_Impl.cxx [new file with mode: 0644]
src/TypesCheck/TypesCheck_Impl.hxx [new file with mode: 0644]

index 2804cd36e9b3e90a3db2fbbbb8f82f75ea609450..9ddf083d3bef65b35a0b5f09b91b4a6b8fcba779 100644 (file)
@@ -17,7 +17,8 @@ IDL_FILES = \
        DivComponent.idl \
         SubComponent.idl \
        FactorialComponent.idl \
-       SyrComponent.idl
+       SyrComponent.idl \
+       TypesCheck.idl
 
 PY_CLIENT_IDL = $(IDL_FILES)
 
diff --git a/idl/TypesCheck.idl b/idl/TypesCheck.idl
new file mode 100644 (file)
index 0000000..394b806
--- /dev/null
@@ -0,0 +1,62 @@
+//  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 
+//
+//
+//
+//  File   : TypesCheck.idl
+//  Author : Jean Rahuel
+//  $Header: 
+
+#ifndef __TYPESCHECK_IDL__
+#define __TYPESCHECK_IDL__
+
+#include "SALOME_Component.idl"
+
+#include "AddComponent.idl"
+
+// Check of types for SuperVision module
+
+module SuperVisionTest {
+
+  interface TypesCheck : Engines::Component {
+
+    void StringCheck( in string InString , out string OutString ) ;
+
+    void BoolCheck( in boolean InBool , out boolean OutBool ) ;
+
+    void CharCheck( in char InChar , out char OutChar ) ;
+
+    void ShortCheck( in short InShort , out short OutShort ) ;
+
+    void LongCheck( in long InLong , out long OutLong ) ;
+
+    void FloatCheck( in float InFloat , out float OutFloat ) ;
+
+    void DoubleCheck( in double InDouble , out double OutDouble ) ;
+
+    void ObjRefCheck( in SuperVisionTest::Adder InObjRef , out SuperVisionTest::Adder OutObjRef ) ;
+
+    void MiscTypes( in string InString , in boolean InBool , in char InChar , in short InShort , in long InLong , in float InFloat , in double InDouble , in SuperVisionTest::Adder InObjRef , out string OutString , out boolean OutBool , out char OutChar , out short OutShort , out long OutLong , out float OutFloat , out double OutDouble , out SuperVisionTest::Adder OutObjRef ) ;
+
+  } ;
+
+} ;
+
+#endif
+
index ba8d9f410529a22307317d0a50d6ccc1d42a6661..9b3ce3de90c80a84d10131a43cd5a91cab1e6f63 100755 (executable)
@@ -32,6 +32,6 @@ VPATH=.:@srcdir@
 
 @COMMENCE@
 
-SUBDIRS = AddComponent DivComponent FactorialComponent MulComponent SubComponent SyrComponent  SyrControlComponent
+SUBDIRS = AddComponent DivComponent FactorialComponent MulComponent SubComponent SyrComponent SyrControlComponent TypesCheck
 
 @MODULE@
diff --git a/src/TypesCheck/Makefile.in b/src/TypesCheck/Makefile.in
new file mode 100755 (executable)
index 0000000..f3a9f52
--- /dev/null
@@ -0,0 +1,60 @@
+#  SuperVisionTest AddComponent : example of component that adds two numbers
+#
+#  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 
+#
+#
+#
+#  File   : Makefile.in
+#  Author : , CEA
+#  Module : SuperVisionTest
+#  $Header$
+
+top_srcdir=@top_srcdir@
+top_builddir=../..
+srcdir=@srcdir@
+VPATH=.:@srcdir@:@top_srcdir@/idl
+
+
+@COMMENCE@
+
+EXPORT_HEADERS =  \
+       TypesCheck_Impl.hxx
+
+# Libraries targets
+LIB = libTypesCheckEngine.la
+LIB_SRC = \
+       TypesCheck_Impl.cxx 
+
+LIB_SERVER_IDL = TypesCheck.idl \
+                AddComponent.idl
+
+# Executables targets
+BIN = TypesCheck_CheckOfUndefined
+BIN_SRC = 
+BIN_SERVER_IDL =
+
+CPPFLAGS+= $(PYTHON_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome
+CXXFLAGS= -g -D_DEBUG_ -D__x86__ -D__linux__ $(PYTHON_INCLUDES) -ftemplate-depth-42 -Wall -I${KERNEL_ROOT_DIR}/include/salome
+LDFLAGS+= -lSalomeContainer -lSalomeNS -lOpUtil -lRegistry -lSalomeNotification -lSalomeLoggerServer -L${KERNEL_ROOT_DIR}/lib/salome
+
+LDFLAGSFORBIN+= -lSalomeContainer -lSalomeNS -lOpUtil -lRegistry -lSalomeNotification -lSalomeLoggerServer -L${KERNEL_ROOT_DIR}/lib/salome
+
+@CONCLUDE@
+
diff --git a/src/TypesCheck/TypesCheck_CheckOfUndefined.cxx b/src/TypesCheck/TypesCheck_CheckOfUndefined.cxx
new file mode 100644 (file)
index 0000000..209a39d
--- /dev/null
@@ -0,0 +1,37 @@
+//  SuperVisionTest TypesCheck : 
+//
+//  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 
+//
+//
+//
+//  File   : TypesCheck_CheckOfUndefined.cxx
+//  Module : SuperVisionTest
+
+using namespace std;
+#include <iostream>
+#include <fstream>
+#include <unistd.h>
+
+#include "TypesCheck_Impl.hxx"
+
+int main(int argc, char **argv) {
+  return 0;
+}
+
diff --git a/src/TypesCheck/TypesCheck_Impl.cxx b/src/TypesCheck/TypesCheck_Impl.cxx
new file mode 100644 (file)
index 0000000..cda6c8c
--- /dev/null
@@ -0,0 +1,146 @@
+//  SuperVisionTest SyrComponent : example of component performing some mathinatical operations
+//
+//  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 
+//
+//
+//
+//  File   : TypesCheck_Impl.cxx
+//  Author : Jean Rahuel
+//  Module : SuperVisionTest
+
+using namespace std;
+#include <stdio.h>
+#include <unistd.h>
+#include <fstream>
+#include <sstream>
+#include <string>
+
+#include "TypesCheck_Impl.hxx"
+
+TypesCheck_Impl::TypesCheck_Impl( CORBA::ORB_ptr orb ,
+                                 PortableServer::POA_ptr poa ,
+                                 PortableServer::ObjectId * contId , 
+                                 const char *instanceName ,
+                                  const char *interfaceName ,
+                                  const bool kactivate ) :
+  Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true) {
+  MESSAGE("TypesCheck_Impl::TypesCheck_Impl this " << hex << this << dec
+          << "activate object instanceName("
+          << instanceName << ") interfaceName(" << interfaceName << ")" )
+  if ( kactivate ) {
+    _thisObj = this ;
+    _id = _poa->activate_object(_thisObj);
+  }
+}
+
+TypesCheck_Impl::TypesCheck_Impl() {
+  beginService( "TypesCheck_Impl::TypesCheck_Impl" );
+  endService( "TypesCheck_Impl::TypesCheck_Impl" );
+}
+
+TypesCheck_Impl::~TypesCheck_Impl() {
+  beginService( "TypesCheck_Impl::~TypesCheck_Impl" );
+  endService( "TypesCheck_Impl::~TypesCheck_Impl" );
+}
+
+void TypesCheck_Impl::StringCheck( const char * InString , _CORBA_String_out OutString ) {
+  beginService( "TypesCheck_Impl::StringCheck" );
+  OutString = CORBA::string_dup( InString ) ;
+  endService( "TypesCheck_Impl::StringCheck" );
+}
+
+void TypesCheck_Impl::BoolCheck( const bool InBool , bool & OutBool ) {
+  beginService( "TypesCheck_Impl::BoolCheck" );
+  OutBool = InBool ;
+  endService( "TypesCheck_Impl::BoolCheck" );
+}
+
+void TypesCheck_Impl::CharCheck( const unsigned char InChar , unsigned char & OutChar ) {
+  beginService( "TypesCheck_Impl::CharCheck" );
+  OutChar = InChar ;
+  endService( "TypesCheck_Impl::CharCheck" );
+}
+
+void TypesCheck_Impl::ShortCheck( const short InShort , short & OutShort ) {
+  beginService( "TypesCheck_Impl::ShortCheck" );
+  OutShort = InShort ;
+  endService( "TypesCheck_Impl::ShortCheck" );
+}
+
+void TypesCheck_Impl::IntCheck( const int InInt , int & OutInt ) {
+  beginService( "TypesCheck_Impl::IntCheck" );
+  OutInt = InInt ;
+  endService( "TypesCheck_Impl::IntCheck" );
+}
+
+void TypesCheck_Impl::LongCheck( const long InLong , long & OutLong ) {
+  beginService( "TypesCheck_Impl::LongCheck" );
+  int inInt = InLong ;
+  int outInt = OutLong ;
+  IntCheck( inInt , outInt ) ;
+  OutLong = outInt ;
+  endService( "TypesCheck_Impl::LongCheck" );
+}
+
+void TypesCheck_Impl::FloatCheck( const float InFloat , float & OutFloat ) {
+  beginService( "TypesCheck_Impl::FloatCheck" );
+  OutFloat = InFloat ;
+  endService( "TypesCheck_Impl::FloatCheck" );
+}
+
+void TypesCheck_Impl::DoubleCheck( const double InDouble , double & OutDouble ) {
+  beginService( "TypesCheck_Impl::DoubleCheck" );
+  OutDouble = InDouble ;
+  endService( "TypesCheck_Impl::DoubleCheck" );
+}
+
+void TypesCheck_Impl::ObjRefCheck( const SuperVisionTest::Adder_ptr InObjRef , SuperVisionTest::Adder_out OutObjRef ) {
+  beginService( "TypesCheck_Impl::ObjRefCheck" );
+  OutObjRef = SuperVisionTest::Adder::_duplicate( InObjRef ) ;
+  endService( "TypesCheck_Impl::ObjRefCheck" );
+}
+
+void TypesCheck_Impl::MiscTypes( const char * InString , const bool InBool , const unsigned char InChar , const short InShort , const long InLong , const float InFloat , const double InDouble , const SuperVisionTest::Adder_ptr InObjRef , _CORBA_String_out OutString ,bool & OutBool , unsigned char & OutChar , short & OutShort , long & OutLong , float & OutFloat , double & OutDouble , SuperVisionTest::Adder_out OutObjRef ) {
+  beginService( "TypesCheck_Impl::MiscTypes" );
+  OutString = CORBA::string_dup( InString ) ;
+  OutBool = InBool ;
+  OutChar = InChar ;
+  OutShort = InShort ;
+  OutLong = InLong ;
+  OutFloat = InFloat ;
+  OutDouble = InDouble ;
+  OutObjRef = SuperVisionTest::Adder::_duplicate( InObjRef ) ;
+  endService( "TypesCheck_Impl::MiscTypes" );
+}
+
+extern "C"
+{
+  PortableServer::ObjectId * TypesCheckEngine_factory( CORBA::ORB_ptr orb ,
+                                                       PortableServer::POA_ptr poa , 
+                                                       PortableServer::ObjectId * contId ,
+                                                       const char *instanceName ,
+                                                       const char *interfaceName ) {
+    MESSAGE("TypesCheckEngine_factory TypesCheckEngine ("
+            << instanceName << "," << interfaceName << "," << getpid() << ")");
+    TypesCheck_Impl * myTypesCheck  = new TypesCheck_Impl(orb, poa, contId, instanceName, interfaceName);
+    return myTypesCheck->getId() ;
+  }
+}
+
diff --git a/src/TypesCheck/TypesCheck_Impl.hxx b/src/TypesCheck/TypesCheck_Impl.hxx
new file mode 100644 (file)
index 0000000..987b7d6
--- /dev/null
@@ -0,0 +1,85 @@
+//  SuperVisionTest SyrComponent : example of component performing some mathinatical operations
+//
+//  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 
+//
+//
+//
+//  File   : SyrComponent_Impl.hxx
+//  Author : Jean Rahuel
+//  Module : SuperVisionTest
+//  $Header:
+
+#ifndef _TYPESCHECK_IMPL_HXX_
+#define _TYPESCHECK_IMPL_HXX_
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(AddComponent)
+#include CORBA_SERVER_HEADER(TypesCheck)
+#include CORBA_SERVER_HEADER(SALOME_Component)
+#include "SALOME_Component_i.hxx"
+
+#include "AddComponent_Impl.hxx"
+
+class TypesCheck_Impl : public POA_SuperVisionTest::TypesCheck ,
+                        public Engines_Component_i {
+  public:
+    TypesCheck_Impl() ;
+    TypesCheck_Impl( CORBA::ORB_ptr orb ,
+                    PortableServer::POA_ptr poa ,
+                    PortableServer::ObjectId * contId , 
+                    const char *instanceName ,
+                     const char *interfaceName ,
+                     const bool kactivate = true ) ;
+
+    virtual ~TypesCheck_Impl();
+
+    virtual void StringCheck( const char * InString , _CORBA_String_out OutString ) ;
+
+    virtual void BoolCheck( const bool InBool , bool & OutBool ) ;
+
+    virtual void CharCheck( const unsigned char InChar , unsigned char & OutChar ) ;
+
+    virtual void ShortCheck( const short InShort , short & OutShort ) ;
+
+    virtual void IntCheck( const int InInt , int & OutInt ) ;
+
+    virtual void LongCheck( const long InLong , long & OutLong ) ;
+
+    virtual void FloatCheck( const float InFloat , float & OutFloat ) ;
+
+    virtual void DoubleCheck( const double InDouble , double & OutDouble ) ;
+
+    virtual void ObjRefCheck( const SuperVisionTest::Adder_ptr InObjRef , SuperVisionTest::Adder_out OutObjRef ) ;
+
+    virtual void MiscTypes( const char * InString , const bool InBool , const unsigned char InChar , const short InShort , const long InLong , const float InFloat , const double InDouble , SuperVisionTest::Adder_ptr InObjRef , _CORBA_String_out OutString , bool & OutBool , unsigned char & OutChar , short & OutShort , long & OutLong , float & OutFloat , double & OutDouble , SuperVisionTest::Adder_out OutObjRef ) ;
+
+  private:
+
+
+};
+
+extern "C"
+  PortableServer::ObjectId * TypesCheckEngine_factory ( CORBA::ORB_ptr orb ,
+                                                        PortableServer::POA_ptr poa , 
+                                                        PortableServer::ObjectId * contId ,
+                                                        const char *instanceName ,
+                                                        const char *interfaceName ) ;
+
+#endif