libpurple/protocols/msn/slp.c

Fri, 09 Aug 2013 13:03:26 +0200

author
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
date
Fri, 09 Aug 2013 13:03:26 +0200
changeset 34287
6cd0c77b1f6a
parent 34269
26b4c9a54166
child 34912
539b7b4d1949
permissions
-rw-r--r--

HTTP: successful is spelled with one l

9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
1 /**
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
2 * @file msnslp.c MSNSLP support
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
3 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
4 * purple
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
5 *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
9198
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
e8eb6d5eb9eb [gaim-migrate @ 9993]
Christian Hammond <chipx86@chipx86.com>
parents: 9193
diff changeset
8 * source distribution.
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
9 *
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
13 * (at your option) any later version.
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
14 *
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
18 * GNU General Public License for more details.
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
19 *
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19747
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
23 */
30945
b875cf477e19 Remove unnecesary includes from msn.h.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30930
diff changeset
24
30961
885064b16c54 Include internal.h on each c file to avoid windows breakage as recommended by Daniel.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30945
diff changeset
25 #include "internal.h"
30945
b875cf477e19 Remove unnecesary includes from msn.h.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30930
diff changeset
26 #include "debug.h"
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
27 #include "http.h"
30945
b875cf477e19 Remove unnecesary includes from msn.h.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30930
diff changeset
28
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
29 #include "slp.h"
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
30 #include "slpcall.h"
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
31 #include "slpmsg.h"
30066
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
32 #include "msnutils.h"
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
33
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
34 #include "object.h"
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
35 #include "user.h"
31013
aeda13e20dc7 This header is needed to know the max size of a part.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31012
diff changeset
36 #include "sbconn.h"
30066
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
37 #include "directconn.h"
30966
c9d0661c74ed Start moving p2p specific code to its own module.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30963
diff changeset
38 #include "p2p.h"
31034
d5bc0b03e482 Move msn_xfer code to it's own module aiming to simplify slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31033
diff changeset
39 #include "xfer.h"
22653
bed3d8152a58 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21066
diff changeset
40
30329
b88548117247 Minor comment fix.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30327
diff changeset
41 /* seconds to delay between sending buddy icon requests to the server. */
24619
5ece4c87ea96 Use purple_timeout_add_seconds() instead of purple_timeout_add() in a
Mark Doliner <markdoliner@pidgin.im>
parents: 24618
diff changeset
42 #define BUDDY_ICON_DELAY 20
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
43
30580
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
44 typedef struct {
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
45 MsnSession *session;
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
46 const char *remote_user;
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
47 const char *sha1;
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
48 } MsnFetchUserDisplayData;
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
49
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
50 /**************************************************************************
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
51 * SLP Control
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
52 **************************************************************************/
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
53
30066
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
54 void
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
55 msn_slp_send_ok(MsnSlpCall *slpcall, const char *branch,
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
56 const char *type, const char *content)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
57 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
58 MsnSlpLink *slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
59 MsnSlpMessage *slpmsg;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
60
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
61 slplink = slpcall->slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
62
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
63 /* 200 OK */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
64 slpmsg = msn_slpmsg_sip_new(slpcall, 1,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
65 "MSNSLP/1.0 200 OK",
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
66 branch, type, content);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
67
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
68 slpmsg->info = "SLP 200 OK";
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
69 slpmsg->text_body = TRUE;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
70
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
71 msn_slplink_queue_slpmsg(slplink, slpmsg);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
72 }
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
73
30066
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
74 void
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
75 msn_slp_send_decline(MsnSlpCall *slpcall, const char *branch,
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
76 const char *type, const char *content)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
77 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
78 MsnSlpLink *slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
79 MsnSlpMessage *slpmsg;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
80
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
81 slplink = slpcall->slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
82
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
83 /* 603 Decline */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
84 slpmsg = msn_slpmsg_sip_new(slpcall, 1,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
85 "MSNSLP/1.0 603 Decline",
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
86 branch, type, content);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
87
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
88 slpmsg->info = "SLP 603 Decline";
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
89 slpmsg->text_body = TRUE;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
90
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
91 msn_slplink_queue_slpmsg(slplink, slpmsg);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
92 }
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
93
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
94 /**************************************************************************
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
95 * Msg Callbacks
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
96 **************************************************************************/
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
97
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
98 /*
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
99 * Called on a timeout from end_user_display(). Frees a buddy icon window slow and dequeues the next
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
100 * buddy icon request if there is one.
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
101 */
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
102 static gboolean
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
103 msn_release_buddy_icon_request_timeout(gpointer data)
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
104 {
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
105 MsnUserList *userlist = (MsnUserList *)data;
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
106
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
107 /* Free one window slot */
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
108 userlist->buddy_icon_window++;
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
109
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
110 /* Clear the tag for our former request timer */
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
111 userlist->buddy_icon_request_timer = 0;
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
112
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
113 msn_release_buddy_icon_request(userlist);
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
114
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
115 return FALSE;
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
116 }
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
117
11897
10853b830964 [gaim-migrate @ 14188]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11595
diff changeset
118 static void
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
119 got_user_display(MsnSlpCall *slpcall,
11137
cf40226ddff7 [gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents: 11127
diff changeset
120 const guchar *data, gsize size)
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
121 {
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
122 const char *info;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
123 PurpleAccount *account;
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
124
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
125 g_return_if_fail(slpcall != NULL);
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
126
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
127 info = slpcall->data_info;
27691
d77b2890043e Change all MSN_DEBUG_* messages to use the new purple_debug_is_verbose call
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26738
diff changeset
128 if (purple_debug_is_verbose())
d77b2890043e Change all MSN_DEBUG_* messages to use the new purple_debug_is_verbose call
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26738
diff changeset
129 purple_debug_info("msn", "Got User Display: %s\n", slpcall->slplink->remote_user);
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
130
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
131 account = slpcall->slplink->session->account;
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
132
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
133 purple_buddy_icons_set_for_user(account, slpcall->slplink->remote_user,
30706
612b36b49058 Kill off many dead assignments and any useless remaining variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30602
diff changeset
134 g_memdup(data, size), size, info);
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
135 }
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
136
11897
10853b830964 [gaim-migrate @ 14188]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11595
diff changeset
137 static void
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
138 end_user_display(MsnSlpCall *slpcall, MsnSession *session)
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
139 {
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
140 MsnUserList *userlist;
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
141
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
142 g_return_if_fail(session != NULL);
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
143
27691
d77b2890043e Change all MSN_DEBUG_* messages to use the new purple_debug_is_verbose call
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26738
diff changeset
144 if (purple_debug_is_verbose())
d77b2890043e Change all MSN_DEBUG_* messages to use the new purple_debug_is_verbose call
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26738
diff changeset
145 purple_debug_info("msn", "End User Display\n");
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10602
diff changeset
146
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
147 userlist = session->userlist;
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
148
10296
9badf1cedc6e [gaim-migrate @ 11476]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10226
diff changeset
149 /* If the session is being destroyed we better stop doing anything. */
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
150 if (session->destroying)
10296
9badf1cedc6e [gaim-migrate @ 11476]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10226
diff changeset
151 return;
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
152
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
153 /* Delay before freeing a buddy icon window slot and requesting the next icon, if appropriate.
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
154 * If we don't delay, we'll rapidly hit the MSN equivalent of AIM's rate limiting; the server will
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
155 * send us an error 800 like so:
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
156 *
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
157 * C: NS 000: XFR 21 SB
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
158 * S: NS 000: 800 21
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
159 */
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
160 if (userlist->buddy_icon_request_timer) {
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
161 /* Free the window slot used by this previous request */
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
162 userlist->buddy_icon_window++;
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
163
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
164 /* Clear our pending timeout */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
165 purple_timeout_remove(userlist->buddy_icon_request_timer);
13028
fcd75318a565 [gaim-migrate @ 15381]
Evan Schoenberg <evands@pidgin.im>
parents: 12886
diff changeset
166 }
10296
9badf1cedc6e [gaim-migrate @ 11476]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10226
diff changeset
167
24619
5ece4c87ea96 Use purple_timeout_add_seconds() instead of purple_timeout_add() in a
Mark Doliner <markdoliner@pidgin.im>
parents: 24618
diff changeset
168 /* Wait BUDDY_ICON_DELAY s before freeing our window slot and requesting the next icon. */
5ece4c87ea96 Use purple_timeout_add_seconds() instead of purple_timeout_add() in a
Mark Doliner <markdoliner@pidgin.im>
parents: 24618
diff changeset
169 userlist->buddy_icon_request_timer = purple_timeout_add_seconds(BUDDY_ICON_DELAY,
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
170 msn_release_buddy_icon_request_timeout, userlist);
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
171 }
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
172
23809
334ee2bd89d7 A patch from felipec to make (msn_)request_user_display static.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23441
diff changeset
173 static void
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
174 fetched_user_display(PurpleHttpConnection *http_conn,
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
175 PurpleHttpResponse *response, gpointer _data)
30580
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
176 {
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
177 MsnFetchUserDisplayData *data = _data;
30580
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
178 MsnSession *session = data->session;
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
179
34287
6cd0c77b1f6a HTTP: successful is spelled with one l
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34269
diff changeset
180 if (purple_http_response_is_successful(response)) {
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
181 size_t len;
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
182 const gchar *icon_data;
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
183
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
184 icon_data = purple_http_response_get_data(response, &len);
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
185 purple_buddy_icons_set_for_user(session->account,
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
186 data->remote_user, g_memdup(icon_data, len), len,
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
187 data->sha1);
30580
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
188 }
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
189
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
190 end_user_display(NULL, session);
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
191
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
192 g_free(data);
30580
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
193 }
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
194
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
195 static void
31037
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
196 request_own_user_display(MsnUser *user)
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
197 {
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
198 PurpleAccount *account;
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
199 MsnSession *session;
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
200 MsnObject *my_obj = NULL;
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
201 gconstpointer data = NULL;
31108
159e2df516b2 Fix possible uninitialized value.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31106
diff changeset
202 const char *info = NULL;
31037
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
203 size_t len = 0;
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
204
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
205 if (purple_debug_is_verbose())
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
206 purple_debug_info("msn", "Requesting our own user display\n");
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
207
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
208 session = user->userlist->session;
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
209 account = session->account;
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
210 my_obj = msn_user_get_object(user);
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
211
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
212 if (my_obj != NULL) {
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
213 PurpleStoredImage *img = msn_object_get_image(my_obj);
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
214 data = purple_imgstore_get_data(img);
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
215 len = purple_imgstore_get_size(img);
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
216 info = msn_object_get_sha1(my_obj);
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
217 }
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
218
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
219 purple_buddy_icons_set_for_user(account, user->passport, g_memdup(data, len), len, info);
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
220
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
221 /* Free one window slot */
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
222 session->userlist->buddy_icon_window++;
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
223
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
224 if (purple_debug_is_verbose())
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
225 purple_debug_info("msn", "msn_request_user_display(): buddy_icon_window++ yields =%d\n",
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
226 session->userlist->buddy_icon_window);
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
227
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
228 msn_release_buddy_icon_request(session->userlist);
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
229 }
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
230
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
231 void
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
232 msn_request_user_display(MsnUser *user)
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
233 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
234 PurpleAccount *account;
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
235 MsnSession *session;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
236 MsnSlpLink *slplink;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
237 MsnObject *obj;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
238 const char *info;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
239
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
240 session = user->userlist->session;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
241 account = session->account;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
242
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
243 slplink = msn_session_get_slplink(session, user->passport);
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
244
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
245 obj = msn_user_get_object(user);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
246
16090
57832613774a Patch in Trac ticket #113 from Simom.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
247 info = msn_object_get_sha1(obj);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
248
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
249 if (g_ascii_strcasecmp(user->passport,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
250 purple_account_get_username(account)))
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
251 {
30580
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
252 const char *url = msn_object_get_url1(obj);
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
253 if (url) {
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
254 PurpleHttpRequest *req;
30580
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
255 MsnFetchUserDisplayData *data = g_new0(MsnFetchUserDisplayData, 1);
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
256 data->session = session;
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
257 data->remote_user = user->passport;
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
258 data->sha1 = info;
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
259
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
260 req = purple_http_request_new(url);
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
261 purple_http_request_set_max_len(req, 200*1024);
34269
26b4c9a54166 HTTP: Use PurpleHttpConnectionSet instead of GSLists of PurpleHttpConnection structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34227
diff changeset
262 purple_http_connection_set_add(session->http_reqs,
26b4c9a54166 HTTP: Use PurpleHttpConnectionSet instead of GSLists of PurpleHttpConnection structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34227
diff changeset
263 purple_http_request(NULL, req,
26b4c9a54166 HTTP: Use PurpleHttpConnectionSet instead of GSLists of PurpleHttpConnection structs
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 34227
diff changeset
264 fetched_user_display, data));
34227
6d016a081401 HTTP: migrate purple_util_fetch_url to new API for prpls
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents: 33424
diff changeset
265 purple_http_request_unref(req);
30580
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
266 } else {
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
267 msn_slplink_request_object(slplink, info, got_user_display,
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
268 end_user_display, obj);
bb4da51c1259 Add support for Url/Url1 in MSN objects, which are used for buddy
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30375
diff changeset
269 }
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
270 }
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
271 else
31037
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
272 request_own_user_display(user);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
273 }
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
274
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
275 static void
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
276 send_file_cb(MsnSlpCall *slpcall)
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
277 {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
278 MsnSlpMessage *slpmsg;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
279 PurpleXfer *xfer;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
280
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
281 xfer = (PurpleXfer *)slpcall->xfer;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
282 if (purple_xfer_get_status(xfer) >= PURPLE_XFER_STATUS_STARTED)
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
283 return;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
284
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
285 purple_xfer_ref(xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
286 purple_xfer_start(xfer, -1, NULL, 0);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
287 if (purple_xfer_get_status(xfer) != PURPLE_XFER_STATUS_STARTED) {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
288 purple_xfer_unref(xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
289 return;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
290 }
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
291 purple_xfer_unref(xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
292
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
293 slpmsg = msn_slpmsg_file_new(slpcall, purple_xfer_get_size(xfer));
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
294
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
295 msn_slplink_send_slpmsg(slpcall->slplink, slpmsg);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
296 }
10072
7bcd144ef597 [gaim-migrate @ 11051]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10047
diff changeset
297
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
298 static gchar *
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
299 gen_context(PurpleXfer *xfer, const char *file_name, const char *file_path)
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
300 {
32666
f3e71a830527 Update MSN for 64-bit file transfers.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32661
diff changeset
301 goffset size = 0;
31336
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
302 MsnFileContext context;
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
303 gchar *u8 = NULL;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
304 gchar *ret;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
305 gunichar2 *uni = NULL;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
306 glong currentChar = 0;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
307 glong len = 0;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
308 const char *preview;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
309 gsize preview_len;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
310
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
311 size = purple_xfer_get_size(xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
312
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
313 purple_xfer_prepare_thumbnail(xfer, "png");
10072
7bcd144ef597 [gaim-migrate @ 11051]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10047
diff changeset
314
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
315 if (!file_name) {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
316 gchar *basename = g_path_get_basename(file_path);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
317 u8 = purple_utf8_try_convert(basename);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
318 g_free(basename);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
319 file_name = u8;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
320 }
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
321
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
322 uni = g_utf8_to_utf16(file_name, -1, NULL, &len, NULL);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
323
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
324 if (u8) {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
325 g_free(u8);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
326 file_name = NULL;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
327 u8 = NULL;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
328 }
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
329
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
330 preview = purple_xfer_get_thumbnail(xfer, &preview_len);
10072
7bcd144ef597 [gaim-migrate @ 11051]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10047
diff changeset
331
32661
267de0b8a2cc Add support for file context v0, which is used by older official MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32659
diff changeset
332 context.length = MSN_FILE_CONTEXT_SIZE_V2;
31336
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
333 context.version = 2; /* V.3 contains additional unnecessary data */
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
334 context.file_size = size;
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
335 if (preview)
31336
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
336 context.type = 0;
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
337 else
31336
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
338 context.type = 1;
10072
7bcd144ef597 [gaim-migrate @ 11051]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10047
diff changeset
339
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
340 len = MIN(len, MAX_FILE_NAME_LEN);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
341 for (currentChar = 0; currentChar < len; currentChar++) {
31336
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
342 context.file_name[currentChar] = GUINT16_TO_LE(uni[currentChar]);
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
343 }
31336
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
344 memset(&context.file_name[currentChar], 0x00, (MAX_FILE_NAME_LEN - currentChar) * 2);
31249
b6c1a0a39131 Add functions for reading and writing a MsnFileContext which negates
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31108
diff changeset
345
32659
a0c5b6db8ee5 Since we don't know what these fields are, and we don't use them,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32596
diff changeset
346 #if 0
31336
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
347 memset(&context.unknown1, 0, sizeof(context.unknown1));
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
348 context.unknown2 = 0xffffffff;
32659
a0c5b6db8ee5 Since we don't know what these fields are, and we don't use them,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32596
diff changeset
349 #endif
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
350
31249
b6c1a0a39131 Add functions for reading and writing a MsnFileContext which negates
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31108
diff changeset
351 /* Mind the cast, as in, don't free it after! */
31336
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
352 context.preview = (char *)preview;
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
353 context.preview_len = preview_len;
31249
b6c1a0a39131 Add functions for reading and writing a MsnFileContext which negates
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31108
diff changeset
354
31336
1a91c541c5c5 Change MsnFileContext variables from "header" to "context". This it
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31249
diff changeset
355 u8 = msn_file_context_to_wire(&context);
32661
267de0b8a2cc Add support for file context v0, which is used by older official MSN
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32659
diff changeset
356 ret = purple_base64_encode((const guchar *)u8, MSN_FILE_CONTEXT_SIZE_V2 + preview_len);
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
357
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
358 g_free(uni);
31249
b6c1a0a39131 Add functions for reading and writing a MsnFileContext which negates
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31108
diff changeset
359 g_free(u8);
b6c1a0a39131 Add functions for reading and writing a MsnFileContext which negates
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31108
diff changeset
360
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
361 return ret;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
362 }
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
363
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
364 void
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
365 msn_request_ft(PurpleXfer *xfer)
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
366 {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
367 MsnSlpCall *slpcall;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
368 MsnSlpLink *slplink;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
369 char *context;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
370 const char *fn;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
371 const char *fp;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
372
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
373 fn = purple_xfer_get_filename(xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
374 fp = purple_xfer_get_local_filename(xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
375
32244
21305036245c Convert the msn prpl to use the new API.
Andrew Victor <andrew.victor@mxit.com>
parents: 31951
diff changeset
376 slplink = purple_xfer_get_protocol_data(xfer);
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
377
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
378 g_return_if_fail(slplink != NULL);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
379 g_return_if_fail(fp != NULL);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
380
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
381 slpcall = msn_slpcall_new(slplink);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
382 msn_slpcall_init(slpcall, MSN_SLPCALL_DC);
23812
5399dc0d191c disapproval of revision '364ef11540c03fc34138ee3db995e341997833ad'
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23811
diff changeset
383
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
384 slpcall->session_init_cb = send_file_cb;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
385 slpcall->end_cb = msn_xfer_end_cb;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
386 slpcall->cb = msn_xfer_completed_cb;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
387 slpcall->xfer = xfer;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
388 purple_xfer_ref(slpcall->xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
389
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
390 slpcall->pending = TRUE;
23812
5399dc0d191c disapproval of revision '364ef11540c03fc34138ee3db995e341997833ad'
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23811
diff changeset
391
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
392 purple_xfer_set_cancel_send_fnc(xfer, msn_xfer_cancel);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
393 purple_xfer_set_read_fnc(xfer, msn_xfer_read);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
394 purple_xfer_set_write_fnc(xfer, msn_xfer_write);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
395
32244
21305036245c Convert the msn prpl to use the new API.
Andrew Victor <andrew.victor@mxit.com>
parents: 31951
diff changeset
396 purple_xfer_set_protocol_data(xfer, slpcall);
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
397
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
398 context = gen_context(xfer, fn, fp);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
399
31046
33671e05cf24 Documetn P2P Application ID in a enum and use it instead of 'magic numbers'.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31037
diff changeset
400 msn_slpcall_invite(slpcall, MSN_FT_GUID, P2P_APPID_FILE, context);
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
401 msn_slplink_unref(slplink);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
402
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
403 g_free(context);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
404 }
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
405

mercurial