comparison libpurple/protocols/msn/slp.c @ 23671:96e78c0fa32b

Get rid of MsnSlpSession entirely. It only seems to link to MsnSlpCall and then copy some data from it. Fixes #1671.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Fri, 01 Aug 2008 02:04:36 +0000
parents cab5420c3879
children d88fd0d9cb57
comparison
equal deleted inserted replaced
23670:7e2673925be6 23671:96e78c0fa32b
23 */ 23 */
24 #include "msn.h" 24 #include "msn.h"
25 #include "slp.h" 25 #include "slp.h"
26 #include "slpcall.h" 26 #include "slpcall.h"
27 #include "slpmsg.h" 27 #include "slpmsg.h"
28 #include "slpsession.h"
29 28
30 #include "object.h" 29 #include "object.h"
31 #include "user.h" 30 #include "user.h"
32 #include "switchboard.h" 31 #include "switchboard.h"
33 32
254 if (!strcmp(euf_guid, MSN_OBJ_GUID)) 253 if (!strcmp(euf_guid, MSN_OBJ_GUID))
255 { 254 {
256 /* Emoticon or UserDisplay */ 255 /* Emoticon or UserDisplay */
257 char *content; 256 char *content;
258 gsize len; 257 gsize len;
259 MsnSlpSession *slpsession;
260 MsnSlpLink *slplink; 258 MsnSlpLink *slplink;
261 MsnSlpMessage *slpmsg; 259 MsnSlpMessage *slpmsg;
262 MsnObject *obj; 260 MsnObject *obj;
263 char *msnobj_data; 261 char *msnobj_data;
264 PurpleStoredImage *img; 262 PurpleStoredImage *img;
304 { 302 {
305 purple_debug_error("msn", "Wrong object.\n"); 303 purple_debug_error("msn", "Wrong object.\n");
306 g_return_if_reached(); 304 g_return_if_reached();
307 } 305 }
308 306
309 slpsession = msn_slplink_find_slp_session(slplink,
310 slpcall->session_id);
311
312 /* DATA PREP */ 307 /* DATA PREP */
313 slpmsg = msn_slpmsg_new(slplink); 308 slpmsg = msn_slpmsg_new(slplink);
314 slpmsg->slpcall = slpcall; 309 slpmsg->slpcall = slpcall;
315 slpmsg->slpsession = slpsession; 310 slpmsg->session_id = slpcall->session_id;
316 slpmsg->session_id = slpsession->id;
317 msn_slpmsg_set_body(slpmsg, NULL, 4); 311 msn_slpmsg_set_body(slpmsg, NULL, 4);
318 #ifdef MSN_DEBUG_SLP 312 #ifdef MSN_DEBUG_SLP
319 slpmsg->info = "SLP DATA PREP"; 313 slpmsg->info = "SLP DATA PREP";
320 #endif 314 #endif
321 msn_slplink_queue_slpmsg(slplink, slpmsg); 315 msn_slplink_queue_slpmsg(slplink, slpmsg);
322 316
323 /* DATA */ 317 /* DATA */
324 slpmsg = msn_slpmsg_new(slplink); 318 slpmsg = msn_slpmsg_new(slplink);
325 slpmsg->slpcall = slpcall; 319 slpmsg->slpcall = slpcall;
326 slpmsg->slpsession = slpsession;
327 slpmsg->flags = 0x20; 320 slpmsg->flags = 0x20;
328 #ifdef MSN_DEBUG_SLP 321 #ifdef MSN_DEBUG_SLP
329 slpmsg->info = "SLP DATA"; 322 slpmsg->info = "SLP DATA";
330 #endif 323 #endif
331 msn_slpmsg_set_image(slpmsg, img); 324 msn_slpmsg_set_image(slpmsg, img);