From e54fe4814b321be3e32e99f7dfd49b93e392bded Mon Sep 17 00:00:00 2001 From: Travis Reitter Date: Wed, 23 Jun 2010 20:12:42 -0700 Subject: Support contact removal --- libempathy/empathy-individual-manager.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'libempathy') diff --git a/libempathy/empathy-individual-manager.c b/libempathy/empathy-individual-manager.c index fe8ccadf9..53843ce93 100644 --- a/libempathy/empathy-individual-manager.c +++ b/libempathy/empathy-individual-manager.c @@ -310,13 +310,27 @@ empathy_individual_manager_add_from_contact (EmpathyIndividualManager *self, g_hash_table_destroy (details); } +/** + * Removes the inner contact from the server (and thus the Individual). Not + * meant for de-shelling inner personas from an Individual. + */ void empathy_individual_manager_remove (EmpathyIndividualManager *self, FolksIndividual *individual, const gchar *message) { - /* TODO: implement */ - DEBUG (G_STRLOC ": individual removal not implemented"); + EmpathyIndividualManagerPriv *priv; + + g_return_if_fail (EMPATHY_IS_INDIVIDUAL_MANAGER (self)); + g_return_if_fail (FOLKS_IS_INDIVIDUAL (individual)); + + priv = GET_PRIV (self); + + DEBUG (G_STRLOC ": removing individual %s (%s)", + folks_individual_get_id (individual), + folks_individual_get_alias (individual)); + + folks_individual_aggregator_remove_individual (priv->aggregator, individual); } EmpathyIndividualManagerFlags -- cgit v1.2.3