[empathy] remove old blocking API



commit a7429bd7acc0359d327c8d0f8042dd536dfc1df2
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Wed Nov 2 10:49:01 2011 +0100

    remove old blocking API
    
    https://bugzilla.gnome.org/show_bug.cgi?id=661805

 libempathy/empathy-contact-list.c    |   24 -------
 libempathy/empathy-contact-list.h    |   18 +-----
 libempathy/empathy-contact-manager.c |   43 ------------
 libempathy/empathy-tp-contact-list.c |  119 ++--------------------------------
 4 files changed, 8 insertions(+), 196 deletions(-)
---
diff --git a/libempathy/empathy-contact-list.c b/libempathy/empathy-contact-list.c
index 9e99ba4..38d0a44 100644
--- a/libempathy/empathy-contact-list.c
+++ b/libempathy/empathy-contact-list.c
@@ -236,27 +236,3 @@ empathy_contact_list_get_flags (EmpathyContactList *list)
 		return 0;
 	}
 }
-
-void
-empathy_contact_list_set_blocked (EmpathyContactList *list,
-				  EmpathyContact     *contact,
-				  gboolean            blocked,
-				  gboolean            abusive)
-{
-	EmpathyContactListIface *iface = EMPATHY_CONTACT_LIST_GET_IFACE (list);
-
-	if (iface->set_blocked != NULL)
-		iface->set_blocked (list, contact, blocked, abusive);
-}
-
-gboolean
-empathy_contact_list_get_blocked (EmpathyContactList *list,
-				  EmpathyContact     *contact)
-{
-	EmpathyContactListIface *iface = EMPATHY_CONTACT_LIST_GET_IFACE (list);
-
-	if (iface->get_blocked != NULL)
-		return iface->get_blocked (list, contact);
-	else
-		return FALSE;
-}
diff --git a/libempathy/empathy-contact-list.h b/libempathy/empathy-contact-list.h
index 0e1d6a8..f1ed3e8 100644
--- a/libempathy/empathy-contact-list.h
+++ b/libempathy/empathy-contact-list.h
@@ -39,9 +39,7 @@ typedef enum {
 	EMPATHY_CONTACT_LIST_CAN_REMOVE		= 1 << 1,
 	EMPATHY_CONTACT_LIST_CAN_ALIAS		= 1 << 2,
 	EMPATHY_CONTACT_LIST_CAN_GROUP		= 1 << 3,
-	EMPATHY_CONTACT_LIST_CAN_BLOCK		= 1 << 4,
-	EMPATHY_CONTACT_LIST_CAN_REPORT_ABUSIVE = 1 << 5,
-	EMPATHY_CONTACT_LIST_MESSAGE_ADD	= 1 << 6,
+	EMPATHY_CONTACT_LIST_MESSAGE_ADD	= 1 << 4,
 } EmpathyContactListFlags;
 
 typedef struct _EmpathyContactListIface EmpathyContactListIface;
@@ -74,12 +72,6 @@ struct _EmpathyContactListIface {
 					       const gchar	  *group);
 	EmpathyContactListFlags
 			 (*get_flags)         (EmpathyContactList *list);
-	void             (*set_blocked)       (EmpathyContactList *list,
-			                       EmpathyContact     *contact,
-					       gboolean            blocked,
-					       gboolean            abusive);
-	gboolean         (*get_blocked)       (EmpathyContactList *list,
-			                       EmpathyContact     *contact);
 };
 
 GType    empathy_contact_list_get_type          (void) G_GNUC_CONST;
@@ -109,14 +101,6 @@ void	 empathy_contact_list_remove_group	(EmpathyContactList *list,
 EmpathyContactListFlags
          empathy_contact_list_get_flags		(EmpathyContactList *list);
 
-void     empathy_contact_list_set_blocked       (EmpathyContactList *list,
-		                                 EmpathyContact     *contact,
-						 gboolean            blocked,
-						 gboolean            abusive);
-gboolean empathy_contact_list_get_blocked       (EmpathyContactList *list,
-						 EmpathyContact     *contact);
-
-
 G_END_DECLS
 
 #endif /* __EMPATHY_CONTACT_LIST_H__ */
diff --git a/libempathy/empathy-contact-manager.c b/libempathy/empathy-contact-manager.c
index 8db9a5a..88012bf 100644
--- a/libempathy/empathy-contact-manager.c
+++ b/libempathy/empathy-contact-manager.c
@@ -563,47 +563,6 @@ contact_manager_remove_group (EmpathyContactList *manager,
 }
 
 static void
-contact_manager_set_blocked (EmpathyContactList *manager,
-			     EmpathyContact     *contact,
-			     gboolean            blocked,
-			     gboolean            abusive)
-{
-	EmpathyContactManagerPriv *priv = GET_PRIV (manager);
-	EmpathyContactList        *list;
-	TpConnection              *connection;
-
-	g_return_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager));
-
-	connection = empathy_contact_get_connection (contact);
-	list = g_hash_table_lookup (priv->lists, connection);
-
-	if (list != NULL) {
-		empathy_contact_list_set_blocked (list, contact,
-						  blocked, abusive);
-	}
-}
-
-static gboolean
-contact_manager_get_blocked (EmpathyContactList *manager,
-			     EmpathyContact     *contact)
-{
-	EmpathyContactManagerPriv *priv = GET_PRIV (manager);
-	EmpathyContactList        *list;
-	TpConnection              *connection;
-
-	g_return_val_if_fail (EMPATHY_IS_CONTACT_MANAGER (manager), FALSE);
-
-	connection = empathy_contact_get_connection (contact);
-	list = g_hash_table_lookup (priv->lists, connection);
-
-	if (list != NULL) {
-		return empathy_contact_list_get_blocked (list, contact);
-	} else {
-		return FALSE;
-	}
-}
-
-static void
 contact_manager_iface_init (EmpathyContactListIface *iface)
 {
 	iface->add               = contact_manager_add;
@@ -616,8 +575,6 @@ contact_manager_iface_init (EmpathyContactListIface *iface)
 	iface->remove_from_group = contact_manager_remove_from_group;
 	iface->rename_group      = contact_manager_rename_group;
 	iface->remove_group	 = contact_manager_remove_group;
-	iface->set_blocked	 = contact_manager_set_blocked;
-	iface->get_blocked	 = contact_manager_get_blocked;
 }
 
 EmpathyContactListFlags
diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c
index 1cd2ba4..bf639e4 100644
--- a/libempathy/empathy-tp-contact-list.c
+++ b/libempathy/empathy-tp-contact-list.c
@@ -48,7 +48,6 @@ typedef struct {
 	TpChannel      *publish;
 	TpChannel      *subscribe;
 	TpChannel      *stored;
-	TpChannel      *deny;
 	/* contact handle (TpHandle) => reffed (EmpathyContact *)
 	 *
 	 * Union of:
@@ -731,10 +730,6 @@ tp_contact_list_finalize (GObject *object)
 		g_object_unref (priv->stored);
 	}
 
-	if (priv->deny) {
-		g_object_unref (priv->deny);
-	}
-
 	if (priv->connection) {
 		g_object_unref (priv->connection);
 	}
@@ -786,11 +781,6 @@ got_list_channel (EmpathyTpContactList *list,
 		g_signal_connect (priv->subscribe, "group-members-changed",
 				  G_CALLBACK (tp_contact_list_subscribe_group_members_changed_cb),
 				  list);
-	} else if (!tp_strdiff (id, "deny")) {
-		if (priv->deny != NULL)
-			return;
-		DEBUG ("Got 'deny' channel");
-		priv->deny = g_object_ref (channel);
 	}
 }
 
@@ -817,39 +807,6 @@ list_ensure_channel_cb (TpConnection *conn,
 }
 
 static void
-list_get_contact_blocking_capabilities_cb (TpProxy *conn,
-					   const GValue *value,
-					   const GError *in_error,
-					   gpointer user_data,
-					   GObject *weak_object)
-{
-	EmpathyTpContactList *list = EMPATHY_TP_CONTACT_LIST (weak_object);
-	EmpathyTpContactListPriv *priv = GET_PRIV (list);
-	TpContactBlockingCapabilities caps;
-
-	if (in_error != NULL) {
-		DEBUG ("Get(Blocking, ContactBlockingCapabilities) on %s failed: %s",
-		       tp_proxy_get_object_path (conn),
-		       in_error->message);
-		return;
-	}
-
-	if (!G_VALUE_HOLDS_UINT (value)) {
-		DEBUG ("Get(Blocking, ContactBlockingCapabilities) on %s returned a %s, not a uint",
-		       tp_proxy_get_object_path (conn),
-		       G_VALUE_TYPE_NAME (value));
-		return;
-	}
-
-	caps = g_value_get_uint (value);
-
-	if (caps & TP_CONTACT_BLOCKING_CAPABILITY_CAN_REPORT_ABUSIVE) {
-		DEBUG ("Connection can report abusive contacts");
-		priv->flags |= EMPATHY_CONTACT_LIST_CAN_REPORT_ABUSIVE;
-	}
-}
-
-static void
 iterate_on_channels (EmpathyTpContactList *list,
 		     const GPtrArray *channels)
 {
@@ -957,25 +914,8 @@ conn_ready_cb (TpConnection *connection,
 	tp_cli_connection_interface_requests_call_ensure_channel (priv->connection,
 		G_MAXINT, request, list_ensure_channel_cb, list, NULL, G_OBJECT (list));
 
-	/* Request the 'deny' list */
-	tp_asv_set_static_string (request, TP_PROP_CHANNEL_TARGET_ID, "deny");
-	tp_cli_connection_interface_requests_call_ensure_channel (priv->connection,
-		G_MAXINT, request, list_ensure_channel_cb, list, NULL, G_OBJECT (list));
-
 	g_hash_table_unref (request);
 
-	/* Find out if we support reporting abusive contacts --
-	 * this is done via the new Conn.I.ContactBlocking interface */
-	if (tp_proxy_has_interface_by_id (priv->connection,
-	    TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACT_BLOCKING)) {
-		DEBUG ("Have Conn.I.ContactBlocking");
-
-		tp_cli_dbus_properties_call_get (priv->connection, -1,
-			TP_IFACE_CONNECTION_INTERFACE_CONTACT_BLOCKING,
-			"ContactBlockingCapabilities",
-			list_get_contact_blocking_capabilities_cb,
-			NULL, NULL, G_OBJECT (list));
-	}
 out:
 	g_object_unref (list);
 }
