Fri, 09 Aug 2013 13:03:26 +0200
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 | 4 | * purple |
|
9193
6e76f1367896
[gaim-migrate @ 9988]
Felipe Contreras <felipe.contreras@gmail.com>
parents:
diff
changeset
|
5 | * |
| 15884 | 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 | 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 | 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 | 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 | 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 | 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 |