[empathy] implement empathy_tp_chat_get_members as a method on TpChat



commit c3a3fdbca5129984d875b217d8204531ccf900ab
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Tue Apr 10 13:15:07 2012 +0200

    implement empathy_tp_chat_get_members as a method on TpChat
    
    That means EmpathyTpChat doesn't have to implement the EmpathyContactList
    interface any more.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=673821

 libempathy-gtk/empathy-chat.c           |    2 +-
 libempathy/empathy-tp-chat.c            |   20 +++-----------------
 libempathy/empathy-tp-chat.h            |    2 ++
 src/empathy-invite-participant-dialog.c |    3 +--
 4 files changed, 7 insertions(+), 20 deletions(-)
---
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 14404bf..6dd3733 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -2012,7 +2012,7 @@ chat_input_key_press_event_cb (GtkWidget   *widget,
 		}
 		is_start_of_buffer = gtk_text_iter_is_start (&start);
 
-		list = empathy_contact_list_get_members (EMPATHY_CONTACT_LIST (priv->tp_chat));
+		list = empathy_tp_chat_get_members (priv->tp_chat);
 		g_completion_add_items (priv->completion, list);
 
 		nick = gtk_text_buffer_get_text (buffer, &start, &current, FALSE);
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index b13d097..4daac8c 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -28,7 +28,6 @@
 
 #include "empathy-tp-chat.h"
 #include "empathy-tp-contact-factory.h"
-#include "empathy-contact-list.h"
 #include "empathy-request-util.h"
 #include "empathy-time.h"
 #include "empathy-utils.h"
@@ -65,8 +64,6 @@ struct _EmpathyTpChatPrivate
   GSimpleAsyncResult *ready_result;
 };
 
-static void tp_chat_iface_init (EmpathyContactListIface *iface);
-
 enum
 {
   PROP_0,
@@ -89,9 +86,7 @@ enum
 
 static guint signals[LAST_SIGNAL];
 
-G_DEFINE_TYPE_WITH_CODE (EmpathyTpChat, empathy_tp_chat, TP_TYPE_TEXT_CHANNEL,
-       G_IMPLEMENT_INTERFACE (EMPATHY_TYPE_CONTACT_LIST,
-            tp_chat_iface_init));
+G_DEFINE_TYPE (EmpathyTpChat, empathy_tp_chat, TP_TYPE_TEXT_CHANNEL)
 
 static void
 tp_chat_set_delivery_status (EmpathyTpChat *self,
@@ -216,14 +211,11 @@ empathy_tp_chat_add (EmpathyTpChat *self,
     }
 }
 
-static GList *
-tp_chat_get_members (EmpathyContactList *list)
+GList *
+empathy_tp_chat_get_members (EmpathyTpChat *self)
 {
-  EmpathyTpChat *self = (EmpathyTpChat *) list;
   GList *members = NULL;
 
-  g_return_val_if_fail (EMPATHY_IS_TP_CHAT (list), NULL);
-
   if (self->priv->members)
     {
       members = g_list_copy (self->priv->members);
@@ -1304,12 +1296,6 @@ empathy_tp_chat_init (EmpathyTpChat *self)
       g_str_hash, g_str_equal, g_free, NULL);
 }
 
-static void
-tp_chat_iface_init (EmpathyContactListIface *iface)
-{
-  iface->get_members = tp_chat_get_members;
-}
-
 EmpathyTpChat *
 empathy_tp_chat_new (TpSimpleClientFactory *factory,
     TpAccount *account,
diff --git a/libempathy/empathy-tp-chat.h b/libempathy/empathy-tp-chat.h
index adb2ee1..5aa949b 100644
--- a/libempathy/empathy-tp-chat.h
+++ b/libempathy/empathy-tp-chat.h
@@ -107,6 +107,8 @@ void empathy_tp_chat_add (EmpathyTpChat *self,
     EmpathyContact *contact,
     const gchar *message);
 
+GList * empathy_tp_chat_get_members (EmpathyTpChat *self);
+
 G_END_DECLS
 
 #endif /* __EMPATHY_TP_CHAT_H__ */
diff --git a/src/empathy-invite-participant-dialog.c b/src/empathy-invite-participant-dialog.c
index fd5bd8f..ad3e85a 100644
--- a/src/empathy-invite-participant-dialog.c
+++ b/src/empathy-invite-participant-dialog.c
@@ -146,8 +146,7 @@ filter_individual (EmpathyContactChooser *chooser,
     return FALSE;
 
   /* Filter out contacts which are already in the chat */
-  members = empathy_contact_list_get_members (EMPATHY_CONTACT_LIST (
-        self->priv->tp_chat));
+  members = empathy_tp_chat_get_members (self->priv->tp_chat);
 
   for (l = members; l != NULL; l = g_list_next (l))
     {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]