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;