00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef AH_BPD_H
00014 #define AH_BPD_H
00015
00016 #include <aqhbci/aqhbci.h>
00017
00018 #include <gwenhywfar/misc.h>
00019 #include <gwenhywfar/list2.h>
00020 #include <gwenhywfar/db.h>
00021 #include <stdio.h>
00022
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028 typedef enum {
00029 AH_BPD_AddrTypeTCP=0,
00030 AH_BPD_AddrTypeBTX,
00031 AH_BPD_AddrTypeSSL,
00032 AH_BPD_AddrTypeUnknown=99
00033 } AH_BPD_ADDR_TYPE;
00034
00035
00036 typedef enum {
00037 AH_BPD_FilterTypeNone=0,
00038 AH_BPD_FilterTypeBase64,
00039 AH_BPD_FilterTypeUUE
00040 } AH_BPD_FILTER_TYPE;
00041
00042
00043 typedef struct AH_BPD AH_BPD;
00044
00045 typedef struct AH_BPD_ADDR AH_BPD_ADDR;
00046
00047 GWEN_LIST_FUNCTION_LIB_DEFS(AH_BPD_ADDR, AH_BpdAddr, AQHBCI_API);
00048 GWEN_LIST2_FUNCTION_LIB_DEFS(AH_BPD_ADDR, AH_BpdAddr, AQHBCI_API);
00049
00050
00051 AH_BPD *AH_Bpd_new();
00052 void AH_Bpd_free(AH_BPD *bpd);
00053 AH_BPD *AH_Bpd_dup(const AH_BPD *oldBpd);
00054
00055 AH_BPD *AH_Bpd_FromDb(GWEN_DB_NODE *db);
00056 int AH_Bpd_ToDb(const AH_BPD *bpd, GWEN_DB_NODE *db);
00057
00058
00059 int AH_Bpd_GetBpdVersion(const AH_BPD *bpd);
00060 void AH_Bpd_SetBpdVersion(AH_BPD *bpd, int i);
00061 GWEN_DB_NODE *AH_Bpd_GetBpdJobs(const AH_BPD *bpd, int hbciVersion);
00062 void AH_Bpd_SetBpdJobs(AH_BPD *bpd,
00063 GWEN_DB_NODE *n);
00064 void AH_Bpd_ClearBpdJobs(AH_BPD *bpd);
00065
00066 int AH_Bpd_GetJobTypesPerMsg(const AH_BPD *bpd);
00067 void AH_Bpd_SetJobTypesPerMsg(AH_BPD *bpd, int i);
00068
00069 int AH_Bpd_GetMaxMsgSize(const AH_BPD *bpd);
00070 void AH_Bpd_SetMaxMsgSize(AH_BPD *bpd, int i);
00071
00075 const int *AH_Bpd_GetHbciVersions(const AH_BPD *bpd);
00076 int AH_Bpd_AddHbciVersion(AH_BPD *bpd, int i);
00077 void AH_Bpd_ClearHbciVersions(AH_BPD *bpd);
00078
00082 const int *AH_Bpd_GetLanguages(const AH_BPD *bpd);
00083 int AH_Bpd_AddLanguage(AH_BPD *bpd, int i);
00084 void AH_Bpd_ClearLanguages(AH_BPD *bpd);
00085
00086
00087 const char *AH_Bpd_GetBankAddr(const AH_BPD *bpd);
00088 void AH_Bpd_SetBankAddr(AH_BPD *bpd, const char *addr);
00089
00090 int AH_Bpd_GetBankPort(const AH_BPD *bpd);
00091 void AH_Bpd_SetBankPort(AH_BPD *bpd, int p);
00092
00093 AH_BPD_ADDR_TYPE AH_Bpd_GetAddrType(const AH_BPD *bpd);
00094 void AH_Bpd_SetAddrType(AH_BPD *bpd, AH_BPD_ADDR_TYPE i);
00095
00096 const char *AH_Bpd_GetBankName(const AH_BPD *bpd);
00097 void AH_Bpd_SetBankName(AH_BPD *bpd, const char *s);
00098
00099
00100 int AH_Bpd_IsDirty(const AH_BPD *bpd);
00101 void AH_Bpd_SetIsDirty(AH_BPD *bpd,
00102 int dirty);
00103
00104 void AH_Bpd_Dump(const AH_BPD *bpd, FILE *f, int insert);
00105
00106 void AH_Bpd_ClearAddr(AH_BPD *bpd);
00108 void AH_Bpd_AddAddr(AH_BPD *bpd, AH_BPD_ADDR *ba);
00109
00110 AH_BPD_ADDR_LIST *AH_Bpd_GetAddrList(const AH_BPD *bpd);
00111
00112
00113
00114 AH_BPD_ADDR *AH_BpdAddr_new();
00115 void AH_BpdAddr_free(AH_BPD_ADDR *ba);
00116 AH_BPD_ADDR *AH_BpdAddr_dup(const AH_BPD_ADDR *ba);
00117
00118 AH_BPD_ADDR *AH_BpdAddr_FromDb(GWEN_DB_NODE *db);
00119 int AH_BpdAddr_ToDb(const AH_BPD_ADDR *ba, GWEN_DB_NODE *db);
00120
00121 AH_BPD_ADDR_TYPE AH_BpdAddr_GetType(const AH_BPD_ADDR *ba);
00122 void AH_BpdAddr_SetType(AH_BPD_ADDR *ba, AH_BPD_ADDR_TYPE t);
00123
00124 const char *AH_BpdAddr_GetAddr(const AH_BPD_ADDR *ba);
00125 void AH_BpdAddr_SetAddr(AH_BPD_ADDR *ba, const char *s);
00126
00127 const char *AH_BpdAddr_GetSuffix(const AH_BPD_ADDR *ba);
00128 void AH_BpdAddr_SetSuffix(AH_BPD_ADDR *ba, const char *s);
00129
00130 AH_BPD_FILTER_TYPE AH_BpdAddr_GetFType(const AH_BPD_ADDR *ba);
00131 void AH_BpdAddr_SetFType(AH_BPD_ADDR *ba, AH_BPD_FILTER_TYPE t);
00132
00133 int AH_BpdAddr_GetFVersion(const AH_BPD_ADDR *ba);
00134 void AH_BpdAddr_SetFVersion(AH_BPD_ADDR *ba, int i);
00135
00136
00137 #ifdef __cplusplus
00138 }
00139 #endif
00140
00141
00142 #endif
00143
00144
00145