#include #include #include "IPBook.h" #include using namespace std; int main( int argc, char **argv) { CORBA::ORB_var orb = CORBA::ORB_init( argc, argv); int rc = 0; if (argc != 2) { cerr << "usage: " << argv[0] << " name\n"; exit(1); } try { CORBA::Object_var nsobj = orb->resolve_initial_references ("NameService"); if (CORBA::is_nil( nsobj)) { cerr << "can't resolve NameService\n"; exit(1); } CosNaming::NamingContext_var nc = CosNaming::NamingContext::_narrow (nsobj); CosNaming::Name name; name.length (1); name[0].id = CORBA::string_dup ("AddressBook"); name[0].kind = CORBA::string_dup (""); CORBA::Object_var obj = nc->resolve( name); IPBook_var f = IPBook::_narrow( obj); cout << f->searchEntry( argv[1]) << endl; } catch(CORBA::ORB::InvalidName_catch& ex) { ex->_print(cerr); cerr << endl; cerr << "possible cause: can't locate Naming Service\n"; rc = 1; } catch(CosNaming::NamingContext::NotFound_catch& ex) { cerr << "Name not found at Naming Service\n"; rc = 1; } catch(CORBA::SystemException_catch& ex) { ex->_print(cerr); cerr << endl; rc = 1; } return rc; }