banking_virt.h File Reference

Go to the source code of this file.

Prototypes For Virtual Security Functions

enum  AB_BANKING_PINSTATUS { AB_Banking_PinStatusBad = -1, AB_Banking_PinStatusUnknown, AB_Banking_PinStatusOk }
enum  AB_BANKING_TANSTATUS { AB_Banking_TanStatusBad = -1, AB_Banking_TanStatusUnknown, AB_Banking_TanStatusUsed, AB_Banking_TanStatusUnused }
typedef int(*) AB_BANKING_GETPIN_FN (AB_BANKING *ab, GWEN_TYPE_UINT32 flags, const char *token, const char *title, const char *text, char *buffer, int minLen, int maxLen)
typedef int(*) AB_BANKING_SETPINSTATUS_FN (AB_BANKING *ab, const char *token, const char *pin, AB_BANKING_PINSTATUS status)
typedef int(*) AB_BANKING_GETTAN_FN (AB_BANKING *ab, const char *token, const char *title, const char *text, char *buffer, int minLen, int maxLen)
typedef int(*) AB_BANKING_SETTANSTATUS_FN (AB_BANKING *ab, const char *token, const char *tan, AB_BANKING_TANSTATUS status)

Defines

Flags For AB_Banking_InputBox
These flags are given to AB_Banking_InputBox to modify its behaviour.

#define AB_BANKING_INPUT_FLAGS_CONFIRM   0x00000001
#define AB_BANKING_INPUT_FLAGS_SHOW   0x00000002
#define AB_BANKING_INPUT_FLAGS_NUMERIC   0x00000004
#define AB_BANKING_INPUT_FLAGS_RETRY   0x00000008
#define AB_BANKING_INPUT_FLAGS_ALLOW_DEFAULT   0x00000010
Flags For AB_Banking_MessageBox
These flags are given to AB_Banking_MessageBox to modify its behaviour. You may OR-combine the flags.
Examples:

A note about confirmation buttons: AqBanking has been designed with non-interactive applications in mind. For such an application it is important to know what button-press it has to simulate upon catching of a messagebox callback. This is what the confimation button flags are for. For informative messages the application may simply return the number of the confirmation button and be done.

However, non-interactive applications should return an error (value 0) for messages classified as dangerous (see AB_BANKING_MSG_FLAGS_SEVERITY_DANGEROUS) to avoid data loss.

#define AB_BANKING_MSG_FLAGS_TYPE_MASK   0x07
#define AB_BANKING_MSG_FLAGS_TYPE_INFO   0
#define AB_BANKING_MSG_FLAGS_TYPE_IS_INFO(fl)   ((fl & AB_BANKING_MSG_FLAGS_TYPE_MASK)==AB_BANKING_MSG_FLAGS_TYPE_INFO)
#define AB_BANKING_MSG_FLAGS_TYPE_WARN   1
#define AB_BANKING_MSG_FLAGS_TYPE_IS_WARN(fl)   ((fl & AB_BANKING_MSG_FLAGS_TYPE_MASK)==AB_BANKING_MSG_FLAGS_TYPE_WARN)
#define AB_BANKING_MSG_FLAGS_TYPE_ERROR   2
#define AB_BANKING_MSG_FLAGS_TYPE_IS_ERROR   ((fl & AB_BANKING_MSG_FLAGS_TYPE_MASK)==AB_BANKING_MSG_FLAGS_TYPE_ERROR)
#define AB_BANKING_MSG_FLAGS_CONFIRM_B1   (1<<3)
#define AB_BANKING_MSG_FLAGS_CONFIRM_B2   (2<<3)
#define AB_BANKING_MSG_FLAGS_CONFIRM_B3   (3<<3)
#define AB_BANKING_MSG_FLAGS_CONFIRM_BUTTON(fl)   ((fl & 0x3)>>3)
#define AB_BANKING_MSG_FLAGS_SEVERITY_MASK   (0x7<<5)
#define AB_BANKING_MSG_FLAGS_SEVERITY_NORMAL   (0x0<<5)
#define AB_BANKING_MSG_FLAGS_SEVERITY_IS_NORMAL(fl)
#define AB_BANKING_MSG_FLAGS_SEVERITY_DANGEROUS   (0x1<<5)
#define AB_BANKING_MSG_FLAGS_SEVERITY_IS_DANGEROUS(fl)
Flags For AB_Banking_ShowBox
#define AB_BANKING_SHOWBOX_FLAGS_BEEP   0x00000001
Special Progress Values for AB_Banking_ProgressAdvance
#define AB_BANKING_PROGRESS_NONE   0xffffffff
#define AB_BANKING_PROGRESS_ONE   0xfffffffe

