📄 testi.cpp
字号:
// **********************************************************************//// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.//// This copy of Ice is licensed to you under the terms described in the// ICE_LICENSE file included in this distribution.//// **********************************************************************#include <Ice/Ice.h>#include <IceUtil/Thread.h>#include <TestI.h>#include <TestCommon.h>#include <IceSSL/Plugin.h>using namespace std;using namespace Ice;ServerI::ServerI(const CommunicatorPtr& communicator) : _communicator(communicator){}voidServerI::noCert(const Ice::Current& c){ try { IceSSL::ConnectionInfo info = IceSSL::getConnectionInfo(c.con); test(info.certs.size() == 0); } catch(const IceSSL::ConnectionInvalidException&) { test(false); }}voidServerI::checkCert(const string& subjectDN, const string& issuerDN, const Ice::Current& c){ try { IceSSL::ConnectionInfo info = IceSSL::getConnectionInfo(c.con); test(info.certs.size() == 2 && info.certs[0]->getSubjectDN() == IceSSL::DistinguishedName(subjectDN) && info.certs[0]->getIssuerDN() == IceSSL::DistinguishedName(issuerDN)); } catch(const IceSSL::ConnectionInvalidException&) { test(false); }}voidServerI::checkCipher(const string& cipher, const Ice::Current& c){ try { IceSSL::ConnectionInfo info = IceSSL::getConnectionInfo(c.con); test(info.cipher.compare(0, cipher.size(), cipher) == 0); } catch(const IceSSL::ConnectionInvalidException&) { test(false); }}voidServerI::destroy(){ _communicator->destroy();}Test::ServerPrxServerFactoryI::createServer(const Test::Properties& props, const Current& current){ InitializationData initData; initData.properties = createProperties(); for(Test::Properties::const_iterator p = props.begin(); p != props.end(); ++p) { initData.properties->setProperty(p->first, p->second); } CommunicatorPtr communicator = initialize(initData); ObjectAdapterPtr adapter = communicator->createObjectAdapterWithEndpoints("ServerAdapter", "ssl"); ServerIPtr server = new ServerI(communicator); ObjectPrx obj = adapter->addWithUUID(server); _servers[obj->ice_getIdentity()] = server; adapter->activate(); return Test::ServerPrx::uncheckedCast(obj);}voidServerFactoryI::destroyServer(const Test::ServerPrx& srv, const Ice::Current&){ map<Identity, ServerIPtr>::iterator p = _servers.find(srv->ice_getIdentity()); if(p != _servers.end()) { p->second->destroy(); _servers.erase(p); }}voidServerFactoryI::shutdown(const Ice::Current& current){ test(_servers.empty()); current.adapter->getCommunicator()->shutdown();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -