diff options
author | Xavier Claessens <xclaesse@gmail.com> | 2010-05-26 17:34:06 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2010-05-26 17:34:06 +0800 |
commit | ea03354dacd0da472875bb64d0f2d8c124f3193b (patch) | |
tree | 8e0f1d852609ec5a33b5e69f64a8fbb6a61b076a /libempathy/empathy-contact.c | |
parent | 986064a03ac759da8e87d085b8941444c8b57c5a (diff) | |
download | gsoc2013-empathy-ea03354dacd0da472875bb64d0f2d8c124f3193b.tar gsoc2013-empathy-ea03354dacd0da472875bb64d0f2d8c124f3193b.tar.gz gsoc2013-empathy-ea03354dacd0da472875bb64d0f2d8c124f3193b.tar.bz2 gsoc2013-empathy-ea03354dacd0da472875bb64d0f2d8c124f3193b.tar.lz gsoc2013-empathy-ea03354dacd0da472875bb64d0f2d8c124f3193b.tar.xz gsoc2013-empathy-ea03354dacd0da472875bb64d0f2d8c124f3193b.tar.zst gsoc2013-empathy-ea03354dacd0da472875bb64d0f2d8c124f3193b.zip |
Move empathy_tp_contact_factory_set_alias() to EmpathyContact
Diffstat (limited to 'libempathy/empathy-contact.c')
-rw-r--r-- | libempathy/empathy-contact.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c index d76452891..bd8a63efa 100644 --- a/libempathy/empathy-contact.c +++ b/libempathy/empathy-contact.c @@ -618,6 +618,44 @@ empathy_contact_set_name (EmpathyContact *contact, g_object_unref (contact); } +static void +contact_set_aliases_cb (TpConnection *connection, + const GError *error, + gpointer user_data, + GObject *weak_object) +{ + if (error) + DEBUG ("Error: %s", error->message); +} + +void +empathy_contact_set_alias (EmpathyContact *contact, + const gchar *alias) +{ + TpConnection *connection; + GHashTable *new_alias; + guint handle; + + g_return_if_fail (EMPATHY_IS_CONTACT (contact)); + + handle = empathy_contact_get_handle (contact); + + DEBUG ("Setting alias for contact %s (%d) to %s", + empathy_contact_get_id (contact), + handle, alias); + + new_alias = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, + g_free); + + g_hash_table_insert (new_alias, GUINT_TO_POINTER (handle), g_strdup (alias)); + + connection = empathy_contact_get_connection (contact); + tp_cli_connection_interface_aliasing_call_set_aliases (connection, -1, + new_alias, contact_set_aliases_cb, NULL, NULL, NULL); + + g_hash_table_destroy (new_alias); +} + EmpathyAvatar * empathy_contact_get_avatar (EmpathyContact *contact) { |