Typedefs

Prototypes For Virtual User Interaction Functions
typedef int(*) AB_BANKING_MESSAGEBOX_FN (AB_BANKING *ab, GWEN_TYPE_UINT32 flags, const char *title, const char *text, const char *b1, const char *b2, const char *b3)
typedef int(*) AB_BANKING_INPUTBOX_FN (AB_BANKING *ab, GWEN_TYPE_UINT32 flags, const char *title, const char *text, char *buffer, int minLen, int maxLen)
typedef GWEN_TYPE_UINT32(*) AB_BANKING_SHOWBOX_FN (AB_BANKING *ab, GWEN_TYPE_UINT32 flags, const char *title, const char *text)
typedef void(*) AB_BANKING_HIDEBOX_FN (AB_BANKING *ab, GWEN_TYPE_UINT32 id)
typedef GWEN_TYPE_UINT32(*) AB_BANKING_PROGRESS_START_FN (AB_BANKING *ab, const char *title, const char *text, GWEN_TYPE_UINT32 total)
typedef int(*) AB_BANKING_PROGRESS_ADVANCE_FN (AB_BANKING *ab, GWEN_TYPE_UINT32 id, GWEN_TYPE_UINT32 progress)
typedef int(*) AB_BANKING_PROGRESS_LOG_FN (AB_BANKING *ab, GWEN_TYPE_UINT32 id, AB_BANKING_LOGLEVEL level, const char *text)
typedef int(*) AB_BANKING_PROGRESS_END_FN (AB_BANKING *ab, GWEN_TYPE_UINT32 id)
typedef int(*) AB_BANKING_PRINT_FN (AB_BANKING *ab, const char *docTitle, const char *docType, const char *descr, const char *text)

Enumerations

enum  AB_BANKING_LOGLEVEL {
  AB_Banking_LogLevelPanic = 0, AB_Banking_LogLevelEmergency, AB_Banking_LogLevelError, AB_Banking_LogLevelWarn,
  AB_Banking_LogLevelNotice, AB_Banking_LogLevelInfo, AB_Banking_LogLevelDebug, AB_Banking_LogLevelVerbous
}

Functions

Virtual User Interaction Functions
All text passed to the frontend via one of the following functions is expected to be an UTF-8 string which may contain newlines but no other control characters. Text delivered as argument called text throughout the documentation in this group may contain HTML tags. If it does a non-HTML version must be supplied, too. The text MUST begin with the non-HTML version, so that a frontend not capable of parsing HTML can simply exclude the HTML part by cutting before "<html".

This is an example for HTML and non-HTML text:

 const char *text;

 text="This is the non-HTML text"
      "<html>"
      "And this is the <b>HTML</b> version."
      "</html>"

Frontends capable of parsing HTML (such as the KDE frontend) will extract the HTML information and show only that part of the string.

Other frontends have to extract the non-HTML information and show only that.

