libpurple/protocols/msn/slp.c

Wed, 15 Sep 2010 17:34:21 +0000

author
Jorge Villaseñor <masca@cpw.pidgin.im>
date
Wed, 15 Sep 2010 17:34:21 +0000
branch
soc.2010.msn-tlc
changeset 31076
dcc26c5e9d7e
parent 31046
33671e05cf24
parent 30935
b639ee326262
child 31081
866acf29990a
permissions
-rw-r--r--

propagate from branch 'im.pidgin.cpw.qulogic.msnp16' (head b639ee32626228584d9b8ca1112317d51bf1de40)
to branch 'im.pidgin.soc.2010.msn-tlc' (head 35d41c8c8ed7a033278ee89640aaaa1ed0302659)

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"
b875cf477e19 Remove unnecesary includes from msn.h.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 30930
diff changeset
27
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
28 #include "slp.h"
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
29 #include "slpcall.h"
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
30 #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
31 #include "msnutils.h"
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
32
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
33 #include "object.h"
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
34 #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
35 #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
36 #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
37 #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
38 #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
39
30329
b88548117247 Minor comment fix.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30327
diff changeset
40 /* 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
41 #define BUDDY_ICON_DELAY 20
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
42
30066
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
43 static void request_user_display(MsnUser *user);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
44
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
45 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
46 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
47 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
48 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
49 } MsnFetchUserDisplayData;
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
50
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
51 /**************************************************************************
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
52 * SLP Control
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
53 **************************************************************************/
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
54
30066
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
55 void
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
56 msn_slp_send_ok(MsnSlpCall *slpcall, const char *branch,
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
57 const char *type, const char *content)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
58 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
59 MsnSlpLink *slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
60 MsnSlpMessage *slpmsg;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
61
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
62 slplink = slpcall->slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
63
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
64 /* 200 OK */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
65 slpmsg = msn_slpmsg_sip_new(slpcall, 1,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
66 "MSNSLP/1.0 200 OK",
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
67 branch, type, content);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
68
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
69 slpmsg->info = "SLP 200 OK";
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
70 slpmsg->text_body = TRUE;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
71
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
72 msn_slplink_queue_slpmsg(slplink, slpmsg);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
73 }
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
74
30066
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
75 void
25742b976ce2 Initial support for direct connections. Preliminary patch from ticket #247
Gábor Szuromi <kukkerman@gmail.com>
parents: 29774
diff changeset
76 msn_slp_send_decline(MsnSlpCall *slpcall, const char *branch,
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
77 const char *type, const char *content)
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
78 {
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
79 MsnSlpLink *slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
80 MsnSlpMessage *slpmsg;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
81
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
82 slplink = slpcall->slplink;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
83
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
84 /* 603 Decline */
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
85 slpmsg = msn_slpmsg_sip_new(slpcall, 1,
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
86 "MSNSLP/1.0 603 Decline",
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
87 branch, type, content);
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
88
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
89 slpmsg->info = "SLP 603 Decline";
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
90 slpmsg->text_body = TRUE;
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
91
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
92 msn_slplink_queue_slpmsg(slplink, slpmsg);
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 /**************************************************************************
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
96 * Msg Callbacks
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
97 **************************************************************************/
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
98
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
99 /*
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
100 * 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
101 * buddy icon request if there is one.
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
102 */
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
103 static gboolean
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
104 msn_release_buddy_icon_request_timeout(gpointer data)
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
105 {
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
106 MsnUserList *userlist = (MsnUserList *)data;
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
107
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
108 /* Free one window slot */
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
109 userlist->buddy_icon_window++;
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
110
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
111 /* Clear the tag for our former request timer */
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
112 userlist->buddy_icon_request_timer = 0;
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
113
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
114 msn_release_buddy_icon_request(userlist);
23441
fd45c23a3eb2 Delete trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 23008
diff changeset
115
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
116 return FALSE;
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
117 }
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
118
11897
10853b830964 [gaim-migrate @ 14188]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11595
diff changeset
119 static void
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
120 got_user_display(MsnSlpCall *slpcall,
11137
cf40226ddff7 [gaim-migrate @ 13201]
Mark Doliner <markdoliner@pidgin.im>
parents: 11127
diff changeset
121 const guchar *data, gsize size)
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
122 {
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
123 MsnUserList *userlist;
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
124 const char *info;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
125 PurpleAccount *account;
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
126
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
127 g_return_if_fail(slpcall != NULL);
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
128
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
129 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
130 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
131 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
132
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
133 userlist = slpcall->slplink->session->userlist;
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
134 account = slpcall->slplink->session->account;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
135
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
136 purple_buddy_icons_set_for_user(account, slpcall->slplink->remote_user,
16539
75a20ae3a527 Change the imgstore and by extension, then the buddy icon code to take over
Richard Laager <rlaager@pidgin.im>
parents: 16538
diff changeset
137 g_memdup(data, size), size, info);
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
138
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
139 #if 0
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
140 /* Free one window slot */
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
141 userlist->buddy_icon_window++;
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
142
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
143 purple_debug_info("msn", "got_user_display(): buddy_icon_window++ yields =%d\n",
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
144 userlist->buddy_icon_window);
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
145
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
146 msn_release_buddy_icon_request(userlist);
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
147 #endif
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
148 }
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
149
11897
10853b830964 [gaim-migrate @ 14188]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11595
diff changeset
150 static void
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
151 end_user_display(MsnSlpCall *slpcall, MsnSession *session)
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
152 {
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
153 MsnUserList *userlist;
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
154
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
155 g_return_if_fail(session != NULL);
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
156
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
157 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
158 purple_debug_info("msn", "End User Display\n");
10773
ef88ffed66eb [gaim-migrate @ 12382]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10602
diff changeset
159
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
160 userlist = session->userlist;
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
161
10296
9badf1cedc6e [gaim-migrate @ 11476]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10226
diff changeset
162 /* 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
163 if (session->destroying)
10296
9badf1cedc6e [gaim-migrate @ 11476]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10226
diff changeset
164 return;
13126
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
165
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
166 /* 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
167 * 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
168 * send us an error 800 like so:
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
169 *
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
170 * C: NS 000: XFR 21 SB
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
171 * S: NS 000: 800 21
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
172 */
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
173 if (userlist->buddy_icon_request_timer) {
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
174 /* Free the window slot used by this previous request */
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
175 userlist->buddy_icon_window++;
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
176
afce0fe97885 [gaim-migrate @ 15487]
Evan Schoenberg <evands@pidgin.im>
parents: 13028
diff changeset
177 /* Clear our pending timeout */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
178 purple_timeout_remove(userlist->buddy_icon_request_timer);
13028
fcd75318a565 [gaim-migrate @ 15381]
Evan Schoenberg <evands@pidgin.im>
parents: 12886
diff changeset
179 }
10296
9badf1cedc6e [gaim-migrate @ 11476]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10226
diff changeset
180
24619
5ece4c87ea96 Use purple_timeout_add_seconds() instead of purple_timeout_add() in a
Mark Doliner <markdoliner@pidgin.im>
parents: 24618
diff changeset
181 /* 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
182 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
183 msn_release_buddy_icon_request_timeout, userlist);
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
184 }
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
185
23809
334ee2bd89d7 A patch from felipec to make (msn_)request_user_display static.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23441
diff changeset
186 static void
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
187 fetched_user_display(PurpleUtilFetchUrlData *url_data, gpointer user_data,
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 const gchar *url_text, gsize len, const gchar *error_message)
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 MsnFetchUserDisplayData *data = user_data;
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 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
192
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 session->url_datas = g_slist_remove(session->url_datas, url_data);
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 if (url_text) {
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
196 purple_buddy_icons_set_for_user(session->account, data->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
197 g_memdup(url_text, len), len,
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
198 data->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
199 }
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
200
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
201 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
202
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
203 g_free(user_data);
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
204 }
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
205
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
206 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
207 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
208 {
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
209 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
210 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
211 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
212 gconstpointer data = 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 const char *info;
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
214 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
215
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
216 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
217 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
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 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
220 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
221 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
222
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
223 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
224 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
225 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
226 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
227 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
228 }
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 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
231
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
232 /* 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
233 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
234
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
235 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
236 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
237 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
238
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
239 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
240 }
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
241
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
242 void
457c61e53d50 Move queue logic in requesting user display out of slp code.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31035
diff changeset
243 msn_request_user_display(MsnUser *user)
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
244 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
245 PurpleAccount *account;
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
246 MsnSession *session;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
247 MsnSlpLink *slplink;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
248 MsnObject *obj;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
249 const char *info;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
250
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
251 session = user->userlist->session;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
252 account = session->account;
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
253
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
254 slplink = msn_session_get_slplink(session, user->passport);
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
255
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
256 obj = msn_user_get_object(user);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
257
16090
57832613774a Patch in Trac ticket #113 from Simom.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
258 info = msn_object_get_sha1(obj);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
259
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
260 if (g_ascii_strcasecmp(user->passport,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
261 purple_account_get_username(account)))
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
262 {
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
263 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
264 if (url) {
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
265 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
266 PurpleUtilFetchUrlData *url_data;
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 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
268 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
269 data->sha1 = info;
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
270 url_data = purple_util_fetch_url_len(url, TRUE, NULL, TRUE, 200*1024,
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
271 fetched_user_display, data);
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
272 session->url_datas = g_slist_prepend(session->url_datas, url_data);
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
273 } 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
274 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
275 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
276 }
9860
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
277 }
8f54a6091294 [gaim-migrate @ 10739]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 9858
diff changeset
278 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
279 request_own_user_display(user);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
280 }
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
281
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
282 static void
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
283 send_file_cb(MsnSlpCall *slpcall)
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 MsnSlpMessage *slpmsg;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
286 PurpleXfer *xfer;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
287
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
288 xfer = (PurpleXfer *)slpcall->xfer;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
289 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
290 return;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
291
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
292 purple_xfer_ref(xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
293 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
294 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
295 purple_xfer_unref(xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
296 return;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
297 }
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
298 purple_xfer_unref(xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
299
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
300 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
301 msn_slpmsg_set_slplink(slpmsg, slpcall->slplink);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
302
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
303 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
304 }
10072
7bcd144ef597 [gaim-migrate @ 11051]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10047
diff changeset
305
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
306 static gchar *
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
307 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
308 {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
309 gsize size = 0;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
310 MsnFileContext *header;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
311 gchar *u8 = NULL;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
312 gchar *ret;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
313 gunichar2 *uni = NULL;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
314 glong currentChar = 0;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
315 glong len = 0;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
316 const char *preview;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
317 gsize preview_len;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
318
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
319 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
320
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
321 purple_xfer_prepare_thumbnail(xfer, "png");
10072
7bcd144ef597 [gaim-migrate @ 11051]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10047
diff changeset
322
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
323 if (!file_name) {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
324 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
325 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
326 g_free(basename);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
327 file_name = u8;
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 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
331
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
332 if (u8) {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
333 g_free(u8);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
334 file_name = NULL;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
335 u8 = NULL;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
336 }
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
337
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
338 preview = purple_xfer_get_thumbnail(xfer, &preview_len);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
339 header = g_malloc(sizeof(MsnFileContext) + preview_len);
10072
7bcd144ef597 [gaim-migrate @ 11051]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10047
diff changeset
340
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
341 header->length = GUINT32_TO_LE(sizeof(MsnFileContext) - 1);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
342 header->version = GUINT32_TO_LE(2); /* V.3 contains additional unnecessary data */
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
343 header->file_size = GUINT64_TO_LE(size);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
344 if (preview)
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
345 header->type = GUINT32_TO_LE(0);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
346 else
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
347 header->type = GUINT32_TO_LE(1);
10072
7bcd144ef597 [gaim-migrate @ 11051]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10047
diff changeset
348
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
349 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
350 for (currentChar = 0; currentChar < len; currentChar++) {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
351 header->file_name[currentChar] = GUINT16_TO_LE(uni[currentChar]);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
352 }
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
353 memset(&header->file_name[currentChar], 0x00, (MAX_FILE_NAME_LEN - currentChar) * 2);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
354
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
355 memset(&header->unknown1, 0, sizeof(header->unknown1));
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
356 header->unknown2 = GUINT32_TO_LE(0xffffffff);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
357 if (preview) {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
358 memcpy(&header->preview, preview, preview_len);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
359 }
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
360 header->preview[preview_len] = '\0';
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
361
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
362 g_free(uni);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
363 ret = purple_base64_encode((const guchar *)header, sizeof(MsnFileContext) + preview_len);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
364 g_free(header);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
365 return ret;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
366 }
10225
0dfea1bc8695 [gaim-migrate @ 11357]
Felipe Contreras <felipe.contreras@gmail.com>
parents: 10112
diff changeset
367
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
368 void
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
369 msn_request_ft(PurpleXfer *xfer)
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
370 {
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
371 MsnSlpCall *slpcall;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
372 MsnSlpLink *slplink;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
373 char *context;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
374 const char *fn;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
375 const char *fp;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
376
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
377 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
378 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
379
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
380 slplink = xfer->data;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
381
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
382 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
383 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
384
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
385 slpcall = msn_slpcall_new(slplink);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
386 msn_slpcall_init(slpcall, MSN_SLPCALL_DC);
23812
5399dc0d191c disapproval of revision '364ef11540c03fc34138ee3db995e341997833ad'
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23811
diff changeset
387
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
388 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
389 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
390 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
391 slpcall->xfer = xfer;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
392 purple_xfer_ref(slpcall->xfer);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
393
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
394 slpcall->pending = TRUE;
23812
5399dc0d191c disapproval of revision '364ef11540c03fc34138ee3db995e341997833ad'
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23811
diff changeset
395
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
396 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
397 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
398 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
399
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
400 xfer->data = slpcall;
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
401
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
402 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
403
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
404 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
405 msn_slplink_unref(slplink);
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
406
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
407 g_free(context);
9193
6e76f1367896 [gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff changeset
408 }
31033
466924b5b42c Move file request up in the stack.
Jorge Villaseñor <masca@cpw.pidgin.im>
parents: 31029
diff changeset
409

mercurial