Mercurial > pidgin.yaz
comparison libpurple/protocols/msn/switchboard.c @ 24437: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
24435:3f80f211417e | 24437: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) |