Mercurial > pidgin.yaz
comparison libpurple/protocols/jabber/si.c @ 31449:1c660ba17ba1
propagate from branch 'im.pidgin.pidgin' (head 6f879669a6513a5c40335bbaefe842389a92b39e)
to branch 'im.pidgin.cpw.qulogic.cairo' (head 4ab0199887f74442673fd46dcbb662bc7f070bc4)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Sun, 21 Nov 2010 20:30:12 +0000 |
parents | 372bec4b2ff9 |
children | 29b4f2c52533 a8cc50c2279f |
comparison
equal
deleted
inserted
replaced
31448:9a705087d64e | 31449:1c660ba17ba1 |
---|---|
981 | 981 |
982 static void | 982 static void |
983 jabber_si_xfer_ibb_error_cb(JabberIBBSession *sess) | 983 jabber_si_xfer_ibb_error_cb(JabberIBBSession *sess) |
984 { | 984 { |
985 PurpleXfer *xfer = (PurpleXfer *) jabber_ibb_session_get_user_data(sess); | 985 PurpleXfer *xfer = (PurpleXfer *) jabber_ibb_session_get_user_data(sess); |
986 JabberStream *js = jabber_ibb_session_get_js(sess); | |
987 PurpleConnection *gc = js->gc; | |
988 PurpleAccount *account = purple_connection_get_account(gc); | |
989 | 986 |
990 purple_debug_error("jabber", "an error occurred during IBB file transfer\n"); | 987 purple_debug_error("jabber", "an error occurred during IBB file transfer\n"); |
991 purple_xfer_error(purple_xfer_get_type(xfer), account, | |
992 jabber_ibb_session_get_who(sess), | |
993 _("An error occurred on the in-band bytestream transfer\n")); | |
994 purple_xfer_cancel_remote(xfer); | 988 purple_xfer_cancel_remote(xfer); |
995 } | 989 } |
996 | 990 |
997 static void | 991 static void |
998 jabber_si_xfer_ibb_closed_cb(JabberIBBSession *sess) | 992 jabber_si_xfer_ibb_closed_cb(JabberIBBSession *sess) |
999 { | 993 { |
1000 PurpleXfer *xfer = (PurpleXfer *) jabber_ibb_session_get_user_data(sess); | 994 PurpleXfer *xfer = (PurpleXfer *) jabber_ibb_session_get_user_data(sess); |
1001 JabberStream *js = jabber_ibb_session_get_js(sess); | |
1002 PurpleConnection *gc = js->gc; | |
1003 PurpleAccount *account = purple_connection_get_account(gc); | |
1004 | 995 |
1005 purple_debug_info("jabber", "the remote user closed the transfer\n"); | 996 purple_debug_info("jabber", "the remote user closed the transfer\n"); |
1006 if (purple_xfer_get_bytes_remaining(xfer) > 0) { | 997 if (purple_xfer_get_bytes_remaining(xfer) > 0) { |
1007 purple_xfer_error(purple_xfer_get_type(xfer), account, | |
1008 jabber_ibb_session_get_who(sess), _("Transfer was closed.")); | |
1009 purple_xfer_cancel_remote(xfer); | 998 purple_xfer_cancel_remote(xfer); |
1010 } else { | 999 } else { |
1011 purple_xfer_set_completed(xfer, TRUE); | 1000 purple_xfer_set_completed(xfer, TRUE); |
1012 purple_xfer_end(xfer); | 1001 purple_xfer_end(xfer); |
1013 } | 1002 } |
1135 | 1124 |
1136 static void | 1125 static void |
1137 jabber_si_xfer_ibb_opened_cb(JabberIBBSession *sess) | 1126 jabber_si_xfer_ibb_opened_cb(JabberIBBSession *sess) |
1138 { | 1127 { |
1139 PurpleXfer *xfer = (PurpleXfer *) jabber_ibb_session_get_user_data(sess); | 1128 PurpleXfer *xfer = (PurpleXfer *) jabber_ibb_session_get_user_data(sess); |
1140 JabberStream *js = jabber_ibb_session_get_js(sess); | |
1141 PurpleConnection *gc = js->gc; | |
1142 PurpleAccount *account = purple_connection_get_account(gc); | |
1143 | 1129 |
1144 if (jabber_ibb_session_get_state(sess) == JABBER_IBB_SESSION_OPENED) { | 1130 if (jabber_ibb_session_get_state(sess) == JABBER_IBB_SESSION_OPENED) { |
1145 purple_xfer_start(xfer, -1, NULL, 0); | 1131 purple_xfer_start(xfer, -1, NULL, 0); |
1146 purple_xfer_prpl_ready(xfer); | 1132 purple_xfer_prpl_ready(xfer); |
1147 } else { | 1133 } else { |
1148 /* error */ | 1134 /* error */ |
1149 purple_xfer_error(purple_xfer_get_type(xfer), account, | |
1150 jabber_ibb_session_get_who(sess), | |
1151 _("Failed to open in-band bytestream")); | |
1152 purple_xfer_end(xfer); | 1135 purple_xfer_end(xfer); |
1153 } | 1136 } |
1154 } | 1137 } |
1155 | 1138 |
1156 static void | 1139 static void |
1664 return xfer; | 1647 return xfer; |
1665 } | 1648 } |
1666 | 1649 |
1667 void jabber_si_xfer_send(PurpleConnection *gc, const char *who, const char *file) | 1650 void jabber_si_xfer_send(PurpleConnection *gc, const char *who, const char *file) |
1668 { | 1651 { |
1669 JabberStream *js; | |
1670 | |
1671 PurpleXfer *xfer; | 1652 PurpleXfer *xfer; |
1672 | |
1673 js = gc->proto_data; | |
1674 | 1653 |
1675 xfer = jabber_si_new_xfer(gc, who); | 1654 xfer = jabber_si_new_xfer(gc, who); |
1676 | 1655 |
1677 if (file) | 1656 if (file) |
1678 purple_xfer_request_accepted(xfer, file); | 1657 purple_xfer_request_accepted(xfer, file); |