コード例 #1
0
ファイル: CallbackI.cpp プロジェクト: bholl/zeroc-ice
void
CallbackI::initiateCallbackWithPayload_async(const AMD_Callback_initiateCallbackWithPayloadPtr& cb, 
                                             const CallbackReceiverPrx& proxy, 
                                             const Current& current)
{
    Ice::Context::const_iterator p = current.ctx.find("serverOvrd");
    Ice::Context ctx = current.ctx;
    if(p != current.ctx.end())
    {
        ctx["_ovrd"] = p->second;
    }

    Ice::ByteSeq seq(1000 * 1024, 0);
    if(proxy->ice_isTwoway())
    {
        AsyncCBPtr acb = new AsyncCB();
        proxy->begin_callbackWithPayload(seq, ctx, 
                                         newCallback_CallbackReceiver_callbackWithPayload(
                                             acb, 
                                             &AsyncCB::responseCallbackWithPayload, 
                                             &AsyncCB::exceptionCallbackWithPayload),
                                         newCookie(cb));
    } 
    else 
    {
        proxy->callbackWithPayload(seq, ctx);
        cb->ice_response();
    }
}
コード例 #2
0
void
CallbackI::initiateCallbackWithPayload_async(const AMD_Callback_initiateCallbackWithPayloadPtr& cb,
                                             const CallbackReceiverPrx& proxy,
                                             const Current& current)
{
    Ice::ByteSeq seq(1000 * 1024, 0);
    AsyncCBPtr acb = new AsyncCB();
    proxy->begin_callbackWithPayload(seq, current.ctx,
        newCallback_CallbackReceiver_callbackWithPayload(acb, &AsyncCB::responseCallbackWithPayload,
                                                         &AsyncCB::exceptionCallbackWithPayload),
        newCookie(cb));
}