aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-11-02 17:49:01 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-11-08 20:23:16 +0800
commita7429bd7acc0359d327c8d0f8042dd536dfc1df2 (patch)
tree9f3170bfe126f0bb24a8937766af3cff07394c8b /libempathy
parent6cb1836a97f35a92e9535e08c7eeeee1bb6ea4e1 (diff)
downloadgsoc2013-empathy-a7429bd7acc0359d327c8d0f8042dd536dfc1df2.tar
gsoc2013-empathy-a7429bd7acc0359d327c8d0f8042dd536dfc1df2.tar.gz
gsoc2013-empathy-a7429bd7acc0359d327c8d0f8042dd536dfc1df2.tar.bz2
gsoc2013-empathy-a7429bd7acc0359d327c8d0f8042dd536dfc1df2.tar.lz
gsoc2013-empathy-a7429bd7acc0359d327c8d0f8042dd536dfc1df2.tar.xz
gsoc2013-empathy-a7429bd7acc0359d327c8d0f8042dd536dfc1df2.tar.zst
gsoc2013-empathy-a7429bd7acc0359d327c8d0f8042dd536dfc1df2.zip
remove old blocking API
https://bugzilla.gnome.org/show_bug.cgi?id=661805
Diffstat (limited to 'libempathy')
-rw-r--r--libempathy/empathy-contact-list.c24
-rw-r--r--libempathy/empathy-contact-list.h18
-rw-r--r--libempathy/empathy-contact-manager.c43
-rw-r--r--libempathy/empathy-tp-contact-list.c119
4 files changed, 8 insertions, 196 deletions
diff --git a/libempathy/empathy-contact-list.c b/libempathy/empathy-contact-list.c
index 9e99ba46c..38d0a446a 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 0e1d6a850..f1ed3e8ed 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 8db9a5a09..88012bf35 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 1cd2ba4ca..bf639e4ce 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