static void update_account_list(ABInitialInfo *info) { AB_ACCOUNT_LIST2 *acclist; g_return_if_fail(info && info->api && info->gnc_hash); /* Detach model from view while updating */ g_object_ref(info->account_store); gtk_tree_view_set_model(info->account_view, NULL); /* Refill the list */ gtk_list_store_clear(info->account_store); acclist = AB_Banking_GetAccounts(info->api); if (acclist) AB_Account_List2_ForEach(acclist, update_account_list_acc_cb, info); else g_warning("update_account_list: Oops, account list from AB_Banking " "is NULL"); /* Attach model to view again */ gtk_tree_view_set_model(info->account_view, GTK_TREE_MODEL(info->account_store)); g_object_unref(info->account_store); }
AB_ACCOUNT *AB_Banking_FindFirstAccountOfUser(AB_BANKING *ab, AB_USER *u) { AB_ACCOUNT_LIST2 *acclist; AB_ACCOUNT *result; assert(ab); assert(u); acclist = AB_Banking_GetAccounts(ab); result = AB_Account_List2_ForEach(acclist, checkaccounts_fn, u); AB_Account_List2_free(acclist); return result; }