Main Page | Modules | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

hbci.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile: hbci.h,v $
00003                              -------------------
00004     cvs         : $Id: hbci.h,v 1.1 2005/08/05 20:33:12 aquamaniac Exp $
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 GWHBCI_HBCI_H
00015 #define GWHBCI_HBCI_H
00016 
00017 
00018 #include <aqhbci/aqhbci.h>
00019 
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023 typedef struct AH_HBCI AH_HBCI;
00024 #ifdef __cplusplus
00025 }
00026 #endif
00027 
00028 #define AH_DEFAULT_KEYLEN 768
00029 
00030 #define AH_HBCI_CHECKMEDIUM_WCB_ID "AH_HBCI_CHECKMEDIUM_WCB_ID"
00031 
00032 #define AH_HBCI_LAST_VERSION_NONE 0xffffffff
00033 
00034 #include <gwenhywfar/xml.h>
00035 #include <gwenhywfar/misc.h>
00036 #include <gwenhywfar/inherit.h>
00037 #include <gwenhywfar/plugindescr.h>
00038 #include <gwenhywfar/crypttoken.h>
00039 
00040 #include <aqhbci/objectref.h>
00041 
00042 #include <aqbanking/banking.h>
00043 
00044 
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048 
00049 GWEN_INHERIT_FUNCTION_LIB_DEFS(AH_HBCI, AQHBCI_API);
00050 
00051 #define AH_HBCI_CONN_MARK_TCP 1
00052 #define AH_HBCI_CONN_MARK_SSL 2
00053 
00054 
00055 
00056 typedef enum {
00057   AH_CryptMode_Unknown=-1,
00059   AH_CryptMode_None=0,
00061   AH_CryptMode_Ddv,
00063   AH_CryptMode_Pintan,
00065   AH_CryptMode_Rdh
00066 } AH_CRYPT_MODE;
00067 AH_CRYPT_MODE AH_CryptMode_fromString(const char *s);
00068 const char *AH_CryptMode_toString(AH_CRYPT_MODE v);
00069 
00070 #ifdef __cplusplus
00071 }
00072 #endif
00073 
00074 #include <aqhbci/medium.h>
00075 #include <aqhbci/user.h>
00076 #include <aqhbci/account.h>
00077 #include <aqhbci/message.h>
00078 #include <aqhbci/customer.h>
00079 #include <aqhbci/user.h>
00080 
00081 #ifdef __cplusplus
00082 extern "C" {
00083 #endif
00084 
00085 
00090 AQHBCI_API
00091 AH_HBCI *AH_HBCI_new(AB_PROVIDER *pro);
00092 AQHBCI_API
00093 void AH_HBCI_free(AH_HBCI *hbci);
00101 AQHBCI_API
00102 const char *AH_HBCI_GetProductName(const AH_HBCI *hbci);
00103 AQHBCI_API
00104 void AH_HBCI_SetProductName(AH_HBCI *hbci, const char *s);
00105 
00106 AQHBCI_API
00107 const char *AH_HBCI_GetProductVersion(const AH_HBCI *hbci);
00108 AQHBCI_API
00109 void AH_HBCI_SetProductVersion(AH_HBCI *hbci, const char *s);
00110 
00111 AQHBCI_API
00112 AB_BANKING *AH_HBCI_GetBankingApi(const AH_HBCI *hbci);
00113 AQHBCI_API
00114 AB_PROVIDER *AH_HBCI_GetProvider(const AH_HBCI *hbci);
00115 
00120 int AH_HBCI_Init(AH_HBCI *hbci);
00121 int AH_HBCI_Fini(AH_HBCI *hbci);
00122 
00123 
00124 
00125 AQHBCI_API
00126 AH_MEDIUM*
00127   AH_HBCI_MediumFactory(AH_HBCI *hbci,
00128                         const char *typeName,
00129                         const char *subTypeName,
00130                         const char *mediumName);
00131 
00132 AQHBCI_API
00133 AH_MEDIUM*
00134 AH_HBCI_MediumFactoryDb(AH_HBCI *hbci,
00135                         const char *typeName,
00136                         const char *subTypeName,
00137                         GWEN_DB_NODE *db);
00138 
00139 AQHBCI_API
00140 AH_MEDIUM *AH_HBCI_FindMedium(const AH_HBCI *hbci,
00141                               const char *typeName,
00142                               const char *mediumName);
00143 
00144 AQHBCI_API
00145 AH_MEDIUM *AH_HBCI_SelectMedium(AH_HBCI *hbci,
00146                                 const char *typeName,
00147                                 const char *subTypeName,
00148                                 const char *mediumName);
00149 
00150 AQHBCI_API
00151 AH_MEDIUM *AH_HBCI_SelectMediumDb(AH_HBCI *hbci,
00152                                   const char *typeName,
00153                                   const char *subTypeName,
00154                                   GWEN_DB_NODE *db);
00155 
00156 AQHBCI_API
00157 int AH_HBCI_AddMedium(AH_HBCI *hbci, AH_MEDIUM *m);
00158 
00159 AQHBCI_API
00160 const AH_MEDIUM_LIST *AH_HBCI_GetMediaList(const AH_HBCI *hbci);
00161 
00162 
00170 AQHBCI_API
00171 int AH_HBCI_RemoveMedium(AH_HBCI *hbci, AH_MEDIUM *m);
00172 
00173 
00174 AQHBCI_API
00175 int AH_HBCI_UnmountCurrentMedium(AH_HBCI *hbci);
00176 
00177 
00178 AQHBCI_API
00179 GWEN_PLUGIN_DESCRIPTION_LIST2*
00180 AH_HBCI_GetMediumPluginDescrs(AH_HBCI *hbci,
00181                               GWEN_CRYPTTOKEN_DEVICE dev);
00182 
00183 AQHBCI_API
00184 int AH_HBCI_CheckMedium(AH_HBCI *hbci,
00185                         GWEN_CRYPTTOKEN_DEVICE dev,
00186                         GWEN_BUFFER *mtypeName,
00187                         GWEN_BUFFER *msubTypeName,
00188                         GWEN_BUFFER *mediumName);
00189 
00190 
00191 
00192 
00193 AQHBCI_API
00194 AH_BANK *AH_HBCI_FindBank(const AH_HBCI *hbci,
00195                           int country,
00196                           const char *bankId);
00197 
00198 AQHBCI_API
00199 AH_BANK_LIST2 *AH_HBCI_GetBanks(const AH_HBCI *hbci,
00200                                 int country,
00201                                 const char *bankId);
00202 
00203 AQHBCI_API
00204 int AH_HBCI_AddBank(AH_HBCI *hbci, AH_BANK *b);
00205 AQHBCI_API
00206 
00207 AQHBCI_API
00208 int AH_HBCI_RemoveBank(AH_HBCI *hbci, AH_BANK *b);
00209 
00210 
00211 AQHBCI_API
00212 AH_CUSTOMER *AH_HBCI_FindCustomer(AH_HBCI *hbci,
00213                                   int country,
00214                                   const char *bankId,
00215                                   const char *userId,
00216                                   const char *customerId);
00217 
00218 AQHBCI_API
00219 AH_CUSTOMER_LIST2 *AH_HBCI_GetCustomers(AH_HBCI *hbci,
00220                                         int country,
00221                                         const char *bankId,
00222                                         const char *userId,
00223                                         const char *customerId);
00224 
00225 AQHBCI_API
00226 AH_ACCOUNT *AH_HBCI_FindAccount(AH_HBCI *hbci,
00227                                 int country,
00228                                 const char *bankId,
00229                                 const char *accountId);
00230 
00231 AQHBCI_API
00232 AH_ACCOUNT_LIST2 *AH_HBCI_GetAccounts(AH_HBCI *hbci,
00233                                       int country,
00234                                       const char *bankId,
00235                                       const char *accountId);
00236 
00237 
00238 AQHBCI_API
00239 AH_USER *AH_HBCI_FindUser(AH_HBCI *hbci,
00240                           int country,
00241                           const char *bankId,
00242                           const char *userId);
00243 
00244 AQHBCI_API
00245 AH_USER_LIST2 *AH_HBCI_GetUsers(AH_HBCI *hbci,
00246                                 int country,
00247                                 const char *bankId,
00248                                 const char *userId);
00249 
00250 
00251 
00252 int AH_HBCI_AddBankPath(const AH_HBCI *hbci,
00253                         const AH_BANK *b,
00254                         GWEN_BUFFER *nbuf);
00255 int AH_HBCI_AddUserPath(const AH_HBCI *hbci,
00256                         const AH_USER *u,
00257                         GWEN_BUFFER *nbuf);
00258 int AH_HBCI_AddCustomerPath(const AH_HBCI *hbci,
00259                             const AH_CUSTOMER *cu,
00260                             GWEN_BUFFER *nbuf);
00261 
00262 int AH_HBCI_AddAccountPath(const AH_HBCI *hbci,
00263                            const AH_ACCOUNT *a,
00264                            GWEN_BUFFER *nbuf);
00265 
00266 
00267 
00268 int AH_HBCI_AddBankCertFolder(AH_HBCI *hbci,
00269                               AH_BANK *b,
00270                               GWEN_BUFFER *nbuf);
00271 int AH_HBCI_RemoveAllBankCerts(AH_HBCI *hbci, AH_BANK *b);
00272 
00273 
00274 int AH_HBCI_SaveMessage(AH_HBCI *hbci,
00275                         const AH_CUSTOMER *cu,
00276                         GWEN_DB_NODE *dbMsg);
00277 
00278 
00279 GWEN_DB_NODE *AH_HBCI_GetSharedRuntimeData(const AH_HBCI *hbci);
00280 
00281 int AH_HBCI_GetTransferTimeout(const AH_HBCI *hbci);
00282 void AH_HBCI_SetTransferTimeout(AH_HBCI *hbci, int i);
00283 
00284 
00285 int AH_HBCI_GetConnectTimeout(const AH_HBCI *hbci);
00286 void AH_HBCI_SetConnectTimeout(AH_HBCI *hbci, int i);
00287 
00288 
00289 void AH_HBCI_HbciToUtf8(const char *p,
00290                         int size,
00291                         GWEN_BUFFER *buf);
00292 
00293 
00294 #ifdef __cplusplus
00295 }
00296 #endif
00297 
00298 #endif /* GWHBCI_HBCI_H */
00299 
00300 
00301 

Generated on Thu Oct 6 14:49:08 2005 for aqbanking by  doxygen 1.4.4