void gnc_GWEN_Gui_shutdown(void) { GncGWENGui *gui = full_gui; ENTER(" "); if (log_gwen_gui) { GWEN_Gui_free(log_gwen_gui); log_gwen_gui = NULL; } GWEN_Gui_SetGui(NULL); if (!gui) return; gui->parent = NULL; reset_dialog(gui); if (gui->passwords) g_hash_table_destroy(gui->passwords); if (gui->showbox_hash) g_hash_table_destroy(gui->showbox_hash); if (gui->permanently_accepted_certs) GWEN_DB_Group_free(gui->permanently_accepted_certs); if (gui->accepted_certs) g_hash_table_destroy(gui->accepted_certs); gtk_widget_destroy(gui->dialog); g_free(gui); full_gui = NULL; LEAVE(" "); }
void gnc_GWEN_Gui_shutdown(void) { if (gwen_gui) { GWEN_Gui_free(gwen_gui); gwen_gui = NULL; GWEN_Gui_SetGui(NULL); } }
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; }