gwenhywfar  4.6.0beta
Functions
GUI Implementation for the Console
Graphical User Interface

Functions

GWENHYWFAR_API GWEN_GUIGWEN_Gui_CGui_new (void)

Character Set

All messages and texts can be converted from UTF8 automatically. This needs the name of the destination character set. See output of iconv –list for a list of supported character sets.

GWENHYWFAR_API DEPRECATED
const char * 
GWEN_Gui_CGui_GetCharSet (const GWEN_GUI *gui)
GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetCharSet (GWEN_GUI *gui, const char *s)

Interactive/Non-interactive Mode

This implementation can be used in interactive or non-interactive mode. In non-interactive mode all input requests which can not be asked automatically will return an error. However, most questions concern input of pins and password, and for those the password cache can be used. Another frequent source for input requests is the acknowledging of TLS certificates which can also be handled automatically by using the certificate cache (see below).

Also, in non-interactive mode all calls to GWEN_GUI_MessageBox will be handled different. If the severity of a message is GWEN_GUI_MSG_FLAGS_SEVERITY_DANGEROUS or higher an error is returned. Otherwise the default result (as indicated by the arguments of GWEN_GUI_MessageBox) is returned instead.

These settings together allow for a non-interactive use.

GWENHYWFAR_API DEPRECATED int GWEN_Gui_CGui_GetIsNonInteractive (const GWEN_GUI *gui)
GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetIsNonInteractive (GWEN_GUI *gui, int i)

Password Cache

This implementation provides a password cache. This will be consulted upon GWEN_Gui_GetPassword. The implementation of GWEN_Gui_SetPasswordStatus also accesses this password cache.

Normally this cache is filled from password files (like those specified via option -P of aqbanking-cli).

GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetPasswordDb (GWEN_GUI *gui, GWEN_DB_NODE *dbPasswords, int persistent)
GWENHYWFAR_API DEPRECATED
GWEN_DB_NODE
GWEN_Gui_CGui_GetPasswordDb (const GWEN_GUI *gui)

TLS Certificate Cache

This implementation provides a certificate cache which takes into account the fingerprint of a certificate offered and the status text. This combination is hashed and the resulting hash is the key into the internal cert db.

Most AqBanking applications nowadays use the shared application data "certs" as returned by AB_Banking_GetSharedData() to read and write the certificate DB.

GWENHYWFAR_API void GWEN_Gui_CGui_SetCertDb (GWEN_GUI *gui, GWEN_DB_NODE *dbCerts)
GWENHYWFAR_API GWEN_DB_NODEGWEN_Gui_CGui_GetCertDb (const GWEN_GUI *gui)
GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetAcceptAllValidCerts (GWEN_GUI *gui, int i)
GWENHYWFAR_API DEPRECATED int GWEN_Gui_CGui_GetAcceptAllValidCerts (const GWEN_GUI *gui)

Detailed Description

This is an implementation of GWEN_GUI for the console. It supports interactive and non-interactive mode, provides a cache for passwords/pins and TLS certificates. It converts UTF8 messages into other character sets if requested (e.g. for consoles which do not support UTF8).

Function Documentation

GWENHYWFAR_API DEPRECATED int GWEN_Gui_CGui_GetAcceptAllValidCerts ( const GWEN_GUI gui)
GWENHYWFAR_API GWEN_DB_NODE* GWEN_Gui_CGui_GetCertDb ( const GWEN_GUI gui)

Returns a pointer to the internal certificate cache. The GUI object remains the owner of the object returned (if any).

Definition at line 798 of file cgui.c.

References GWEN_INHERIT_GETDATA.

GWENHYWFAR_API DEPRECATED const char* GWEN_Gui_CGui_GetCharSet ( const GWEN_GUI gui)

Definition at line 113 of file cgui.c.

References GWEN_Gui_GetCharSet().

GWENHYWFAR_API DEPRECATED int GWEN_Gui_CGui_GetIsNonInteractive ( const GWEN_GUI gui)

Definition at line 125 of file cgui.c.

References GWEN_GUI_FLAGS_NONINTERACTIVE, and GWEN_Gui_GetFlags().

GWENHYWFAR_API DEPRECATED GWEN_DB_NODE* GWEN_Gui_CGui_GetPasswordDb ( const GWEN_GUI gui)

Returns a pointer to the internally used password cache. The GUI object remains the owner of the object returned (if any).

Definition at line 161 of file cgui.c.

References GWEN_Gui_GetPasswordDb().

GWENHYWFAR_API GWEN_GUI* GWEN_Gui_CGui_new ( void  )
GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetAcceptAllValidCerts ( GWEN_GUI gui,
int  i 
)

In non-interactive mode only known certificates are accepted. If the parameter i unequals zero new certs are also accepted if they are valid (which means signed by a known and trusted authority, not expired etc). Invalid certificates are always rejected in non-interactive mode.

Definition at line 146 of file cgui.c.

References GWEN_Gui_AddFlags(), GWEN_GUI_FLAGS_ACCEPTVALIDCERTS, and GWEN_Gui_SubFlags().

GWENHYWFAR_API void GWEN_Gui_CGui_SetCertDb ( GWEN_GUI gui,
GWEN_DB_NODE dbCerts 
)

Set the certificate DB. Takes over the given DB.

Definition at line 785 of file cgui.c.

References GWEN_DB_Group_free(), and GWEN_INHERIT_GETDATA.

GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetCharSet ( GWEN_GUI gui,
const char *  s 
)

Definition at line 119 of file cgui.c.

References GWEN_Gui_SetCharSet().

GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetIsNonInteractive ( GWEN_GUI gui,
int  i 
)

Definition at line 131 of file cgui.c.

References GWEN_Gui_AddFlags(), GWEN_GUI_FLAGS_NONINTERACTIVE, and GWEN_Gui_SubFlags().

GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetPasswordDb ( GWEN_GUI gui,
GWEN_DB_NODE dbPasswords,
int  persistent 
)

Set the password DB. Takes over the given DB.

Parameters
guiGUI object
dbPasswordspassword cache
persistentif !=0 then the passwords come from a password file and a request to clear the password cache will be ignored.

Definition at line 155 of file cgui.c.

References GWEN_Gui_SetPasswordDb().