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

📄 testi.cpp

📁 ICE-3.2 一个开源的中间件
💻 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 + -