wsp_push_client_states.def

来自「mms client」· DEF 代码 · 共 113 行

DEF
113
字号
/* * wsp_push_client_states.def: Macros defining wsp push client state table  * rows. * See documentation for guidance how to use and update these. * 1 means an unconditional action, {} an ignored event. * * By Aarno Syv鋘en for Wapit Ltd. */PUSH_CLIENT_STATE_NAME(PUSH_CLIENT_NULL_STATE)PUSH_CLIENT_STATE_NAME(PUSH_CLIENT_RECEIVING)ROW(PUSH_CLIENT_NULL_STATE,    TR_Invoke_Ind,    e->u.TR_Invoke_Ind.tcl == 1 && pdu->type == ConfirmedPush,    {     Octstr *push_body;     List *push_headers;     if (pdu->u.ConfirmedPush.headers_len > 0) 	 push_headers = wsp_headers_unpack(pdu->u.ConfirmedPush.headers, 0);     else  	 push_headers = NULL;         http_remove_hop_headers(push_headers);     http_header_pack(push_headers);     gw_assert(push_headers);     cpm->push_headers = http_header_duplicate(push_headers);     push_body = octstr_duplicate(pdu->u.ConfirmedPush.data);     http_destroy_headers(push_headers);/* * For debugging: just tell about the push OTA event, and destroy it here -  * handle_event does not do it. */     indicate_confirmedpush(cpm, push_body);     octstr_destroy(push_body);/* * For debugging: create S_ConfirmedPush_Res by ourselves and send it to  * ourselves. */    response_confirmedpush(cpm);    },    PUSH_CLIENT_RECEIVING)ROW(PUSH_CLIENT_RECEIVING,    S_ConfirmedPush_Res,    1,    {     response_responder_invoke(cpm);    },    PUSH_CLIENT_NULL_STATE)ROW(PUSH_CLIENT_RECEIVING,    S_PushAbort_Req,    1,    {     send_abort_to_responder(cpm, e->u.S_PushAbort_Req.reason);     indicate_pushabort(cpm, e->u.S_PushAbort_Req.reason);    },    PUSH_CLIENT_NULL_STATE)ROW(PUSH_CLIENT_RECEIVING,    Abort_Event,    1,    {     send_abort_to_responder(cpm, e->u.S_PushAbort_Req.reason);     indicate_pushabort(cpm, WSP_ABORT_USERREQ);    },    PUSH_CLIENT_NULL_STATE)ROW(PUSH_CLIENT_RECEIVING,    TR_Abort_Ind,    e->u.TR_Abort_Ind.abort_code == WSP_ABORT_DISCONNECT,    {     WAPEvent *wsp_event;     wsp_event = wap_event_create(Disconnect_Event);     wsp_event->u.Disconnect_Event.session_handle = cpm->client_push_id;     list_append(push_client_queue, wsp_event);    },    PUSH_CLIENT_NULL_STATE)ROW(PUSH_CLIENT_RECEIVING,    TR_Abort_Ind,    e->u.TR_Abort_Ind.abort_code == WSP_ABORT_SUSPEND,    {     WAPEvent *wsp_event;     wsp_event = wap_event_create(Suspend_Event);     wsp_event->u.Suspend_Event.session_handle = cpm->client_push_id;     list_append(push_client_queue, wsp_event);    },    PUSH_CLIENT_NULL_STATE)ROW(PUSH_CLIENT_RECEIVING,    TR_Abort_Ind,    e->u.TR_Abort_Ind.abort_code != WSP_ABORT_DISCONNECT &&    e->u.TR_Abort_Ind.abort_code != WSP_ABORT_SUSPEND,    {     indicate_pushabort(cpm, e->u.S_PushAbort_Req.reason);    },    PUSH_CLIENT_NULL_STATE)#undef PUSH_CLIENT_STATE_NAME#undef ROW

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?