コード例 #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
ファイル: CallbackI.cpp プロジェクト: updowndown/myffff
void
CallbackI::initiateCallbackEx_async(const AMD_Callback_initiateCallbackExPtr& cb,
                                    const CallbackReceiverPrx& proxy, const Current& current)
{
    if(proxy->ice_isTwoway())
    {
        proxy->callbackEx_async(new AMI_CallbackReceiver_callbackExI(cb), current.ctx);
    }
    else
    {
        proxy->callbackEx(current.ctx);
        cb->ice_response();
    }
}
コード例 #3
0
void
CallbackI::initiateCallbackEx_async(const AMD_Callback_initiateCallbackExPtr& cb,
                                    const CallbackReceiverPrx& proxy, const Current& current)
{
    if(proxy->ice_isTwoway())
    {
        AsyncCBPtr acb = new AsyncCB();
        proxy->begin_callbackEx(current.ctx,
            newCallback_CallbackReceiver_callbackEx(acb, &AsyncCB::responseCallbackEx, &AsyncCB::exceptionCallbackEx),
            newCookie(cb));
    }
    else
    {
        proxy->callbackEx(current.ctx);
        cb->ice_response();
    }
}
コード例 #4
0
ファイル: CallbackI.cpp プロジェクト: bholl/zeroc-ice
void
CallbackI::initiateCallback_async(const AMD_Callback_initiateCallbackPtr& cb,
                                  const CallbackReceiverPrx& proxy, int token, 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;
    }

    if(proxy->ice_isTwoway())
    {
        AsyncCBPtr acb = new AsyncCB();
        proxy->begin_callback(token, ctx, 
            newCallback_CallbackReceiver_callback(acb, &AsyncCB::responseCallback, &AsyncCB::exceptionCallback), 
            newCookie(cb));
    }
    else
    {
        proxy->callback(token, ctx);
        cb->ice_response();
    }
}