TpAccountManager *account_manager = TP_ACCOUNT_MANAGER (source_object);
GError *error = NULL;
- if (!tp_account_manager_prepare_finish (account_manager, result, &error)) {
+ if (!tp_proxy_prepare_finish (account_manager, result, &error)) {
DEBUG ("Failed to prepare account manager: %s", error->message);
g_error_free (error);
return;
priv->account_manager = tp_account_manager_dup ();
- tp_account_manager_prepare_async (priv->account_manager, NULL,
+ tp_proxy_prepare_async (priv->account_manager, NULL,
account_manager_prepared_cb, manager);
bus = tp_dbus_daemon_dup (&error);
(gpointer) group);
}
+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->is_favourite = contact_manager_is_favourite;
iface->remove_favourite = contact_manager_remove_favourite;
iface->add_favourite = contact_manager_add_favourite;
+ iface->set_blocked = contact_manager_set_blocked;
+ iface->get_blocked = contact_manager_get_blocked;
}
EmpathyContactListFlags