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

📄 server.cc

📁 MICO2.3.13 corba 环境平台
💻 CC
字号:
//// Test for etherealize/incarnate//#include "hello.h"#ifdef HAVE_ANSI_CPLUSPLUS_HEADERS#include <fstream>#else // HAVE_ANSI_CPLUSPLUS_HEADERS#include <fstream.h>#endif // HAVE_ANSI_CPLUSPLUS_HEADERSusing namespace std;class HelloWorld_impl    : virtual public POA_HelloWorld{public:    void hello();};voidHelloWorld_impl::hello(){    cout << "Hello World" << endl;}intmain (int argc, char *argv[]){    try {	CORBA::ORB_ptr orb = CORBA::ORB_init(argc, argv);	CORBA::Object_var poaobj = orb->resolve_initial_references("RootPOA");	PortableServer::POA_var poa = PortableServer::POA::_narrow(poaobj);	PortableServer::POAManager_var mgr = poa->the_POAManager();	CORBA::PolicyList pl;	pl.length(3);	pl[0] = poa->create_request_processing_policy(PortableServer::USE_DEFAULT_SERVANT);	pl[1] = poa->create_id_assignment_policy(PortableServer::USER_ID);	pl[2] = poa->create_servant_retention_policy(PortableServer::NON_RETAIN);	PortableServer::POA_var hello_poa = poa->create_POA	    ("HelloPOA", PortableServer::POAManager::_nil(), pl);	PortableServer::POAManager_var hello_mgr = hello_poa->the_POAManager();	HelloWorld_impl* servant = new HelloWorld_impl;	hello_poa->set_servant(servant);  	PortableServer::ObjectId_var hello_oid  	    = PortableServer::string_to_ObjectId("HelloWorld");  	CORBA::Object_var obj  	    = hello_poa->create_reference_with_id(hello_oid, "IDL:HelloWorld:1.0");	HelloWorld_ptr hello = HelloWorld::_narrow(obj);	assert(!CORBA::is_nil(hello));	ofstream of ("hello.ref");	CORBA::String_var str = orb->object_to_string(hello);	of << str.in() << endl;	of.close();	cout << "Running." << endl;	mgr->activate();	hello_mgr->activate();	orb->run();    } catch (CORBA::UserException& ex) {	cout << "UserException caught: " << ex._repoid() << endl;    } catch (CORBA::SystemException_catch& ex) {	cout << "SystemException caught: " << ex._repoid() << endl;    } catch (...) {	cout << "... caught!" << endl;    }    return 0;}

⌨️ 快捷键说明

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