comparison libpurple/protocols/msn/switchboard.c @ 24492:3d942f1b72aa

disapproval of revision '2f409bcdde5ebbb1edf097aeb4b4366d7c71518d'
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 23 Nov 2008 21:57:18 +0000
parents 3f80f211417e
children dc7942955a7a
comparison
equal deleted inserted replaced
24490:3f80f211417e 24492:3d942f1b72aa
575 { 575 {
576 MsnCmdProc *cmdproc; 576 MsnCmdProc *cmdproc;
577 MsnTransaction *trans; 577 MsnTransaction *trans;
578 char *payload; 578 char *payload;
579 gsize payload_len; 579 gsize payload_len;
580 char flag;
581 580
582 g_return_if_fail(swboard != NULL); 581 g_return_if_fail(swboard != NULL);
583 g_return_if_fail(msg != NULL); 582 g_return_if_fail(msg != NULL);
584 583
585 cmdproc = swboard->cmdproc; 584 cmdproc = swboard->cmdproc;
589 #ifdef MSN_DEBUG_SB 588 #ifdef MSN_DEBUG_SB
590 purple_debug_info("msn", "SB length:{%" G_GSIZE_FORMAT "}", payload_len); 589 purple_debug_info("msn", "SB length:{%" G_GSIZE_FORMAT "}", payload_len);
591 msn_message_show_readable(msg, "SB SEND", FALSE); 590 msn_message_show_readable(msg, "SB SEND", FALSE);
592 #endif 591 #endif
593 592
594 flag = msn_message_get_flag(msg);
595 trans = msn_transaction_new(cmdproc, "MSG", "%c %" G_GSIZE_FORMAT, 593 trans = msn_transaction_new(cmdproc, "MSG", "%c %" G_GSIZE_FORMAT,
596 flag, payload_len); 594 msn_message_get_flag(msg), payload_len);
597 595
598 /* Data for callbacks */ 596 /* Data for callbacks */
599 msn_transaction_set_data(trans, msg); 597 msn_transaction_set_data(trans, msg);
600 598
601 if (flag != 'U') { 599 if (msg->type == MSN_MSG_TEXT)
602 if (msg->type == MSN_MSG_TEXT) 600 {
601 msg->ack_ref = TRUE;
602 msn_message_ref(msg);
603 swboard->ack_list = g_list_append(swboard->ack_list, msg);
604 msn_transaction_set_timeout_cb(trans, msg_timeout);
605 }
606 else if (msg->type == MSN_MSG_SLP)
607 {
608 msg->ack_ref = TRUE;
609 msn_message_ref(msg);
610 swboard->ack_list = g_list_append(swboard->ack_list, msg);
611 msn_transaction_set_timeout_cb(trans, msg_timeout);
612 #if 0
613 if (msg->ack_cb != NULL)
603 { 614 {
604 msg->ack_ref = TRUE; 615 msn_transaction_add_cb(trans, "ACK", msg_ack);
605 msn_message_ref(msg); 616 msn_transaction_add_cb(trans, "NAK", msg_nak);
606 swboard->ack_list = g_list_append(swboard->ack_list, msg);
607 msn_transaction_set_timeout_cb(trans, msg_timeout);
608 } 617 }
609 else if (msg->type == MSN_MSG_SLP) 618 #endif
610 {
611 msg->ack_ref = TRUE;
612 msn_message_ref(msg);
613 swboard->ack_list = g_list_append(swboard->ack_list, msg);
614 msn_transaction_set_timeout_cb(trans, msg_timeout);
615 #if 0
616 if (msg->ack_cb != NULL)
617 {
618 msn_transaction_add_cb(trans, "ACK", msg_ack);
619 msn_transaction_add_cb(trans, "NAK", msg_nak);
620 }
621 #endif
622 }
623 } 619 }
624 620
625 trans->payload = payload; 621 trans->payload = payload;
626 trans->payload_len = payload_len; 622 trans->payload_len = payload_len;
627 623
808 804
809 static void 805 static void
810 ubm_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) 806 ubm_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd)
811 { 807 {
812 purple_debug_misc("msn", "get UBM...\n"); 808 purple_debug_misc("msn", "get UBM...\n");
813 cmd->payload_len = atoi(cmd->params[3]); 809 cmd->payload_len = atoi(cmd->params[4]);
814 cmdproc->last_cmd->payload_cb = msg_cmd_post; 810 cmdproc->last_cmd->payload_cb = msg_cmd_post;
815 } 811 }
816 812
817 static void 813 static void
818 nak_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) 814 nak_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd)