aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-04-18 19:25:39 +0800
committerDanielle Madeley <danielle.madeley@collabora.co.uk>2011-04-21 10:36:03 +0800
commitf07631c5155c901ff6b98f7f8c5093bb586a180b (patch)
treefe778d74121cc3d2185322db9e7f0de450fce558
parent1c2a79528174ea1b7de8d82ede2fd22b431591b1 (diff)
downloadgsoc2013-empathy-f07631c5155c901ff6b98f7f8c5093bb586a180b.tar
gsoc2013-empathy-f07631c5155c901ff6b98f7f8c5093bb586a180b.tar.gz
gsoc2013-empathy-f07631c5155c901ff6b98f7f8c5093bb586a180b.tar.bz2
gsoc2013-empathy-f07631c5155c901ff6b98f7f8c5093bb586a180b.tar.lz
gsoc2013-empathy-f07631c5155c901ff6b98f7f8c5093bb586a180b.tar.xz
gsoc2013-empathy-f07631c5155c901ff6b98f7f8c5093bb586a180b.tar.zst
gsoc2013-empathy-f07631c5155c901ff6b98f7f8c5093bb586a180b.zip
factor out handle_incoming_message()
-rw-r--r--libempathy/empathy-tp-chat.c40
1 files changed, 17 insertions, 23 deletions
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index efc1afbee..42bf4e32c 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -312,17 +312,18 @@ tp_chat_build_message (EmpathyTpChat *chat,
}
static void
-message_received_cb (TpTextChannel *channel,
- TpMessage *message,
- EmpathyTpChat *chat)
+handle_incoming_message (EmpathyTpChat *self,
+ TpMessage *message,
+ gboolean pending)
{
- EmpathyTpChatPriv *priv = GET_PRIV (chat);
+ EmpathyTpChatPriv *priv = GET_PRIV (self);
gchar *message_body;
message_body = tp_message_to_text (message, NULL);
- DEBUG ("Message received from channel %s: %s",
- tp_proxy_get_object_path (channel), message_body);
+ DEBUG ("Message %s (channel %s): %s",
+ pending ? "pending" : "received",
+ tp_proxy_get_object_path (priv->channel), message_body);
if (message_body == NULL) {
DEBUG ("Empty message with NonTextContent, ignoring and acking.");
@@ -332,12 +333,20 @@ message_received_cb (TpTextChannel *channel,
return;
}
- tp_chat_build_message (chat, message, TRUE);
+ tp_chat_build_message (self, message, TRUE);
g_free (message_body);
}
static void
+message_received_cb (TpTextChannel *channel,
+ TpMessage *message,
+ EmpathyTpChat *chat)
+{
+ handle_incoming_message (chat, message, FALSE);
+}
+
+static void
message_sent_cb (TpTextChannel *channel,
TpMessage *message,
TpMessageSendingFlags flags,
@@ -471,23 +480,8 @@ list_pending_messages (EmpathyTpChat *self)
for (l = messages; l != NULL; l = g_list_next (l)) {
TpMessage *message = l->data;
- gchar *message_body;
-
- message_body = tp_message_to_text (message, NULL);
-
- DEBUG ("Message pending: %s", message_body);
-
- if (message_body == NULL) {
- DEBUG ("Empty message with NonTextContent, ignoring and acking.");
-
- tp_text_channel_ack_message_async (TP_TEXT_CHANNEL (priv->channel),
- message, NULL, NULL);
- continue;
- }
-
- tp_chat_build_message (self, message, TRUE);
- g_free (message_body);
+ handle_incoming_message (self, message, FALSE);
}
g_list_free (messages);