Esempio n. 1
0
static void recv_file_init(PurpleXfer* xfer)
{
    qq_account* ac = purple_connection_get_protocol_data(purple_account_get_connection(xfer->account));
    LwqqClient* lc = ac->qq;
    LwqqMsgFileMessage* file = xfer->data;
    const char* filename = purple_xfer_get_local_filename(xfer);
    xfer->start_time = time(NULL);
    LwqqAsyncEvent* ev = lwqq_msg_accept_file(lc,file,filename);
    if(ev == NULL){ 
        lwqq_puts("file trans error ");
        purple_xfer_error(PURPLE_XFER_RECEIVE, ac->account, purple_xfer_get_remote_user(xfer), "接受文件失败");
        purple_xfer_cancel_local(xfer);
        return;
    }
    lwqq_async_event_set_progress(ev,file_trans_on_progress,xfer);
    lwqq_async_add_event_listener(ev,_C_(p,recv_file_complete,xfer));
}
Esempio n. 2
0
static void recv_file_init(PurpleXfer* xfer)
{
	qq_account* ac = purple_connection_get_protocol_data(purple_account_get_connection(xfer->account));
	LwqqClient* lc = ac->qq;
	LwqqMsgFileMessage* file = xfer->data;
	const char* filename = purple_xfer_get_local_filename(xfer);
	xfer->start_time = time(NULL);
	LwqqAsyncEvent* ev = lwqq_msg_accept_file(lc,file,filename);
	if(ev == NULL){ 
		lwqq_puts("file trans error ");
		purple_xfer_error(PURPLE_XFER_RECEIVE, ac->account, purple_xfer_get_remote_user(xfer), _("Receive file failed"));
		purple_xfer_cancel_local(xfer);
		return;
	}
	LwqqHttpRequest* req = lwqq_async_event_get_conn(ev);
	lwqq_http_on_progress(req, file_trans_on_progress, xfer);
	lwqq_http_set_option(req, LWQQ_HTTP_CANCELABLE,1L);
	lwqq_async_add_event_listener(ev,_C_(2p,recv_file_complete,xfer,ev));
}