📄 server.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_HEADERS#include <mico/security/sl3utils.h>using namespace std;CORBA::ORB_ptr orb = CORBA::ORB::_nil();class HelloWorld_impl : virtual public POA_HelloWorld{public: void hello();};voidHelloWorld_impl::hello(){ wcout << "Hello World" << endl; wcout << "client credentials: " << endl; CORBA::Object_var obj = orb->resolve_initial_references ("TransportSecurity::SecurityCurrent"); TransportSecurity::SecurityCurrent_var current = TransportSecurity::SecurityCurrent::_narrow(obj); assert(!CORBA::is_nil(current)); TransportSecurity::ClientCredentials_ptr creds = current->client_credentials(); //cerr << "creds: " << creds << endl; MICOSL3Utils::PP::indent(&wcout); MICOSL3Utils::PP::print_client_credentials(&wcout, creds); wcout << endl;}intmain (int argc, char *argv[]){ wcout << "wcout init" << endl; try { 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(); HelloWorld_impl* servant = new HelloWorld_impl; PortableServer::ObjectId_var oid = poa->activate_object(servant); CORBA::Object_var ref = poa->id_to_reference(oid.in()); ofstream of ("hello.ref"); CORBA::String_var str = orb->object_to_string(ref); of << str.in() << endl; of.close(); wcout << "Running." << endl; mgr->activate(); orb->run(); } catch (CORBA::UserException& ex) { wcout << "UserException caught: " << ex._repoid() << endl; } catch (CORBA::SystemException_catch& ex) { wcout << "SystemException caught: " << ex._repoid() << endl; } catch (...) { wcout << "... caught!" << endl; } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -