]> SALOME platform Git repositories - samples/component.git/commitdiff
Salome HOME
Methodes de test of Object References BR_LightConf_dev V3_1_0a1 V_3_0_2a
authorrahuel <rahuel@opencascade.com>
Tue, 30 Aug 2005 10:42:03 +0000 (10:42 +0000)
committerrahuel <rahuel@opencascade.com>
Tue, 30 Aug 2005 10:42:03 +0000 (10:42 +0000)
idl/AddComponent.idl
resources/COMPONENTCatalog.xml
src/AddComponent/AddComponent_Impl.cxx
src/AddComponent/AddComponent_Impl.hxx
src/AddComponent/Adder_Impl.hxx
src/AddComponent/Makefile.in

index c52db3a1c21f03eb3d8b1a90ce6b884b120ee5ce..b126148c388b5f2845c33a7cf972943274c702d2 100644 (file)
@@ -40,6 +40,12 @@ module SuperVisionTest {
     double AddWithoutSleep( in double x , in double y , out double z ) ;
     long Sigma( in long n ) ;
     double LastResult() ;
+    boolean AdditionObjRefs( in AddComponent AddComponent1 ,
+                             in AddComponent Adder2 ,
+                             in AddComponent Adder3 ,
+                             out AddComponent RetAddComponent1 ,
+                             out AddComponent RetAdder2 ,
+                             out AddComponent RetAdder3 ) ;
   };
 
   interface Adder : Engines::Component {
@@ -49,6 +55,8 @@ module SuperVisionTest {
                           out double z ) ;
     void SetLastResult( in double z ) ;
     void LastResult( out double z ) ;
+    Engines::Component LccAddComponent( in string aContainer ,
+                                        in string aComponentName ) ;
   };
 
 } ;
index 0b10abd0229cc9953e52bba489c9298841104458..ba84b8d18b7c6f4c39ccf42efeec8d9db7390a2d 100644 (file)
                                                </outParameter>
                                        </outParameter-list>
                                </component-service>
+                               <component-service>
+                                       <service-name>AdditionObjRefs</service-name>
+                                       <service-author>jr</service-author>
+                                       <service-version>1</service-version>
+                                       <service-comment>unknown</service-comment>
+                                       <service-by-default>0</service-by-default>
+                                       <inParameter-list>
+                                               <inParameter>
+                                                       <inParameter-name>AddComponent1</inParameter-name>
+                                                       <inParameter-type>AddComponent</inParameter-type>
+                                                       <inParameter-comment>unknown</inParameter-comment>
+                                               </inParameter>
+                                               <inParameter>
+                                                       <inParameter-name>Adder2</inParameter-name>
+                                                       <inParameter-type>AddComponent</inParameter-type>
+                                                       <inParameter-comment>unknown</inParameter-comment>
+                                               </inParameter>
+                                               <inParameter>
+                                                       <inParameter-name>Adder3</inParameter-name>
+                                                       <inParameter-type>AddComponent</inParameter-type>
+                                                       <inParameter-comment>unknown</inParameter-comment>
+                                               </inParameter>
+                                       </inParameter-list>
+                                       <outParameter-list>
+                                               <outParameter>
+                                                       <outParameter-name>return</outParameter-name>
+                                                       <outParameter-type>boolean</outParameter-type>
+                                                       <outParameter-comment>unknown</outParameter-comment>
+                                               </outParameter>
+                                               <outParameter>
+                                                       <outParameter-name>RetAddComponent1</outParameter-name>
+                                                       <outParameter-type>AddComponent</outParameter-type>
+                                                       <outParameter-comment>unknown</outParameter-comment>
+                                               </outParameter>
+                                               <outParameter>
+                                                       <outParameter-name>RetAdder2</outParameter-name>
+                                                       <outParameter-type>AddComponent</outParameter-type>
+                                                       <outParameter-comment>unknown</outParameter-comment>
+                                               </outParameter>
+                                               <outParameter>
+                                                       <outParameter-name>RetAdder3</outParameter-name>
+                                                       <outParameter-type>AddComponent</outParameter-type>
+                                                       <outParameter-comment>unknown</outParameter-comment>
+                                               </outParameter>
+                                       </outParameter-list>
+                                       <DataStream-list></DataStream-list>
+                               </component-service>
                        </component-service-list>
                        <component-interface-name>Adder</component-interface-name>
                        <component-interface-comment> + ... </component-interface-comment>
                                                </outParameter>
                                        </outParameter-list>
                                </component-service>
