[Telepathy-commits] [telepathy-gabble/master] IM, MUC: Emit MessageSendingFlags appropriately

Will Thompson will.thompson at collabora.co.uk
Tue Feb 3 06:34:50 PST 2009


---
 src/im-channel.c   |    7 +++++--
 src/message-util.c |    6 ++++--
 src/message-util.h |    5 +++--
 src/muc-channel.c  |    4 +++-
 4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/im-channel.c b/src/im-channel.c
index 6405ddd..4f2b9c0 100644
--- a/src/im-channel.c
+++ b/src/im-channel.c
@@ -481,8 +481,11 @@ _gabble_im_channel_send_message (GObject *object,
       state = TP_CHANNEL_CHAT_STATE_ACTIVE;
     }
 
-  gabble_message_util_send_message (object, priv->conn, message, 0, state,
-      priv->peer_jid, priv->send_nick);
+  /* We don't support providing successful delivery reports. */
+  flags = 0;
+
+  gabble_message_util_send_message (object, priv->conn, message, flags, 0,
+      state, priv->peer_jid, priv->send_nick);
 
   if (priv->send_nick)
     priv->send_nick = FALSE;
diff --git a/src/message-util.c b/src/message-util.c
index 63059c1..1607ad5 100644
--- a/src/message-util.c
+++ b/src/message-util.c
@@ -75,6 +75,7 @@ _add_chat_state (LmMessage *msg,
  * @obj: a channel implementation featuring TpMessageMixin
  * @conn: the connection owning this channel
  * @message: the message to be sent
+ * @flags: the flags used if sending is successful
  * @subtype: the Loudmouth message subtype
  * @state: the Telepathy chat state, or -1 if unknown or not applicable
  * @recipient: the recipient's JID
@@ -84,6 +85,7 @@ void
 gabble_message_util_send_message (GObject *obj,
                                   GabbleConnection *conn,
                                   TpMessage *message,
+                                  TpMessageSendingFlags flags,
                                   LmMessageSubType subtype,
                                   TpChannelChatState state,
                                   const char *recipient,
@@ -174,13 +176,13 @@ gabble_message_util_send_message (GObject *obj,
   if (!result)
     goto despair_island;
 
-  tp_message_mixin_sent (obj, message, "", NULL);
+  tp_message_mixin_sent (obj, message, flags, "", NULL);
 
   return;
 
 despair_island:
   g_assert (error != NULL);
-  tp_message_mixin_sent (obj, message, NULL, error);
+  tp_message_mixin_sent (obj, message, 0, NULL, error);
   g_error_free (error);
 }
 
diff --git a/src/message-util.h b/src/message-util.h
index 233c431..2421742 100644
--- a/src/message-util.h
+++ b/src/message-util.h
@@ -30,8 +30,9 @@
 G_BEGIN_DECLS
 
 void gabble_message_util_send_message (GObject *obj,
-    GabbleConnection *conn, TpMessage *message, LmMessageSubType subtype,
-    TpChannelChatState state, const char *recipient, gboolean send_nick);
+    GabbleConnection *conn, TpMessage *message, TpMessageSendingFlags flags,
+    LmMessageSubType subtype, TpChannelChatState state, const char *recipient,
+    gboolean send_nick);
 
 gboolean gabble_message_util_send_chat_state (GObject *obj,
     GabbleConnection *conn, LmMessageSubType subtype, TpChannelChatState state,
diff --git a/src/muc-channel.c b/src/muc-channel.c
index 0770787..a91f9b4 100644
--- a/src/muc-channel.c
+++ b/src/muc-channel.c
@@ -2522,7 +2522,9 @@ gabble_muc_channel_send (GObject *obj,
   GabbleMucChannel *self = GABBLE_MUC_CHANNEL (obj);
   GabbleMucChannelPrivate *priv = GABBLE_MUC_CHANNEL_GET_PRIVATE (self);
 
-  gabble_message_util_send_message (obj, priv->conn, message,
+  flags &= TP_MESSAGE_SENDING_FLAG_REPORT_DELIVERY;
+
+  gabble_message_util_send_message (obj, priv->conn, message, flags,
       LM_MESSAGE_SUB_TYPE_GROUPCHAT, TP_CHANNEL_CHAT_STATE_ACTIVE,
       priv->jid, FALSE /* send nick */);
 }
-- 
1.5.6.5




More information about the telepathy-commits mailing list