aqbanking 5.0.14
bankinfoplugin_be.h
Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id$
00005  begin       : Mon Mar 01 2004
00006  copyright   : (C) 2004 by Martin Preuss
00007  email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  * This file is part of the project "AqBanking".                           *
00011  * Please see toplevel file COPYING of that project for license details.   *
00012  ***************************************************************************/
00013 
00014 
00015 #ifndef AQBANKING_BANKINFOPLUGIN_BE_H
00016 #define AQBANKING_BANKINFOPLUGIN_BE_H
00017 
00018 #include <aqbanking/bankinfoplugin.h>
00019 
00020 
00021 typedef struct AB_BANKINFO_PLUGIN AB_BANKINFO_PLUGIN;
00022 
00023 #include <aqbanking/banking.h>
00024 #include <gwenhywfar/inherit.h>
00025 #include <gwenhywfar/misc.h>
00026 #include <gwenhywfar/list2.h>
00027 #include <gwenhywfar/plugin.h>
00028 
00029 
00030 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_BANKINFO_PLUGIN,
00031                                AQBANKING_API)
00032 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_BANKINFO_PLUGIN,
00033                              AB_BankInfoPlugin,
00034                              AQBANKING_API)
00035 
00036 
00037 typedef AB_BANKINFO_PLUGIN*
00038   (*AB_BANKINFO_PLUGIN_FACTORY_FN)(AB_BANKING *ab);
00039 
00040 
00041 
00046 typedef AB_BANKINFO*
00047   (*AB_BANKINFOPLUGIN_GETBANKINFO_FN)(AB_BANKINFO_PLUGIN *bip,
00048                                       const char *branchId,
00049                                       const char *bankId);
00050 
00051 typedef int
00052   (*AB_BANKINFOPLUGIN_GETBANKINFOBYTMPLATE_FN)(AB_BANKINFO_PLUGIN *bip,
00053                                                AB_BANKINFO *tbi,
00054                                                AB_BANKINFO_LIST2 *bl);
00055 
00056 
00057 typedef AB_BANKINFO_CHECKRESULT
00058   (*AB_BANKINFOPLUGIN_CHECKACCOUNT_FN)(AB_BANKINFO_PLUGIN *bip,
00059                                        const char *branchId,
00060                                        const char *bankId,
00061                                        const char *accountId);
00070 AQBANKING_API
00071 AB_BANKINFO_PLUGIN *AB_BankInfoPlugin_new(const char *country);
00072 AQBANKING_API
00073 void AB_BankInfoPlugin_free(AB_BANKINFO_PLUGIN *bip);
00074 AQBANKING_API
00075 void AB_BankInfoPlugin_Attach(AB_BANKINFO_PLUGIN *bip);
00084 
00085 AQBANKING_API
00086 const char *AB_BankInfoPlugin_GetCountry(const AB_BANKINFO_PLUGIN *bip);
00095 AQBANKING_API
00096 AB_BANKINFO *AB_BankInfoPlugin_GetBankInfo(AB_BANKINFO_PLUGIN *bip,
00097                                            const char *branchId,
00098                                            const char *bankId);
00099 
00100 AQBANKING_API
00101 int AB_BankInfoPlugin_GetBankInfoByTemplate(AB_BANKINFO_PLUGIN *bip,
00102                                             AB_BANKINFO *tbi,
00103                                             AB_BANKINFO_LIST2 *bl);
00104 
00105 AQBANKING_API
00106 AB_BANKINFO_CHECKRESULT
00107   AB_BankInfoPlugin_CheckAccount(AB_BANKINFO_PLUGIN *bip,
00108                                  const char *branchId,
00109                                  const char *bankId,
00110                                  const char *accountId);
00118 AQBANKING_API
00119 void AB_BankInfoPlugin_SetGetBankInfoFn(AB_BANKINFO_PLUGIN *bip,
00120                                         AB_BANKINFOPLUGIN_GETBANKINFO_FN f);
00121 AQBANKING_API
00122 void AB_BankInfoPlugin_SetGetBankInfoByTemplateFn(AB_BANKINFO_PLUGIN *bip,
00123                                                   AB_BANKINFOPLUGIN_GETBANKINFOBYTMPLATE_FN f);
00124 AQBANKING_API
00125 void AB_BankInfoPlugin_SetCheckAccountFn(AB_BANKINFO_PLUGIN *bip,
00126                                          AB_BANKINFOPLUGIN_CHECKACCOUNT_FN f);
00131 typedef AB_BANKINFO_PLUGIN* (*AB_PLUGIN_BANKINFO_FACTORY_FN)(GWEN_PLUGIN *pl,
00132                                                              AB_BANKING *ab);
00133 
00134 
00135 AQBANKING_API
00136 GWEN_PLUGIN *AB_Plugin_BankInfo_new(GWEN_PLUGIN_MANAGER *pm,
00137                                     const char *name,
00138                                     const char *fileName);
00139 
00140 
00141 AQBANKING_API
00142 AB_BANKINFO_PLUGIN *AB_Plugin_BankInfo_Factory(GWEN_PLUGIN *pl, AB_BANKING *ab);
00143 
00144 AQBANKING_API
00145 void AB_Plugin_BankInfo_SetFactoryFn(GWEN_PLUGIN *pl,
00146                                      AB_PLUGIN_BANKINFO_FACTORY_FN fn);
00147 
00148 
00149 
00150 #endif /* AQBANKING_BANKINFOPLUGIN_BE_H */
00151 
00152 
00153 
00154