00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef AQBANKING_BANKING_VIRT_H
00015 #define AQBANKING_BANKING_VIRT_H
00016
00017
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021
00022
00027
00028
00036 #define AB_BANKING_INPUT_FLAGS_CONFIRM 0x00000001
00037
00038 #define AB_BANKING_INPUT_FLAGS_SHOW 0x00000002
00039
00040 #define AB_BANKING_INPUT_FLAGS_NUMERIC 0x00000004
00041
00042 #define AB_BANKING_INPUT_FLAGS_RETRY 0x00000008
00043
00045 #define AB_BANKING_INPUT_FLAGS_ALLOW_DEFAULT 0x00000010
00046
00097 #define AB_BANKING_MSG_FLAGS_TYPE_MASK 0x07
00098
00099 #define AB_BANKING_MSG_FLAGS_TYPE_INFO 0
00100
00101 #define AB_BANKING_MSG_FLAGS_TYPE_IS_INFO(fl) \
00102 ((fl & AB_BANKING_MSG_FLAGS_TYPE_MASK)==AB_BANKING_MSG_FLAGS_TYPE_INFO)
00103
00105 #define AB_BANKING_MSG_FLAGS_TYPE_WARN 1
00106
00107 #define AB_BANKING_MSG_FLAGS_TYPE_IS_WARN(fl) \
00108 ((fl & AB_BANKING_MSG_FLAGS_TYPE_MASK)==AB_BANKING_MSG_FLAGS_TYPE_WARN)
00109
00111 #define AB_BANKING_MSG_FLAGS_TYPE_ERROR 2
00112
00113 #define AB_BANKING_MSG_FLAGS_TYPE_IS_ERROR \
00114 ((fl & AB_BANKING_MSG_FLAGS_TYPE_MASK)==AB_BANKING_MSG_FLAGS_TYPE_ERROR)
00115
00117 #define AB_BANKING_MSG_FLAGS_CONFIRM_B1 (1<<3)
00118
00119 #define AB_BANKING_MSG_FLAGS_CONFIRM_B2 (2<<3)
00120
00121 #define AB_BANKING_MSG_FLAGS_CONFIRM_B3 (3<<3)
00122
00123 #define AB_BANKING_MSG_FLAGS_CONFIRM_BUTTON(fl) ((fl & 0x3)>>3)
00124
00125
00147 #define AB_BANKING_MSG_FLAGS_SEVERITY_MASK (0x7<<5)
00148
00149 #define AB_BANKING_MSG_FLAGS_SEVERITY_NORMAL (0x0<<5)
00150 #define AB_BANKING_MSG_FLAGS_SEVERITY_IS_NORMAL(fl) \
00151 ((fl & AB_BANKING_MSG_FLAGS_SEVERITY_MASK)==\
00152 AB_BANKING_MSG_FLAGS_SEVERITY_NORMAL)
00153
00155 #define AB_BANKING_MSG_FLAGS_SEVERITY_DANGEROUS (0x1<<5)
00156 #define AB_BANKING_MSG_FLAGS_SEVERITY_IS_DANGEROUS(fl) \
00157 ((fl & AB_BANKING_MSG_FLAGS_SEVERITY_MASK)==\
00158 AB_BANKING_MSG_FLAGS_SEVERITY_DANGEROUS)
00159
00171 #define AB_BANKING_SHOWBOX_FLAGS_BEEP 0x00000001
00172
00186 #define AB_BANKING_PROGRESS_NONE 0xffffffff
00187
00194 #define AB_BANKING_PROGRESS_ONE 0xfffffffe
00195
00205 typedef enum {
00207 AB_Banking_LogLevelPanic=0,
00209 AB_Banking_LogLevelEmergency,
00211 AB_Banking_LogLevelError,
00213 AB_Banking_LogLevelWarn,
00215 AB_Banking_LogLevelNotice,
00217 AB_Banking_LogLevelInfo,
00219 AB_Banking_LogLevelDebug,
00221 AB_Banking_LogLevelVerbous
00222 } AB_BANKING_LOGLEVEL;
00223
00224
00237 typedef int (*AB_BANKING_MESSAGEBOX_FN)(AB_BANKING *ab,
00238 GWEN_TYPE_UINT32 flags,
00239 const char *title,
00240 const char *text,
00241 const char *b1,
00242 const char *b2,
00243 const char *b3);
00244
00251 typedef int (*AB_BANKING_INPUTBOX_FN)(AB_BANKING *ab,
00252 GWEN_TYPE_UINT32 flags,
00253 const char *title,
00254 const char *text,
00255 char *buffer,
00256 int minLen,
00257 int maxLen);
00258
00265 typedef GWEN_TYPE_UINT32 (*AB_BANKING_SHOWBOX_FN)(AB_BANKING *ab,
00266 GWEN_TYPE_UINT32 flags,
00267 const char *title,
00268 const char *text);
00275 typedef void (*AB_BANKING_HIDEBOX_FN)(AB_BANKING *ab, GWEN_TYPE_UINT32 id);
00276
00283 typedef GWEN_TYPE_UINT32
00284 (*AB_BANKING_PROGRESS_START_FN)(AB_BANKING *ab,
00285 const char *title,
00286 const char *text,
00287 GWEN_TYPE_UINT32 total);
00288
00295 typedef int (*AB_BANKING_PROGRESS_ADVANCE_FN)(AB_BANKING *ab,
00296 GWEN_TYPE_UINT32 id,
00297 GWEN_TYPE_UINT32 progress);
00304 typedef int (*AB_BANKING_PROGRESS_LOG_FN)(AB_BANKING *ab,
00305 GWEN_TYPE_UINT32 id,
00306 AB_BANKING_LOGLEVEL level,
00307 const char *text);
00314 typedef int (*AB_BANKING_PROGRESS_END_FN)(AB_BANKING *ab,
00315 GWEN_TYPE_UINT32 id);
00316
00323 typedef int (*AB_BANKING_PRINT_FN)(AB_BANKING *ab,
00324 const char *docTitle,
00325 const char *docType,
00326 const char *descr,
00327 const char *text);
00328
00336 typedef enum {
00337 AB_Banking_PinStatusBad=-1,
00338 AB_Banking_PinStatusUnknown,
00339 AB_Banking_PinStatusOk
00340 } AB_BANKING_PINSTATUS;
00341
00342
00343 typedef enum {
00344 AB_Banking_TanStatusBad=-1,
00345 AB_Banking_TanStatusUnknown,
00346 AB_Banking_TanStatusUsed,
00347 AB_Banking_TanStatusUnused,
00348 } AB_BANKING_TANSTATUS;
00349
00350
00351 typedef int (*AB_BANKING_GETPIN_FN)(AB_BANKING *ab,
00352 GWEN_TYPE_UINT32 flags,
00353 const char *token,
00354 const char *title,
00355 const char *text,
00356 char *buffer,
00357 int minLen,
00358 int maxLen);
00359 typedef int (*AB_BANKING_SETPINSTATUS_FN)(AB_BANKING *ab,
00360 const char *token,
00361 const char *pin,
00362 AB_BANKING_PINSTATUS status);
00363
00364 typedef int (*AB_BANKING_GETTAN_FN)(AB_BANKING *ab,
00365 const char *token,
00366 const char *title,
00367 const char *text,
00368 char *buffer,
00369 int minLen,
00370 int maxLen);
00371
00372 typedef int (*AB_BANKING_SETTANSTATUS_FN)(AB_BANKING *ab,
00373 const char *token,
00374 const char *tan,
00375 AB_BANKING_TANSTATUS status);
00376
00377
00448 AQBANKING_API
00449 int AB_Banking_MessageBox(AB_BANKING *ab,
00450 GWEN_TYPE_UINT32 flags,
00451 const char *title,
00452 const char *text,
00453 const char *b1,
00454 const char *b2,
00455 const char *b3);
00456
00482 AQBANKING_API
00483 int AB_Banking_InputBox(AB_BANKING *ab,
00484 GWEN_TYPE_UINT32 flags,
00485 const char *title,
00486 const char *text,
00487 char *buffer,
00488 int minLen,
00489 int maxLen);
00490
00513 AQBANKING_API
00514 GWEN_TYPE_UINT32 AB_Banking_ShowBox(AB_BANKING *ab,
00515 GWEN_TYPE_UINT32 flags,
00516 const char *title,
00517 const char *text);
00518
00528 AQBANKING_API
00529 void AB_Banking_HideBox(AB_BANKING *ab, GWEN_TYPE_UINT32 id);
00530
00531
00563 AQBANKING_API
00564 GWEN_TYPE_UINT32 AB_Banking_ProgressStart(AB_BANKING *ab,
00565 const char *title,
00566 const char *text,
00567 GWEN_TYPE_UINT32 total);
00568
00590 AQBANKING_API
00591 int AB_Banking_ProgressAdvance(AB_BANKING *ab,
00592 GWEN_TYPE_UINT32 id,
00593 GWEN_TYPE_UINT32 progress);
00594
00606 AQBANKING_API
00607 int AB_Banking_ProgressLog(AB_BANKING *ab,
00608 GWEN_TYPE_UINT32 id,
00609 AB_BANKING_LOGLEVEL level,
00610 const char *text);
00611
00630 AQBANKING_API
00631 int AB_Banking_ProgressEnd(AB_BANKING *ab, GWEN_TYPE_UINT32 id);
00632
00633
00647 AQBANKING_API
00648 int AB_Banking_Print(AB_BANKING *ab,
00649 const char *docTitle,
00650 const char *docType,
00651 const char *descr,
00652 const char *text);
00653
00664
00665 AQBANKING_API
00666 void AB_Banking_SetMessageBoxFn(AB_BANKING *ab,
00667 AB_BANKING_MESSAGEBOX_FN f);
00668 AQBANKING_API
00669 void AB_Banking_SetInputBoxFn(AB_BANKING *ab,
00670 AB_BANKING_INPUTBOX_FN f);
00671 AQBANKING_API
00672 void AB_Banking_SetShowBoxFn(AB_BANKING *ab,
00673 AB_BANKING_SHOWBOX_FN f);
00674 AQBANKING_API
00675 void AB_Banking_SetHideBoxFn(AB_BANKING *ab,
00676 AB_BANKING_HIDEBOX_FN f);
00677
00678 AQBANKING_API
00679 void AB_Banking_SetProgressStartFn(AB_BANKING *ab,
00680 AB_BANKING_PROGRESS_START_FN f);
00681 AQBANKING_API
00682 void AB_Banking_SetProgressAdvanceFn(AB_BANKING *ab,
00683 AB_BANKING_PROGRESS_ADVANCE_FN f);
00684 AQBANKING_API
00685 void AB_Banking_SetProgressLogFn(AB_BANKING *ab,
00686 AB_BANKING_PROGRESS_LOG_FN f);
00687 AQBANKING_API
00688 void AB_Banking_SetProgressEndFn(AB_BANKING *ab,
00689 AB_BANKING_PROGRESS_END_FN f);
00690 AQBANKING_API
00691 void AB_Banking_SetPrintFn(AB_BANKING *ab,
00692 AB_BANKING_PRINT_FN f);
00693
00701
00724 AQBANKING_API
00725 int AB_Banking_GetPin(AB_BANKING *ab,
00726 GWEN_TYPE_UINT32 flags,
00727 const char *token,
00728 const char *title,
00729 const char *text,
00730 char *buffer,
00731 int minLen,
00732 int maxLen);
00733
00755 AQBANKING_API
00756 void AB_Banking_SetPinCacheEnabled(AB_BANKING *ab, int enabled);
00757
00763 AQBANKING_API
00764 int AB_Banking_GetPinCacheEnabled(const AB_BANKING *ab);
00765
00771 AQBANKING_API
00772 int AB_Banking_SetPinStatus(AB_BANKING *ab,
00773 const char *token,
00774 const char *pin,
00775 AB_BANKING_PINSTATUS status);
00776
00782 AQBANKING_API
00783 int AB_Banking_GetTan(AB_BANKING *ab,
00784 const char *token,
00785 const char *title,
00786 const char *text,
00787 char *buffer,
00788 int minLen,
00789 int maxLen);
00790
00796 AQBANKING_API
00797 int AB_Banking_SetTanStatus(AB_BANKING *ab,
00798 const char *token,
00799 const char *tan,
00800 AB_BANKING_TANSTATUS status);
00801
00810 AQBANKING_API
00811 void AB_Banking_SetGetPinFn(AB_BANKING *ab,
00812 AB_BANKING_GETPIN_FN f);
00813 AQBANKING_API
00814 void AB_Banking_SetSetPinStatusFn(AB_BANKING *ab,
00815 AB_BANKING_SETPINSTATUS_FN f);
00816
00817 AQBANKING_API
00818 void AB_Banking_SetGetTanFn(AB_BANKING *ab,
00819 AB_BANKING_GETTAN_FN f);
00820 AQBANKING_API
00821 void AB_Banking_SetSetTanStatusFn(AB_BANKING *ab,
00822 AB_BANKING_SETTANSTATUS_FN f);
00823
00827
00828
00829 #ifdef __cplusplus
00830 }
00831 #endif
00832
00833
00834 #endif