libpurple/protocols/jabber/oob.c

branch
soc.2013.gobjectification
changeset 34920
2df7191f56ea
parent 34913
21017b84a070
child 34926
c5b444d1447d
equal deleted inserted replaced
34919:80d8cc6db8a3 34920:2df7191f56ea
166 166
167 purple_http_conn_cancel(jox->hc); 167 purple_http_conn_cancel(jox->hc);
168 jabber_oob_xfer_recv_error(xfer, "404"); 168 jabber_oob_xfer_recv_error(xfer, "404");
169 } 169 }
170 170
171 static PurpleXferIoOps recieve_ops =
172 {
173 jabber_oob_xfer_init, /* init */
174 jabber_oob_xfer_recv_denied, /* request_denied */
175 jabber_oob_xfer_start, /* start */
176 jabber_oob_xfer_end, /* end */
177 NULL, /* cancel_send */
178 jabber_oob_xfer_recv_cancelled, /* cancel_recv */
179 NULL, /* read */
180 NULL, /* write */
181 NULL, /* ack */
182 };
183
184 void jabber_oob_parse(JabberStream *js, const char *from, JabberIqType type, 171 void jabber_oob_parse(JabberStream *js, const char *from, JabberIqType type,
185 const char *id, xmlnode *querynode) { 172 const char *id, xmlnode *querynode) {
186 JabberOOBXfer *jox; 173 JabberOOBXfer *jox;
187 PurpleXfer *xfer; 174 PurpleXfer *xfer;
188 const gchar *filename, *slash; 175 const gchar *filename, *slash;
219 if (slash == NULL) 206 if (slash == NULL)
220 filename = url; 207 filename = url;
221 else 208 else
222 filename = slash + 1; 209 filename = slash + 1;
223 purple_xfer_set_filename(xfer, filename); 210 purple_xfer_set_filename(xfer, filename);
224 purple_xfer_set_io_ops(xfer, &recieve_ops); 211
212 purple_xfer_set_init_fnc(xfer, jabber_oob_xfer_init);
213 purple_xfer_set_end_fnc(xfer, jabber_oob_xfer_end);
214 purple_xfer_set_request_denied_fnc(xfer, jabber_oob_xfer_recv_denied);
215 purple_xfer_set_cancel_recv_fnc(xfer, jabber_oob_xfer_recv_cancelled);
216 purple_xfer_set_start_fnc(xfer, jabber_oob_xfer_start);
225 217
226 js->oob_file_transfers = g_list_append(js->oob_file_transfers, xfer); 218 js->oob_file_transfers = g_list_append(js->oob_file_transfers, xfer);
227 219
228 purple_xfer_request(xfer); 220 purple_xfer_request(xfer);
229 } 221 }

mercurial