#include #include "test2.hh" using namespace std; CORBA::Object_ptr getByName(CORBA::ORB_ptr orb, const char* name) { CORBA::Object_var obj; CosNaming::NamingContext_var rootContext; try // use orb to locate root naming context. { obj = orb->resolve_initial_references("NameService"); rootContext = CosNaming::NamingContext::_narrow(obj); if (CORBA::is_nil(rootContext)) { cerr << "no root context\n"; return CORBA::Object::_nil(); } CosNaming::Name objname; objname.length(1); objname[0].id = name; objname[0].kind = "Object"; obj = rootContext->resolve(objname); } catch (CORBA::ORB::InvalidName& e1) { cerr << "invalid name\n"; return CORBA::Object::_nil(); } catch (CosNaming::NamingContext::NotFound& e2) { cerr << "context not found\n"; return CORBA::Object::_nil(); } return obj; } // getByName int main(int argc, char** argv) { CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "omniORB4"); CORBA::Object_var objref = getByName(orb,"test2server","Object"); // cout << orb->object_to_string(objref) << endl; bigobject_var theserver = bigobject::_narrow(objref); cout << 2 << endl; // make calls: char *Ar = "BBBB"; char *Br; int x = 2; cout << theserver->f(x) << endl; Br = theserver->g(Ar); cout << Ar << endl; cout << Br << endl; orb->destroy(); return 0; } // main /* g++ -o test2client -D__x86__ -D__linux__ -D__OSVERSION__=2 -I/usr/local/include/omniORB4 test2client.cpp test2SK.cc -lomniORB4 -lomnithread -lpthread */