static void contact_modified_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) { ModifyData *data = (ModifyData *) user_data; GError *error = NULL; if (!e_book_client_modify_contact_finish (E_BOOK_CLIENT (source_object), result, &error)) g_error ("modify contact finish: %s", error->message); e_book_client_get_contact ( E_BOOK_CLIENT (source_object), e_contact_get_const (data->contact, E_CONTACT_UID), NULL, contact_ready_cb, data->loop); }
static void modify_contact_ready_cb (GObject *source_object, GAsyncResult *result, gpointer user_data) { EBookClient *book_client = E_BOOK_CLIENT (source_object); EContactMergingLookup *lookup = user_data; GError *error = NULL; g_return_if_fail (book_client != NULL); g_return_if_fail (lookup != NULL); e_book_client_modify_contact_finish (book_client, result, &error); if (lookup->op == E_CONTACT_MERGING_ADD) final_cb_as_id (book_client, error, lookup); else final_cb (book_client, error, lookup); if (error != NULL) g_error_free (error); }