+                               <component-service>
+                               <service-name>LccAddComponent</service-name>
+                               <service-author>jr</service-author>
+                               <service-version>1</service-version>
+                               <service-comment>unknown</service-comment>
+                               <service-by-default>0</service-by-default>
+                               <type-of-node>0</type-of-node>
+                               <inParameter-list>
+                                       <inParameter>
+                                               <inParameter-name>Adder</inParameter-name>
+                                               <inParameter-type>SuperVisionTest::Adder</inParameter-type>
+                                               <inParameter-comment>Adder Object</inParameter-comment>
+                                       </inParameter>
+                                       <inParameter>
+                                               <inParameter-name>aContainer</inParameter-name>
+                                               <inParameter-type>string</inParameter-type>
+                                               <inParameter-comment>unknown</inParameter-comment>
+                                       </inParameter>
+                                       <inParameter>
+                                               <inParameter-name>aComponentName</inParameter-name>
+                                               <inParameter-type>string</inParameter-type>
+                                               <inParameter-comment>unknown</inParameter-comment>
+                                       </inParameter>
+                               </inParameter-list>
+                               <outParameter-list>
+                                       <outParameter>
+                                               <outParameter-name>return</outParameter-name>
+                                               <outParameter-type>AddComponent</outParameter-type>
+                                               <outParameter-comment>unknown</outParameter-comment>
+                                       </outParameter>
+                               </outParameter-list>
+                               <DataStream-list></DataStream-list>
+                               </component-service>
                        </component-service-list>
                </component-interface-list>
        </component>
index 0dbb2cca9d35d6460f24050683e1fda7ea34189b..8375bcea98a3b348b81434f27669a0f560a6ccd0 100644 (file)
@@ -32,7 +32,11 @@ using namespace std;
 #include <sstream>
 #include <string>
 
-//#include "utilities.h"
+#include "utilities.h"
+#include "Utils_ORB_INIT.hxx"
+#include "Utils_SINGLETON.hxx"
+#include "SALOME_NamingService.hxx"
+#include "SALOME_LifeCycleCORBA.hxx"
 
 #include "AddComponent_Impl.hxx"
 #include "Adder_Impl.hxx"
@@ -71,7 +75,8 @@ SuperVisionTest::Adder_ptr AddComponent_Impl::Addition() {
   CORBA::Object_var obj = _poa->id_to_reference(*id);
   iobject = SuperVisionTest::Adder::_narrow(obj) ;
   endService( "AddComponent_Impl::Addition" );
-  return SuperVisionTest::Adder::_duplicate(iobject) ;
+  return iobject._retn() ;
+//  return SuperVisionTest::Adder::_duplicate(iobject) ;
 }
 
 bool AddComponent_Impl::AdditionObjRef1( SuperVisionTest::Adder_out aAdder ) {
@@ -169,6 +174,41 @@ double AddComponent_Impl::LastResult() {
   return LastAddition ;
 }
 
+bool AddComponent_Impl::AdditionObjRefs( const SuperVisionTest::AddComponent_ptr AddComponent1 ,
+                                         const SuperVisionTest::AddComponent_ptr Adder2 ,
+                                         const SuperVisionTest::AddComponent_ptr Adder3 ,
+                                         SuperVisionTest::AddComponent_out RetAddComponent1 ,
+                                         SuperVisionTest::AddComponent_out RetAdder2 ,
+                                         SuperVisionTest::AddComponent_out RetAdder3 ) {
+  bool RetVal = true ;
+  beginService( "AddComponent_Impl::AdditionObjRefs" );
+  cout << "beginService AddComponent_Impl::AdditionObjRefs" << endl ;
+  ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
+  ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting());
+  CORBA::ORB_var orb = init(0 , 0 ) ;
+  char * IOR = orb->object_to_string( AddComponent1 );
+  cout << "AddComponent_Impl::AdditionObjRefs AddComponent1 " << AddComponent1 << " IOR "
+       << IOR << " nil " << CORBA::is_nil( AddComponent1 ) << endl ;
+  RetAddComponent1 = SuperVisionTest::AddComponent::_duplicate( AddComponent1 ) ;
+  IOR = orb->object_to_string( Adder2 );
+  cout << "AddComponent_Impl::AdditionObjRefs Adder2 " << Adder2 << " IOR " << IOR << " nil "
+       << CORBA::is_nil( Adder2 ) << endl ;
+  RetAdder2 = SuperVisionTest::AddComponent::_duplicate( Adder2 ) ;
+  IOR = orb->object_to_string( Adder3 );
+  cout << "AddComponent_Impl::AdditionObjRefs Adder3 " << Adder3 << " IOR " << IOR << " nil "
+       << CORBA::is_nil( Adder3 ) << endl ;
+  RetAdder3 = SuperVisionTest::AddComponent::_duplicate( Adder3 ) ;
+  if ( CORBA::is_nil( AddComponent1 ) || CORBA::is_nil( Adder2 ) ||
+       CORBA::is_nil( Adder3 ) || CORBA::is_nil( RetAddComponent1 ) ||
+       CORBA::is_nil( RetAdder2 ) || CORBA::is_nil( RetAdder3 ) ) {
+    RetVal = false ;
+  }
+  cout << "endService AddComponent_Impl::AdditionObjRefs" << endl ;
+  endService( "AddComponent_Impl::AdditionObjRefs" );
+  return RetVal ;
+}
+
+
 extern "C"
 {
   PortableServer::ObjectId * AddComponentEngine_factory
@@ -307,4 +347,23 @@ void Adder_Impl::LastResult( double & z ) {
   return ;
 }
 
+Engines::Component_ptr Adder_Impl::LccAddComponent( const char * aContainer ,
+                                                    const char * aComponentName ) {
+  beginService( "Adder_Impl::LccAddComponent" );
+  Engines::Component_ptr objComponent ;
+  objComponent = Engines::Component::_nil() ;
+
+  ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
+  ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting());
+  CORBA::ORB_var orb = init(0 , 0 ) ;
+  SALOME_NamingService *_NS ;
+  _NS = new SALOME_NamingService();
+  _NS->init_orb( CORBA::ORB::_duplicate(orb) ) ;
+         
+  SALOME_LifeCycleCORBA LCC( _NS ) ;
+  objComponent = LCC.FindOrLoad_Component( aContainer ,
+                                          aComponentName );
+  endService( "Adder_Impl::LccAddComponent"  );
+  return objComponent ;
+}
 
