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 {
out double z ) ;
void SetLastResult( in double z ) ;
void LastResult( out double z ) ;
+ Engines::Component LccAddComponent( in string aContainer ,
+ in string aComponentName ) ;
};
} ;
</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>
#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"
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 ) {
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
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 ;
+}
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 ;
virtual void LastResult( double & z ) ;
+ virtual Engines::Component_ptr LccAddComponent( const char * aContainer ,
+ const char * aComponentName ) ;
+
private:
double LastAddition ;
LIB_SRC = \
AddComponent_Impl.cxx
-LIB_SERVER_IDL = SALOME_Component.idl \
+LIB_SERVER_IDL = SALOME_ContainerManager.idl \
+ SALOME_Component.idl \
AddComponent.idl
# Executables targets
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