banking_virt.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id: banking_virt.h 987 2006-03-25 18:18:18Z aquamaniac $
00005  begin       : Mon Mar 01 2004
00006  copyright   : (C) 2004 by Martin Preuss
00007  email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *          Please see toplevel file COPYING for license details           *
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  /* addtogroup */
00828 
00829 #ifdef __cplusplus
00830 }
00831 #endif
00832 
00833 
00834 #endif

Generated on Fri Nov 10 03:56:53 2006 for aqbanking by  doxygen 1.5.1