void empathy_tp_contact_factory_set_alias (EmpathyTpContactFactory *tp_factory, EmpathyContact *contact, const gchar *alias) { EmpathyTpContactFactoryPriv *priv = GET_PRIV (tp_factory); GHashTable *new_alias; guint handle; g_return_if_fail (EMPATHY_IS_TP_CONTACT_FACTORY (tp_factory)); 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)); tp_cli_connection_interface_aliasing_call_set_aliases (priv->connection, -1, new_alias, tp_contact_factory_set_aliases_cb, NULL, NULL, G_OBJECT (tp_factory)); g_hash_table_destroy (new_alias); }
/** * folks_tp_lowlevel_connection_set_contact_alias_async: * @conn: the connection to use * @handle: handle of the contact whose alias is to be changed * @alias: new human-readable alias for the contact * @callback: function to call on completion * @user_data: user data to pass to @callback * * Change the alias of the contact identified by @handle to @alias. */ void folks_tp_lowlevel_connection_set_contact_alias_async ( TpConnection *conn, guint handle, const gchar *alias, GAsyncReadyCallback callback, gpointer user_data) { GSimpleAsyncResult *result; GHashTable *ht; ht = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free); g_hash_table_insert (ht, GUINT_TO_POINTER (handle), g_strdup (alias)); result = g_simple_async_result_new (G_OBJECT (conn), callback, user_data, folks_tp_lowlevel_connection_set_contact_alias_finish); tp_cli_connection_interface_aliasing_call_set_aliases (conn, -1, ht, set_contact_alias_cb, g_object_ref (result), g_object_unref, G_OBJECT (conn)); g_object_unref (result); g_hash_table_destroy (ht); }