gwenhywfar  4.13.1
Functions
GUI Implementation for the Console

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_NODEGWEN_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).

GWENHYWFAR_API DEPRECATED const char* GWEN_Gui_CGui_GetCharSet ( const GWEN_GUI gui)
GWENHYWFAR_API DEPRECATED int GWEN_Gui_CGui_GetIsNonInteractive ( const GWEN_GUI gui)
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).

GWENHYWFAR_API GWEN_GUI* GWEN_Gui_CGui_new ( void  )

Constructor

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.

GWENHYWFAR_API void GWEN_Gui_CGui_SetCertDb ( GWEN_GUI gui,
GWEN_DB_NODE dbCerts 
)

Set the certificate DB. Takes over the given DB.

GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetCharSet ( GWEN_GUI gui,
const char *  s 
)
GWENHYWFAR_API DEPRECATED void GWEN_Gui_CGui_SetIsNonInteractive ( GWEN_GUI gui,
int  i 
)
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.