gint gnc_AB_BANKING_fini(AB_BANKING *api) { if (api == gnc_AB_BANKING) { if (--gnc_AB_BANKING_refcount == 0) { #ifdef AQBANKING_VERSION_5_PLUS if (gnc_gwengui_extended_by_ABBanking) AB_Gui_Unextend(gnc_gwengui_extended_by_ABBanking); gnc_gwengui_extended_by_ABBanking = NULL; #endif /* AQBANKING_VERSION_5_PLUS */ return AB_Banking_Fini(api); } } else { #ifdef AQBANKING_VERSION_5_PLUS if (gnc_gwengui_extended_by_ABBanking) AB_Gui_Unextend(gnc_gwengui_extended_by_ABBanking); gnc_gwengui_extended_by_ABBanking = NULL; #endif /* AQBANKING_VERSION_5_PLUS */ return AB_Banking_Fini(api); } return 0; }
int test3(int argc, char **argv) { #ifdef USE_GWENGUI_GTK2 GWEN_GUI *gui; GWEN_DIALOG *dlg; int rv; AB_BANKING *ab; rv=GWEN_Init(); if (rv) { fprintf(stderr, "ERROR: Unable to init Gwen.\n"); exit(2); } GWEN_Logger_SetLevel(AQBANKING_LOGDOMAIN, GWEN_LoggerLevel_Info); GWEN_Logger_SetLevel(AQOFXCONNECT_LOGDOMAIN, GWEN_LoggerLevel_Info); GWEN_Logger_SetLevel(GWEN_LOGDOMAIN, GWEN_LoggerLevel_Debug); gtk_init(&argc, &argv); gui=Gtk2_Gui_new(); GWEN_Gui_SetGui(gui); ab=AB_Banking_new("test-ofxhome", NULL, 0); rv=AB_Banking_Init(ab); if (rv<0){ fprintf(stderr, "Error on banking init: %d\n", rv); exit(2); } AB_Gui_Extend(gui, ab); dlg=OH_GetInstituteDialog_new("/tmp/ofx", NULL); if (dlg==NULL) { fprintf(stderr, "Could not create dialog\n"); exit(2); } rv=GWEN_Gui_ExecDialog(dlg, 0); if (rv<=0){ fprintf(stderr, "Dialog was aborted/rejected\n"); } else { const OH_INSTITUTE_DATA *od; fprintf(stderr, "Dialog accepted, all fine\n"); od=OH_GetInstituteDialog_GetSelectedInstitute(dlg); if (od) { fprintf(stderr, "- Id : %d\n", OH_InstituteData_GetId(od)); fprintf(stderr, "- Name: %s\n", OH_InstituteData_GetName(od)); fprintf(stderr, "- FID : %s\n", OH_InstituteData_GetFid(od)); fprintf(stderr, "- ORG : %s\n", OH_InstituteData_GetOrg(od)); fprintf(stderr, "- URL : %s\n", OH_InstituteData_GetUrl(od)); } } GWEN_Dialog_free(dlg); AB_Gui_Unextend(gui); rv=AB_Banking_Fini(ab); if (rv<0){ fprintf(stderr, "Error on banking fini: %d\n", rv); exit(2); } AB_Banking_free(ab); GWEN_Gui_free(gui); #endif return 0; }