[Telepathy-commits] [telepathy-gabble/master] inline _handle_invited function into the constructor

Robert McQueen robert.mcqueen at collabora.co.uk
Tue Aug 19 10:54:04 PDT 2008


20080727001849-418b8-d2f53d0ffa827f4f3a5988110071179486e4d97c.gz
---
 src/muc-channel.c |   55 +++++++++++++++-------------------------------------
 1 files changed, 16 insertions(+), 39 deletions(-)

diff --git a/src/muc-channel.c b/src/muc-channel.c
index 0acdec8..fd2a79d 100644
--- a/src/muc-channel.c
+++ b/src/muc-channel.c
@@ -279,9 +279,6 @@ gabble_muc_channel_init (GabbleMucChannel *obj)
 
 static void create_room_identity (GabbleMucChannel *, TpHandle *);
 
-static void _gabble_muc_channel_handle_invited (GabbleMucChannel *chan,
-    TpHandle inviter, const gchar *message);
-
 
 static GObject *
 gabble_muc_channel_constructor (GType type, guint n_props,
@@ -361,9 +358,9 @@ gabble_muc_channel_constructor (GType type, guint n_props,
 
   tp_group_mixin_add_handle_owner (obj, self_handle, conn->self_handle);
 
-  /* add ourselves to members if we initiated the join */
   if (!priv->invited)
     {
+      /* not invited: add ourselves to members (and hence join immediately) */
       GError *error = NULL;
       GArray *members = g_array_sized_new (FALSE, FALSE, sizeof (TpHandle), 1);
 
@@ -376,14 +373,26 @@ gabble_muc_channel_constructor (GType type, guint n_props,
       g_assert (error == NULL);
       g_array_free (members, TRUE);
     }
-  /* add ourselves to local_pending if we were invited */
   else
     {
+      /* invited: add ourself to local pending and the inviter to members */
+      TpIntSet *set_members, *set_pending;
+
       g_assert (priv->initiator != 0);
       g_assert (priv->invitation_message != NULL);
 
-      _gabble_muc_channel_handle_invited (self, priv->initiator,
-          priv->invitation_message);
+      set_members = tp_intset_new ();
+      set_pending = tp_intset_new ();
+
+      tp_intset_add (set_members, priv->initiator);
+      tp_intset_add (set_pending, self->group.self_handle);
+
+      tp_group_mixin_change_members (obj, priv->invitation_message,
+          set_members, NULL, set_pending, NULL,
+          priv->initiator, TP_CHANNEL_GROUP_CHANGE_REASON_INVITED);
+
+      tp_intset_destroy (set_members);
+      tp_intset_destroy (set_pending);
 
       /* we've dealt with it (and copied it elsewhere), so there's no point
        * in keeping it */
@@ -2238,38 +2247,6 @@ _gabble_muc_channel_receive (GabbleMucChannel *chan,
       timestamp, text);
 }
 
-static void
-_gabble_muc_channel_handle_invited (GabbleMucChannel *chan,
-                                    TpHandle inviter,
-                                    const gchar *message)
-{
-  GabbleMucChannelPrivate *priv;
-  TpBaseConnection *conn;
-  TpIntSet *set_members, *set_pending;
-  TpHandleRepoIface *contact_handles;
-
-  g_assert (GABBLE_IS_MUC_CHANNEL (chan));
-
-  priv = GABBLE_MUC_CHANNEL_GET_PRIVATE (chan);
-  conn = (TpBaseConnection *) priv->conn;
-  contact_handles = tp_base_connection_get_handles (conn,
-      TP_HANDLE_TYPE_CONTACT);
-
-  /* add ourself to local pending and the inviter to members */
-  set_members = tp_intset_new ();
-  set_pending = tp_intset_new ();
-
-  tp_intset_add (set_members, inviter);
-  tp_intset_add (set_pending, chan->group.self_handle);
-
-  tp_group_mixin_change_members ((GObject *) chan, message, set_members,
-                                     NULL, set_pending, NULL, inviter,
-                                     TP_CHANNEL_GROUP_CHANGE_REASON_INVITED);
-
-  tp_intset_destroy (set_members);
-  tp_intset_destroy (set_pending);
-}
-
 /**
  * _gabble_muc_channel_state_receive
  *
-- 
1.5.6.3




More information about the Telepathy-commits mailing list