comparison libpurple/protocols/msn/directconn.c @ 30858:2d00d29a45fd

Process SlpMessageParts, a sequence of parts will generate a SlpMessage.
author masca@cpw.pidgin.im
date Thu, 29 Jul 2010 00:12:54 +0000
parents c7fa7c7aca7d
children b9c80d9c2ae5
comparison
equal deleted inserted replaced
30857:1ded0bc5c911 30858:2d00d29a45fd
589 } 589 }
590 590
591 static int 591 static int
592 msn_dc_process_packet(MsnDirectConn *dc, guint32 packet_length) 592 msn_dc_process_packet(MsnDirectConn *dc, guint32 packet_length)
593 { 593 {
594 MsnSlpMessagePart *part;
595
594 g_return_val_if_fail(dc != NULL, DC_PROCESS_ERROR); 596 g_return_val_if_fail(dc != NULL, DC_PROCESS_ERROR);
595 597
596 switch (dc->state) { 598 switch (dc->state) {
597 case DC_STATE_CLOSED: 599 case DC_STATE_CLOSED:
598 break; 600 break;
625 msn_slpcall_session_init(dc->slpcall); 627 msn_slpcall_session_init(dc->slpcall);
626 dc->slpcall = NULL; 628 dc->slpcall = NULL;
627 break; 629 break;
628 630
629 case DC_STATE_ESTABLISHED: 631 case DC_STATE_ESTABLISHED:
630 msn_slplink_process_msg( 632
631 dc->slplink, 633 part = msn_slpmsgpart_new_from_data(dc->in_buffer, dc->header.length);
632 &dc->header, 634 msn_slplink_process_msg(dc->slplink, part);
633 dc->in_buffer + 4 + P2P_PACKET_HEADER_SIZE,
634 dc->header.length
635 );
636 635
637 /* 636 /*
638 if (dc->num_calls == 0) { 637 if (dc->num_calls == 0) {
639 msn_dc_destroy(dc); 638 msn_dc_destroy(dc);
640 639