soc.2010.msn-tlc: 99802eb8: Move sending messages via SB to SBConn.
masca at cpw.pidgin.im
masca at cpw.pidgin.im
Mon Jun 21 03:16:40 EDT 2010
-----------------------------------------------------------------
Revision: 99802eb80a7acda4ce23f38913a5c523abfe024f
Ancestor: a336999d90dfa3f73962fc43e281048a5453f542
Author: masca at cpw.pidgin.im
Date: 2010-06-19T23:03:04
Branch: im.pidgin.soc.2010.msn-tlc
URL: http://d.pidgin.im/viewmtn/revision/info/99802eb80a7acda4ce23f38913a5c523abfe024f
Modified files:
libpurple/protocols/msn/sbconn.c
libpurple/protocols/msn/sbconn.h
libpurple/protocols/msn/switchboard.c
ChangeLog:
Move sending messages via SB to SBConn.
-------------- next part --------------
============================================================
--- libpurple/protocols/msn/sbconn.c bd38630117064279b8f8a219a5967bf70992466d
+++ libpurple/protocols/msn/sbconn.c d3d03662b6a24be5e3577fc2a371dc8642c1b472
@@ -108,3 +108,107 @@ void msn_sbconn_send_part(MsnSlpLink *sl
msn_switchboard_send_msg(slplink->swboard, msg, TRUE);
}
+
+static void
+release_msg(MsnSwitchBoard *swboard, MsnMessage *msg)
+{
+ MsnCmdProc *cmdproc;
+ MsnTransaction *trans;
+ char *payload;
+ gsize payload_len;
+ char flag;
+
+ g_return_if_fail(swboard != NULL);
+ g_return_if_fail(msg != NULL);
+
+ cmdproc = swboard->cmdproc;
+
+ payload = msn_message_gen_payload(msg, &payload_len);
+
+ if (purple_debug_is_verbose()) {
+ purple_debug_info("msn", "SB length:{%" G_GSIZE_FORMAT "}\n", payload_len);
+ msn_message_show_readable(msg, "SB SEND", FALSE);
+ }
+
+ flag = msn_message_get_flag(msg);
+ trans = msn_transaction_new(cmdproc, "MSG", "%c %" G_GSIZE_FORMAT,
+ flag, payload_len);
+
+ /* Data for callbacks */
+ msn_transaction_set_data(trans, msg);
+
+ if (flag != 'U') {
+ if (msg->type == MSN_MSG_TEXT)
+ {
+ msg->ack_ref = TRUE;
+ msn_message_ref(msg);
+ swboard->ack_list = g_list_append(swboard->ack_list, msg);
+ msn_transaction_set_timeout_cb(trans, msg_timeout);
+ }
+ else if (msg->type == MSN_MSG_SLP)
+ {
+ msg->ack_ref = TRUE;
+ msn_message_ref(msg);
+ swboard->ack_list = g_list_append(swboard->ack_list, msg);
+ msn_transaction_set_timeout_cb(trans, msg_timeout);
+#if 0
+ if (msg->ack_cb != NULL)
+ {
+ msn_transaction_add_cb(trans, "ACK", msg_ack);
+ msn_transaction_add_cb(trans, "NAK", msg_nak);
+ }
+#endif
+ }
+ }
+
+ trans->payload = payload;
+ trans->payload_len = payload_len;
+
+ msg->trans = trans;
+
+ msn_cmdproc_send_trans(cmdproc, trans);
+}
+
+static void
+queue_msg(MsnSwitchBoard *swboard, MsnMessage *msg)
+{
+ g_return_if_fail(swboard != NULL);
+ g_return_if_fail(msg != NULL);
+
+ purple_debug_info("msn", "Appending message to queue.\n");
+
+ g_queue_push_tail(swboard->msg_queue, msg);
+
+ msn_message_ref(msg);
+}
+
+static void
+process_queue(MsnSwitchBoard *swboard)
+{
+ MsnMessage *msg;
+
+ g_return_if_fail(swboard != NULL);
+
+ purple_debug_info("msn", "Processing queue\n");
+
+ while ((msg = g_queue_pop_head(swboard->msg_queue)) != NULL)
+ {
+ purple_debug_info("msn", "Sending message\n");
+ release_msg(swboard, msg);
+ msn_message_unref(msg);
+ }
+}
+
+void
+msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg,
+ gboolean queue)
+{
+ g_return_if_fail(swboard != NULL);
+ g_return_if_fail(msg != NULL);
+
+ purple_debug_info("msn", "switchboard send msg..\n");
+ if (msn_switchboard_can_send(swboard))
+ release_msg(swboard, msg);
+ else if (queue)
+ queue_msg(swboard, msg);
+}
============================================================
--- libpurple/protocols/msn/sbconn.h 22693c5892efab5ba357a9c19f0e91c49b435b56
+++ libpurple/protocols/msn/sbconn.h 8a3a8eef094570885df6efa804d0760fd01de6eb
@@ -13,4 +13,7 @@ void msn_sbconn_send_part(MsnSlpLink *sl
void msn_sbconn_send_msg(MsnSlpLink *slplink, MsnMessage *msg);
void msn_sbconn_send_part(MsnSlpLink *slplink, MsnSlpMessagePart *part);
+void msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg,
+ gboolean queue)
+
#endif /* MSN_SBCONN_H */
============================================================
--- libpurple/protocols/msn/switchboard.c 19090d119e5c0cd329ccd028954f4bd427624ae5
+++ libpurple/protocols/msn/switchboard.c 8ad481edc0764d93482bf8476e7a532e2801f04a
@@ -620,96 +620,6 @@ msg_nak(MsnCmdProc *cmdproc, MsnCommand
}
#endif
-static void
-release_msg(MsnSwitchBoard *swboard, MsnMessage *msg)
-{
- MsnCmdProc *cmdproc;
- MsnTransaction *trans;
- char *payload;
- gsize payload_len;
- char flag;
-
- g_return_if_fail(swboard != NULL);
- g_return_if_fail(msg != NULL);
-
- cmdproc = swboard->cmdproc;
-
- payload = msn_message_gen_payload(msg, &payload_len);
-
- if (purple_debug_is_verbose()) {
- purple_debug_info("msn", "SB length:{%" G_GSIZE_FORMAT "}\n", payload_len);
- msn_message_show_readable(msg, "SB SEND", FALSE);
- }
-
- flag = msn_message_get_flag(msg);
- trans = msn_transaction_new(cmdproc, "MSG", "%c %" G_GSIZE_FORMAT,
- flag, payload_len);
-
- /* Data for callbacks */
- msn_transaction_set_data(trans, msg);
-
- if (flag != 'U') {
- if (msg->type == MSN_MSG_TEXT)
- {
- msg->ack_ref = TRUE;
- msn_message_ref(msg);
- swboard->ack_list = g_list_append(swboard->ack_list, msg);
- msn_transaction_set_timeout_cb(trans, msg_timeout);
- }
- else if (msg->type == MSN_MSG_SLP)
- {
- msg->ack_ref = TRUE;
- msn_message_ref(msg);
- swboard->ack_list = g_list_append(swboard->ack_list, msg);
- msn_transaction_set_timeout_cb(trans, msg_timeout);
-#if 0
- if (msg->ack_cb != NULL)
- {
- msn_transaction_add_cb(trans, "ACK", msg_ack);
- msn_transaction_add_cb(trans, "NAK", msg_nak);
- }
-#endif
- }
- }
-
- trans->payload = payload;
- trans->payload_len = payload_len;
-
- msg->trans = trans;
-
- msn_cmdproc_send_trans(cmdproc, trans);
-}
-
-static void
-queue_msg(MsnSwitchBoard *swboard, MsnMessage *msg)
-{
- g_return_if_fail(swboard != NULL);
- g_return_if_fail(msg != NULL);
-
- purple_debug_info("msn", "Appending message to queue.\n");
-
- g_queue_push_tail(swboard->msg_queue, msg);
-
- msn_message_ref(msg);
-}
-
-static void
-process_queue(MsnSwitchBoard *swboard)
-{
- MsnMessage *msg;
-
- g_return_if_fail(swboard != NULL);
-
- purple_debug_info("msn", "Processing queue\n");
-
- while ((msg = g_queue_pop_head(swboard->msg_queue)) != NULL)
- {
- purple_debug_info("msn", "Sending message\n");
- release_msg(swboard, msg);
- msn_message_unref(msg);
- }
-}
-
gboolean
msn_switchboard_can_send(MsnSwitchBoard *swboard)
{
@@ -721,20 +631,6 @@ msn_switchboard_can_send(MsnSwitchBoard
return TRUE;
}
-void
-msn_switchboard_send_msg(MsnSwitchBoard *swboard, MsnMessage *msg,
- gboolean queue)
-{
- g_return_if_fail(swboard != NULL);
- g_return_if_fail(msg != NULL);
-
- purple_debug_info("msn", "switchboard send msg..\n");
- if (msn_switchboard_can_send(swboard))
- release_msg(swboard, msg);
- else if (queue)
- queue_msg(swboard, msg);
-}
-
/**************************************************************************
* Switchboard Commands
**************************************************************************/
More information about the Commits
mailing list