@@ -1154,10 +1094,13 @@ tp_contact_list_add (EmpathyContactList *list,
 		}
 	}
 
-	if (priv->deny) {
-		tp_cli_channel_interface_group_call_remove_members (
-			priv->deny, -1, &handles, message,
-			NULL, NULL, NULL, NULL);
+	/* We want to unblock the contact */
+	if (tp_proxy_has_interface_by_id (priv->connection,
+		TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACT_BLOCKING)) {
+		TpContact *tp_contact = empathy_contact_get_tp_contact (contact);
+
+		if (tp_contact != NULL)
+			tp_contact_unblock_async (tp_contact, NULL, NULL);
 	}
 }
 
@@ -1370,56 +1313,10 @@ tp_contact_list_get_flags (EmpathyContactList *list)
 		}
 	}
 
-	if (priv->deny != NULL)
-		flags |= EMPATHY_CONTACT_LIST_CAN_BLOCK;
-
 	return flags;
 }
 
 static void
-tp_contact_list_set_blocked (EmpathyContactList *list,
-			     EmpathyContact     *contact,
-			     gboolean            blocked,
-			     gboolean            abusive)
-{
-	EmpathyTpContactListPriv *priv = GET_PRIV (list);
-	TpHandle handle = empathy_contact_get_handle (contact);
-	GArray handles = { (char *) &handle, 1 };
-
-	g_return_if_fail (TP_IS_CHANNEL (priv->deny));
-
-	if (blocked && abusive) {
-		/* we have to do this via the new interface */
-		g_return_if_fail (priv->flags &
-				EMPATHY_CONTACT_LIST_CAN_REPORT_ABUSIVE);
-
-		tp_cli_connection_interface_contact_blocking_call_block_contacts (
-			priv->connection, -1,
-			&handles, TRUE, NULL, NULL, NULL, NULL);
-	} else if (blocked) {
-		tp_cli_channel_interface_group_call_add_members (
-			priv->deny, -1,
-			&handles, NULL, NULL, NULL, NULL, NULL);
-	} else {
-		tp_cli_channel_interface_group_call_remove_members (
-			priv->deny, -1,
-			&handles, NULL, NULL, NULL, NULL, NULL);
-	}
-}
-
-static gboolean
-tp_contact_list_get_blocked (EmpathyContactList *list,
-			     EmpathyContact     *contact)
-{
-	EmpathyTpContactListPriv *priv = GET_PRIV (list);
-
-	g_return_val_if_fail (TP_IS_CHANNEL (priv->deny), FALSE);
-
-	return tp_intset_is_member (tp_channel_group_get_members (priv->deny),
-				    empathy_contact_get_handle (contact));
-}
-
-static void
 tp_contact_list_iface_init (EmpathyContactListIface *iface)
 {
 	iface->add               = tp_contact_list_add;
@@ -1433,8 +1330,6 @@ tp_contact_list_iface_init (EmpathyContactListIface *iface)
 	iface->rename_group      = tp_contact_list_rename_group;
 	iface->remove_group	 = tp_contact_list_remove_group;
 	iface->get_flags	 = tp_contact_list_get_flags;
-	iface->set_blocked	 = tp_contact_list_set_blocked;
-	iface->get_blocked	 = tp_contact_list_get_blocked;
 }
 
 void



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