Mercurial > pidgin.yaz
diff src/protocols/msn/msn.c @ 12143:cbebda5f019c
[gaim-migrate @ 14444]
SF Patch #1360399 from Evan Schoenberg (evands)
"I discussed this previously with Mark and he said it'd be fine.
This factors out the part of the send_file function which creates a new
GaimXfer into a separate prpl function, new_xfer. It's called in each of the
existing send_file functions.
This is needed so that another client (okay, Adium) can get a new
outgoing GaimXfer from a prpl without depending upon the specific ft.c
logic of send_file; previously I was adding a duplicate method to each prpl
and then calling it directly."
I fixed a couple small bugs in this. Otherwise, it looks good, and seems like a reasonable libgaim request.
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Sat, 19 Nov 2005 00:26:12 +0000 |
parents | c824e39db0e7 |
children | 58685e2d472b |
line wrap: on
line diff
--- a/src/protocols/msn/msn.c Sat Nov 19 00:16:45 2005 +0000 +++ b/src/protocols/msn/msn.c Sat Nov 19 00:26:12 2005 +0000 @@ -422,22 +422,30 @@ msn_slplink_request_ft(slplink, xfer); } -static void -msn_send_file(GaimConnection *gc, const char *who, const char *file) +static GaimXfer* +msn_new_xfer(GaimConnection *gc, const char *who) { MsnSession *session; MsnSlpLink *slplink; GaimXfer *xfer; - + session = gc->proto_data; - + xfer = gaim_xfer_new(gc->account, GAIM_XFER_SEND, who); + + slplink = msn_session_get_slplink(session, who); + + xfer->data = slplink; + + gaim_xfer_set_init_fnc(xfer, t_msn_xfer_init); + + return xfer; +} - slplink = msn_session_get_slplink(session, who); - - xfer->data = slplink; - - gaim_xfer_set_init_fnc(xfer, t_msn_xfer_init); +static void +msn_send_file(GaimConnection *gc, const char *who, const char *file) +{ + GaimXfer *xfer = msn_new_xfer(gc, who); if (file) gaim_xfer_request_accepted(xfer, file); @@ -1905,7 +1913,8 @@ NULL, /* roomlist_cancel */ NULL, /* roomlist_expand_category */ msn_can_receive_file, /* can_receive_file */ - msn_send_file /* send_file */ + msn_send_file, /* send_file */ + msn_new_xfer /* new_xfer */ }; static GaimPluginInfo info =