sessioni.cpp
来自「ICE-3.2 一个开源的中间件」· C++ 代码 · 共 80 行
CPP
80 行
// **********************************************************************//// 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 <SessionI.h>#include <TestCommon.h>using namespace std;using namespace Test;class DestroyCB : public Glacier2::AMI_SessionControl_destroy{public: DestroyCB(const Test::AMD_Session_destroyFromClientPtr& cb) : _cb(cb) { } void ice_response() { _cb->ice_response(); } void ice_exception(const IceUtil::Exception&) { test(false); }private: Test::AMD_Session_destroyFromClientPtr _cb;};Glacier2::SessionPrxSessionManagerI::create(const string& userId, const Glacier2::SessionControlPrx& sessionControl, const Ice::Current& current){ if(userId == "rejectme") { throw Glacier2::CannotCreateSessionException(""); } if(userId == "localexception") { throw Ice::ObjectNotExistException(__FILE__, __LINE__); } return Glacier2::SessionPrx::uncheckedCast(current.adapter->addWithUUID(new SessionI(sessionControl)));}SessionI::SessionI(const Glacier2::SessionControlPrx& sessionControl) : _sessionControl(sessionControl){ assert(sessionControl);}voidSessionI::destroyFromClient_async(const Test::AMD_Session_destroyFromClientPtr& cb, const Ice::Current& current){ _sessionControl->destroy_async(new DestroyCB(cb));}voidSessionI::shutdown(const Ice::Current& current){ current.adapter->getCommunicator()->shutdown();}voidSessionI::destroy(const Ice::Current& current){ current.adapter->remove(current.id);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?