static void upload_offline_file_init(PurpleXfer* xfer) { qq_account* ac = purple_connection_get_protocol_data(purple_account_get_connection(xfer->account)); LwqqClient* lc = ac->qq; const char* serv_id; if(ac->flag&QQ_USE_QQNUM){ const char* qqnum = purple_xfer_get_remote_user(xfer); LwqqBuddy* b = find_buddy_by_qqnumber(ac->qq, qqnum); if(b == NULL) return; serv_id = b->uin; }else{ serv_id = purple_xfer_get_remote_user(xfer); } LwqqMsgOffFile* file = lwqq_msg_fill_upload_offline_file( xfer->local_filename, lc->myself->uin, serv_id); xfer->start_time = time(NULL); xfer->data = file; int flags = 0; if(ac->flag&QQ_DONT_EXPECT_100_CONTINUE) flags |= DONT_EXPECTED_100_CONTINUE; LwqqAsyncEvent* ev = lwqq_msg_upload_offline_file(lc,file,flags); lwqq_async_add_event_listener(ev,_C_(2p,send_file,ev,xfer)); 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); }
static void upload_offline_file_init(PurpleXfer* xfer) { qq_account* ac = purple_connection_get_protocol_data(purple_account_get_connection(xfer->account)); LwqqClient* lc = ac->qq; LwqqMsgOffFile* file = lwqq_msg_fill_upload_offline_file( xfer->local_filename, lc->myself->uin, purple_xfer_get_remote_user(xfer)); xfer->start_time = time(NULL); xfer->data = file; LwqqAsyncEvent* ev = lwqq_msg_upload_offline_file(lc,file); lwqq_async_add_event_listener(ev,_C_(2p,send_file,ev,xfer)); lwqq_async_event_set_progress(ev, file_trans_on_progress, xfer); }