📄 keyserver.cpp
字号:
// keyserver.cpp : Defines the entry point for the console application.
//
#include "ManageKey_s.hh"
#include "ManageKey_c.hh"
#include "ManageKey_impl.h"
USE_STD_NS
int main(int argc, char* argv[])
{
try {
CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
// 初始化ORB
CORBA::Object_var obj = orb->resolve_initial_references("RootPOA");
// 获得root POA
PortableServer::POA_var rootPOA = PortableServer::POA::_narrow(obj);
CORBA::PolicyList policies;
policies.length(1);
policies[(CORBA::ULong)0] =
rootPOA->create_lifespan_policy(PortableServer::PERSISTENT);
// 设置POA策略
PortableServer::POAManager_var poa_manager = rootPOA->the_POAManager();
// 取得POA Manager
PortableServer::POA_var myPOA = rootPOA->create_POA("manage_key_poa",
poa_manager, policies);
// 使用给定的策略建立POA
ManageKey_impl KeyServant;
// 建立POA服务器
PortableServer::ObjectId_var KeyId =
PortableServer::string_to_ObjectId("ManageKey");
myPOA->activate_object_with_id(KeyId, &KeyServant);
// 激活POA服务器
poa_manager->activate();
// 激活POA Manager
cout << myPOA->servant_to_reference(&KeyServant) << " is ready" << endl;
// 设置POA服务器引用
orb->run();
// ORB运行,等待连接
} catch(const CORBA::Exception& e) {
cerr << e << endl;
return 1;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -