#include #include "Executor_i.h" #include "orbsvcs/CosNamingC.h" #include int main(int argc, char* argv[]){ try{ // initialize ORB CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "ExecutorORB"); std::cout<<"ORB ok"<resolve_initial_references("RTORB"); RTCORBA::RTORB_var rtORB = RTCORBA::RTORB::_narrow(rtorb.in()); std::cout<<"RTORB ok"<resolve_initial_references("RootPOA"); PortableServer::POA_var rootPOA = PortableServer::POA::_narrow(poa.in()); // activate POA Manager PortableServer::POAManager_var poaManager = rootPOA->the_POAManager(); poaManager->activate(); std::cout<<"rootPOA OK"<create_priority_model_policy(RTCORBA::CLIENT_PROPAGATED, RTCORBA::minPriority); // create ObjectAdapter, assign Policy PortableServer::POA_var benchPOA = rootPOA->create_POA("executorPOA", poaManager.in(), benchPolicy); std::cout<<"Policy assigned"<resolve_initial_references("NameService"); CosNaming::NamingContext_var namingContext = CosNaming::NamingContext::_narrow(namingObject.in()); CosNaming::Name name(1); name.length(1); name[0].id = CORBA::string_dup("Executor"); namingContext->bind_new_context(name); std::cout<<"Bound Executor to NameService"<activate_object(&servant); CORBA::Object_var servantObj = benchPOA->id_to_reference(oid.in()); namingContext->rebind(name, servantObj.in()); std::cout<<"servant activated\n"; // start ORB orb->run(); std::cout<<"ORB ready"<destroy(1,1); orb->destroy(); }catch(CORBA::Exception &any){ std::cout<<"Exception occured: "<