/** * * \file Supplier.cpp * \brief RTCORBA Client, catches Signal on DIO changes and reports this changes via RTCORBA to the Receiver * * \author Manuel Traut * \version 2006-10-15 * */ #include #include "benchC.h" #include "orbsvcs/CosNamingC.h" #include #include #include "cpx.h" benchmark::Put_var put; CPX cpx; // Signal-Handler void sigproc(int signo) { signal(SIGRTMIN+29, sigproc); put->allPorts(cpx.get(1), cpx.get(2), cpx.get(3)); } int main(int argc, char* argv[]){ try{ // initialize ORB CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "ClientORB"); std::cout<<"ORB ok"<resolve_initial_references("RTORB"); RTCORBA::RTORB_var rtORB = RTCORBA::RTORB::_narrow(rtorb.in()); std::cout<<"RTORB ok"<resolve_initial_references("NameService"); CosNaming::NamingContext_var namingContext = CosNaming::NamingContext::_narrow(namingObject.in()); std::cout<<"NamingService ok"<resolve(name); put = benchmark::Put::_narrow(benchObj.in()); std::cout<<"TransferOjekt ok"<create_private_connection_policy(); CORBA::Object_var newTran = put->_set_policy_overrides(pcPolicy, CORBA::SET_OVERRIDE); put = benchmark::Put::_narrow(newTran.in()); std::cout<<"PrivateConnection ok"<connect(); put->allPorts(0, 0, 0); // signal handling signal(SIGRTMIN+29, sigproc); while(true){ pause(); } // destroy ORB orb->destroy(); }catch(CORBA::Exception &any){ std::cout<<"Exception occured: "<