GtkTreeIter iter;
GHashTable *group_set = NULL;
GList *groups = NULL, *l;
+ EmpathyIndividualManager *manager;
+ EmpathyContact *contact;
+ TpConnection *connection;
EmpathyIndividualManagerFlags flags = 0;
priv = GET_PRIV (self);
groups = g_hash_table_get_keys (group_set);
}
- /* TODO: implement */
- DEBUG ("group capability flags not implemented");
+ manager = empathy_individual_manager_dup_singleton ();
+ contact = empathy_contact_from_folks_individual (individual);
+ connection = empathy_contact_get_connection (contact);
+ flags = empathy_individual_manager_get_flags_for_connection (manager,
+ connection);
if (!groups)
{
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