#include #include #include "benchC.h" #include "orbsvcs/CosNamingC.h" #include #include #include "cpx.h" benchmark::Put_var put; CPX cpx; std::string strData; void sigproc(int signo) { signal(SIGRTMIN+29, sigproc); benchmark::dataStruct_var data = new benchmark::dataStruct; data->data = CORBA::string_alloc(sizeof(strData)); data->data = CORBA::string_dup((const char*)strData.c_str()); data->valPort1 = cpx.get(1); data->valPort2 = cpx.get(2); data->valPort3 = cpx.get(3); put->dataAndPorts(data); } int main(int argc, char* argv[]){ if (argc < 2){ std::cout<<"enter filename as param1\n"; return 0; } std::string line; std::ifstream infile (argv[1], std::ios_base::in); while (getline(infile, line, '\n')) { strData += line; } 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"<resolve_initial_references("RTCurrent"); RTCORBA::Current_var rtCurrent = RTCORBA::Current::_narrow(rtCurrentObj.in()); rtCurrent->the_priority(0); std::cout<<"PriorityChange ok"<_validate_connection(inconsistentPolicies.out()); //std::cout<<"explicit bind ok"<connect(); // put->allPorts(0, 0, 0); // sleep(1); // put->onePort(1, 255); // sleep(1); // 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: "<