int AB_Banking_MessageBox (AB_BANKING *ab, GWEN_TYPE_UINT32 flags, const char *title, const char *text, const char *b1, const char *b2, const char *b3)
int AB_Banking_InputBox (AB_BANKING *ab, GWEN_TYPE_UINT32 flags, const char *title, const char *text, char *buffer, int minLen, int maxLen)
GWEN_TYPE_UINT32 AB_Banking_ShowBox (AB_BANKING *ab, GWEN_TYPE_UINT32 flags, const char *title, const char *text)
void AB_Banking_HideBox (AB_BANKING *ab, GWEN_TYPE_UINT32 id)
GWEN_TYPE_UINT32 AB_Banking_ProgressStart (AB_BANKING *ab, const char *title, const char *text, GWEN_TYPE_UINT32 total)
int AB_Banking_ProgressAdvance (AB_BANKING *ab, GWEN_TYPE_UINT32 id, GWEN_TYPE_UINT32 progress)
int AB_Banking_ProgressLog (AB_BANKING *ab, GWEN_TYPE_UINT32 id, AB_BANKING_LOGLEVEL level, const char *text)
int AB_Banking_ProgressEnd (AB_BANKING *ab, GWEN_TYPE_UINT32 id)
int AB_Banking_Print (AB_BANKING *ab, const char *docTitle, const char *docType, const char *descr, const char *text)
Setters For Virtual User Interaction Functions
The functions in this group set the corresponding callback function pointers.

void AB_Banking_SetMessageBoxFn (AB_BANKING *ab, AB_BANKING_MESSAGEBOX_FN f)
void AB_Banking_SetInputBoxFn (AB_BANKING *ab, AB_BANKING_INPUTBOX_FN f)
void AB_Banking_SetShowBoxFn (AB_BANKING *ab, AB_BANKING_SHOWBOX_FN f)
void AB_Banking_SetHideBoxFn (AB_BANKING *ab, AB_BANKING_HIDEBOX_FN f)
void AB_Banking_SetProgressStartFn (AB_BANKING *ab, AB_BANKING_PROGRESS_START_FN f)
void AB_Banking_SetProgressAdvanceFn (AB_BANKING *ab, AB_BANKING_PROGRESS_ADVANCE_FN f)
void AB_Banking_SetProgressLogFn (AB_BANKING *ab, AB_BANKING_PROGRESS_LOG_FN f)
void AB_Banking_SetProgressEndFn (AB_BANKING *ab, AB_BANKING_PROGRESS_END_FN f)
void AB_Banking_SetPrintFn (AB_BANKING *ab, AB_BANKING_PRINT_FN f)
Virtual Security Functions And Associated Functions
int AB_Banking_GetPin (AB_BANKING *ab, GWEN_TYPE_UINT32 flags, const char *token, const char *title, const char *text, char *buffer, int minLen, int maxLen)
void AB_Banking_SetPinCacheEnabled (AB_BANKING *ab, int enabled)
int AB_Banking_GetPinCacheEnabled (const AB_BANKING *ab)
int AB_Banking_SetPinStatus (AB_BANKING *ab, const char *token, const char *pin, AB_BANKING_PINSTATUS status)
int AB_Banking_GetTan (AB_BANKING *ab, const char *token, const char *title, const char *text, char *buffer, int minLen, int maxLen)
int AB_Banking_SetTanStatus (AB_BANKING *ab, const char *token, const char *tan, AB_BANKING_TANSTATUS status)
Setters For Virtual Security Functions
void AB_Banking_SetGetPinFn (AB_BANKING *ab, AB_BANKING_GETPIN_FN f)
void AB_Banking_SetSetPinStatusFn (AB_BANKING *ab, AB_BANKING_SETPINSTATUS_FN f)
void AB_Banking_SetGetTanFn (AB_BANKING *ab, AB_BANKING_GETTAN_FN f)
void AB_Banking_SetSetTanStatusFn (AB_BANKING *ab, AB_BANKING_SETTANSTATUS_FN f)


Generated on Sun Apr 29 17:23:05 2007 for aqbanking by  doxygen 1.5.1