Mercurial > pidgin
comparison libpurple/protocols/msn/slpmsg.c @ 31572:2201ecdf0c45
Add the slpcall as a parameter when creating a slpmsg.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Mon, 09 May 2011 06:44:45 +0000 |
parents | 968103d932d6 |
children | c23778d56269 |
comparison
equal
deleted
inserted
replaced
31571:dd83aa0bc5c0 | 31572:2201ecdf0c45 |
---|---|
32 /************************************************************************** | 32 /************************************************************************** |
33 * SLP Message | 33 * SLP Message |
34 **************************************************************************/ | 34 **************************************************************************/ |
35 | 35 |
36 MsnSlpMessage * | 36 MsnSlpMessage * |
37 msn_slpmsg_new(MsnSlpLink *slplink) | 37 msn_slpmsg_new(MsnSlpLink *slplink, MsnSlpCall *slpcall) |
38 { | 38 { |
39 MsnSlpMessage *slpmsg; | 39 MsnSlpMessage *slpmsg; |
40 | 40 |
41 slpmsg = g_new0(MsnSlpMessage, 1); | 41 slpmsg = g_new0(MsnSlpMessage, 1); |
42 | 42 |
45 | 45 |
46 if (slplink) | 46 if (slplink) |
47 msn_slpmsg_set_slplink(slpmsg, slplink); | 47 msn_slpmsg_set_slplink(slpmsg, slplink); |
48 else | 48 else |
49 slpmsg->slplink = NULL; | 49 slpmsg->slplink = NULL; |
50 slpmsg->slpcall = slpcall; | |
50 | 51 |
51 slpmsg->p2p_info = msn_p2p_info_new(MSN_P2P_VERSION_ONE); | 52 slpmsg->p2p_info = msn_p2p_info_new(MSN_P2P_VERSION_ONE); |
52 | 53 |
53 return slpmsg; | 54 return slpmsg; |
54 } | 55 } |
101 | 102 |
102 slpmsg->slplink = slplink; | 103 slpmsg->slplink = slplink; |
103 | 104 |
104 slplink->slp_msgs = | 105 slplink->slp_msgs = |
105 g_list_append(slplink->slp_msgs, slpmsg); | 106 g_list_append(slplink->slp_msgs, slpmsg); |
106 | |
107 } | 107 } |
108 | 108 |
109 void | 109 void |
110 msn_slpmsg_set_body(MsnSlpMessage *slpmsg, const char *body, | 110 msn_slpmsg_set_body(MsnSlpMessage *slpmsg, const char *body, |
111 long long size) | 111 long long size) |
186 body_len += content_len; | 186 body_len += content_len; |
187 body = g_realloc(body, body_len); | 187 body = g_realloc(body, body_len); |
188 g_strlcat(body, content, body_len); | 188 g_strlcat(body, content, body_len); |
189 } | 189 } |
190 | 190 |
191 slpmsg = msn_slpmsg_new(slplink); | 191 slpmsg = msn_slpmsg_new(slplink, slpcall); |
192 msn_slpmsg_set_body(slpmsg, body, body_len); | 192 msn_slpmsg_set_body(slpmsg, body, body_len); |
193 | 193 |
194 slpmsg->slpcall = slpcall; | |
195 | |
196 g_free(body); | 194 g_free(body); |
197 | 195 |
198 return slpmsg; | 196 return slpmsg; |
199 } | 197 } |
200 | 198 |
201 MsnSlpMessage *msn_slpmsg_ack_new(MsnP2PInfo *ack_info) | 199 MsnSlpMessage *msn_slpmsg_ack_new(MsnP2PInfo *ack_info) |
202 { | 200 { |
203 MsnSlpMessage *slpmsg; | 201 MsnSlpMessage *slpmsg; |
204 MsnP2PInfo *new_info; | 202 MsnP2PInfo *new_info; |
205 | 203 |
206 slpmsg = msn_slpmsg_new(NULL); | 204 slpmsg = msn_slpmsg_new(NULL, NULL); |
207 | 205 |
208 new_info = slpmsg->p2p_info; | 206 new_info = slpmsg->p2p_info; |
209 msn_p2p_info_create_ack(ack_info, new_info); | 207 msn_p2p_info_create_ack(ack_info, new_info); |
210 slpmsg->size = msn_p2p_info_get_total_size(ack_info); | 208 slpmsg->size = msn_p2p_info_get_total_size(ack_info); |
211 slpmsg->info = "SLP ACK"; | 209 slpmsg->info = "SLP ACK"; |
215 | 213 |
216 MsnSlpMessage *msn_slpmsg_obj_new(MsnSlpCall *slpcall, PurpleStoredImage *img) | 214 MsnSlpMessage *msn_slpmsg_obj_new(MsnSlpCall *slpcall, PurpleStoredImage *img) |
217 { | 215 { |
218 MsnSlpMessage *slpmsg; | 216 MsnSlpMessage *slpmsg; |
219 | 217 |
220 slpmsg = msn_slpmsg_new(NULL); | 218 slpmsg = msn_slpmsg_new(NULL, slpcall); |
221 slpmsg->slpcall = slpcall; | |
222 msn_p2p_info_set_flags(slpmsg->p2p_info, P2P_MSN_OBJ_DATA); | 219 msn_p2p_info_set_flags(slpmsg->p2p_info, P2P_MSN_OBJ_DATA); |
223 slpmsg->info = "SLP DATA"; | 220 slpmsg->info = "SLP DATA"; |
224 | 221 |
225 msn_slpmsg_set_image(slpmsg, img); | 222 msn_slpmsg_set_image(slpmsg, img); |
226 | 223 |
229 | 226 |
230 MsnSlpMessage *msn_slpmsg_dataprep_new(MsnSlpCall *slpcall) | 227 MsnSlpMessage *msn_slpmsg_dataprep_new(MsnSlpCall *slpcall) |
231 { | 228 { |
232 MsnSlpMessage *slpmsg; | 229 MsnSlpMessage *slpmsg; |
233 | 230 |
234 slpmsg = msn_slpmsg_new(NULL); | 231 slpmsg = msn_slpmsg_new(NULL, slpcall); |
235 | 232 |
236 slpmsg->slpcall = slpcall; | |
237 msn_p2p_info_set_session_id(slpmsg->p2p_info, slpcall->session_id); | 233 msn_p2p_info_set_session_id(slpmsg->p2p_info, slpcall->session_id); |
238 msn_slpmsg_set_body(slpmsg, NULL, 4); | 234 msn_slpmsg_set_body(slpmsg, NULL, 4); |
239 slpmsg->info = "SLP DATA PREP"; | 235 slpmsg->info = "SLP DATA PREP"; |
240 | 236 |
241 return slpmsg; | 237 return slpmsg; |
244 | 240 |
245 MsnSlpMessage *msn_slpmsg_file_new(MsnSlpCall *slpcall, size_t size) | 241 MsnSlpMessage *msn_slpmsg_file_new(MsnSlpCall *slpcall, size_t size) |
246 { | 242 { |
247 MsnSlpMessage *slpmsg; | 243 MsnSlpMessage *slpmsg; |
248 | 244 |
249 slpmsg = msn_slpmsg_new(NULL); | 245 slpmsg = msn_slpmsg_new(NULL, slpcall); |
250 | 246 |
251 slpmsg->slpcall = slpcall; | |
252 msn_p2p_info_set_flags(slpmsg->p2p_info, P2P_FILE_DATA); | 247 msn_p2p_info_set_flags(slpmsg->p2p_info, P2P_FILE_DATA); |
253 slpmsg->info = "SLP FILE"; | 248 slpmsg->info = "SLP FILE"; |
254 slpmsg->size = size; | 249 slpmsg->size = size; |
255 | 250 |
256 return slpmsg; | 251 return slpmsg; |