index 5fc885582c6d622a5a98d486aa9fe56432ee98ee..853cf84dd83c2d4ec7cc60ee271e7d80fea5f1c1 100644 (file)
@@ -60,6 +60,13 @@ public:
 
   virtual double LastResult() ;
 
+  virtual bool AdditionObjRefs( const SuperVisionTest::AddComponent_ptr AddComponent1 ,
+                                const SuperVisionTest::AddComponent_ptr Adder2 ,
+                                const SuperVisionTest::AddComponent_ptr Adder3 ,
+                                SuperVisionTest::AddComponent_out RetAddComponent1 ,
+                                SuperVisionTest::AddComponent_out RetAdder2 ,
+                                SuperVisionTest::AddComponent_out RetAdder3 ) ;
+
 private:
 
   double LastAddition ;
index 4b4696ec84ef9aa35c45ca03fb8a8f9c40b085dc..17c1eb9a6a75ca5c915ee83d350398f37cc6a149 100644 (file)
@@ -63,6 +63,9 @@ class Adder_Impl :  public POA_SuperVisionTest::Adder ,
 
     virtual void LastResult( double & z ) ;
 
+    virtual Engines::Component_ptr LccAddComponent( const char * aContainer ,
+                                                    const char * aComponentName ) ;
+
   private:
 
     double LastAddition ;
index 28aff411b26b7f5a4df2ffe1404f93e864c9c187..3752921f7258a671ee514e8bc7e2a049614fd450 100755 (executable)
@@ -43,7 +43,8 @@ LIB = libAddComponentEngine.la
 LIB_SRC = \
        AddComponent_Impl.cxx 
 
-LIB_SERVER_IDL = SALOME_Component.idl \
+LIB_SERVER_IDL = SALOME_ContainerManager.idl \
+                 SALOME_Component.idl \
                  AddComponent.idl
 
 # Executables targets
@@ -53,7 +54,7 @@ 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+= -L${KERNEL_ROOT_DIR}/lib/salome -lSalomeContainer -lSalomeNS -lOpUtil -lRegistry -lSalomeNotification -lSALOMELocalTrace
+LDFLAGS+= -L${KERNEL_ROOT_DIR}/lib/salome -lSalomeContainer -lSalomeNS -lOpUtil -lRegistry -lSalomeNotification -lSALOMELocalTrace -lSalomeNS -lSalomeLifeCycleCORBA 
 
 LDFLAGSFORBIN+= -L${KERNEL_ROOT_DIR}/lib/salome -lSalomeContainer -lSalomeNS -lOpUtil -lRegistry -lSalomeNotification -lSALOMELocalTrace