static void doit (EContactMergingLookup *lookup, gboolean force_modify) { if (lookup->op == E_CONTACT_MERGING_ADD) { if (force_modify) e_book_client_modify_contact (lookup->book_client, lookup->contact, NULL, modify_contact_ready_cb, lookup); else e_book_client_add_contact (lookup->book_client, lookup->contact, NULL, add_contact_ready_cb, lookup); } else if (lookup->op == E_CONTACT_MERGING_COMMIT) e_book_client_modify_contact (lookup->book_client, lookup->contact, NULL, modify_contact_ready_cb, lookup); }
static void test_modify_contact_async (ETestServerFixture *fixture, gconstpointer user_data) { EBookClient *book_client; EContact *contact; ModifyData data; book_client = E_TEST_SERVER_UTILS_SERVICE (fixture, EBookClient); if (!add_contact_from_test_case_verify (book_client, "name-only", &contact)) g_error ("Failed to add contact"); verify_premodify_and_prepare_contact (contact); data.contact = contact; data.loop = fixture->loop; e_book_client_modify_contact (book_client, contact, NULL, contact_modified_cb, &data); g_main_loop_run (fixture->loop); g_object_unref (contact); }