⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eg2_impl.cc

📁 编译工具
💻 CC
字号:
// eg2_impl.cc - This is the source code of example 2 used in Chapter 2//               "The Basics" of the omniORB user guide.////               This is the object implementation.//// Usage: eg2_impl////        On startup, the object reference is printed to cerr as a//        stringified IOR. This string should be used as the argument to //        eg2_clt.//#include <echo.hh>#ifdef HAVE_STD#  include <iostream>   using namespace std;#else#  include <iostream.h>#endifclass Echo_i : public POA_Echo,	       public PortableServer::RefCountServantBase{public:  inline Echo_i() {}  virtual ~Echo_i() {}  virtual char* echoString(const char* mesg);};char* Echo_i::echoString(const char* mesg){  cerr << "Upcall " << mesg << endl;  return CORBA::string_dup(mesg);}//////////////////////////////////////////////////////////////////////int main(int argc, char** argv){  try {    CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);    CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");    PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);    Echo_i* myecho = new Echo_i();          PortableServer::ObjectId_var myechoid = poa->activate_object(myecho);    // Obtain a reference to the object, and print it out as a    // stringified IOR.    obj = myecho->_this();    CORBA::String_var sior(orb->object_to_string(obj));    cerr << "'" << (char*)sior << "'" << endl;    myecho->_remove_ref();    PortableServer::POAManager_var pman = poa->the_POAManager();    pman->activate();    orb->run();  }  catch(CORBA::SystemException&) {    cerr << "Caught CORBA::SystemException." << endl;  }  catch(CORBA::Exception&) {    cerr << "Caught CORBA::Exception." << endl;  }  catch(omniORB::fatalException& fe) {    cerr << "Caught omniORB::fatalException:" << endl;    cerr << "  file: " << fe.file() << endl;    cerr << "  line: " << fe.line() << endl;    cerr << "  mesg: " << fe.errmsg() << endl;  }  catch(...) {    cerr << "Caught unknown exception." << endl;  }  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -