aqbanking
5.0.22
|
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 * Please see toplevel file COPYING for license details * 00011 ***************************************************************************/ 00012 00013 #ifndef AH_USER_H 00014 #define AH_USER_H 00015 00016 #include <aqhbci/aqhbci.h> 00017 #include <aqhbci/tanmethod.h> 00018 #include <gwenhywfar/misc.h> 00019 00020 00028 00029 #include <aqbanking/user.h> 00030 00031 #include <gwenhywfar/db.h> 00032 #include <gwenhywfar/url.h> 00033 00034 00035 00036 #ifdef __cplusplus 00037 extern "C" { 00038 #endif 00039 00045 #define AH_USER_FLAGS_BANK_DOESNT_SIGN 0x00000001 00046 00047 #define AH_USER_FLAGS_BANK_USES_SIGNSEQ 0x00000002 00048 #define AH_USER_FLAGS_RESERVED1 0x00000004 00049 #define AH_USER_FLAGS_RESERVED2 0x00000008 00050 00052 #define AH_USER_FLAGS_KEEPALIVE 0x00000010 00053 00056 #define AH_USER_FLAGS_IGNORE_UPD 0x00000020 00057 00059 #define AH_USER_FLAGS_FORCE_SSL3 0x00000040 00060 00062 #define AH_USER_FLAGS_NO_BASE64 0x00000080 00063 00067 #define AH_USER_FLAGS_KEEP_MULTIPLE_BLANKS 0x00000100 00068 00074 #define AH_USER_FLAGS_TAN_OMIT_SMS_ACCOUNT 0x00000200 00075 00084 00085 AQHBCI_API 00086 void AH_User_Flags_toDb(GWEN_DB_NODE *db, const char *name, 00087 uint32_t flags); 00088 AQHBCI_API 00089 uint32_t AH_User_Flags_fromDb(GWEN_DB_NODE *db, const char *name); 00090 00091 00092 typedef enum { 00093 AH_UserStatusNew=0, 00094 AH_UserStatusEnabled, 00095 AH_UserStatusPending, 00096 AH_UserStatusDisabled, 00097 AH_UserStatusUnknown=999 00098 } AH_USER_STATUS; 00099 AQHBCI_API 00100 const char *AH_User_Status_toString(AH_USER_STATUS st); 00101 AQHBCI_API 00102 AH_USER_STATUS AH_User_Status_fromString(const char *s); 00103 00104 00105 AQHBCI_API 00106 AH_USER_STATUS AH_User_GetStatus(const AB_USER *u); 00107 AQHBCI_API 00108 void AH_User_SetStatus(AB_USER *u, AH_USER_STATUS i); 00109 00115 AQHBCI_API 00116 uint32_t AH_User_GetFlags(const AB_USER *u); 00117 00118 AQHBCI_API 00119 void AH_User_SetFlags(AB_USER *u, uint32_t flags); 00120 00121 AQHBCI_API 00122 void AH_User_AddFlags(AB_USER *u, uint32_t flags); 00123 00124 AQHBCI_API 00125 void AH_User_SubFlags(AB_USER *u, uint32_t flags); 00126 00127 00135 00136 AQHBCI_API 00137 const int *AH_User_GetTanMethodList(const AB_USER *u); 00138 AQHBCI_API 00139 int AH_User_GetTanMethodCount(const AB_USER *u); 00140 AQHBCI_API 00141 int AH_User_HasTanMethod(const AB_USER *u, int method); 00142 AQHBCI_API 00143 int AH_User_HasTanMethodOtherThan(const AB_USER *u, int method); 00144 AQHBCI_API 00145 void AH_User_AddTanMethod(AB_USER *u, int method); 00146 AQHBCI_API 00147 void AH_User_ClearTanMethodList(AB_USER *u); 00148 00149 AQHBCI_API 00150 int AH_User_GetSelectedTanMethod(const AB_USER *u); 00151 AQHBCI_API 00152 void AH_User_SetSelectedTanMethod(AB_USER *u, int i); 00153 00154 00155 AQHBCI_API 00156 const char *AH_User_GetHttpContentType(const AB_USER *u); 00157 AQHBCI_API 00158 void AH_User_SetHttpContentType(AB_USER *u, const char *s); 00159 00164 AQHBCI_API 00165 const char *AH_User_GetTokenType(const AB_USER *u); 00166 AQHBCI_API 00167 void AH_User_SetTokenType(AB_USER *u, const char *s); 00168 AQHBCI_API 00169 const char *AH_User_GetTokenName(const AB_USER *u); 00170 AQHBCI_API 00171 void AH_User_SetTokenName(AB_USER *u, const char *s); 00172 AQHBCI_API 00173 uint32_t AH_User_GetTokenContextId(const AB_USER *u); 00174 AQHBCI_API 00175 void AH_User_SetTokenContextId(AB_USER *u, uint32_t id); 00176 00177 00178 00186 AQHBCI_API 00187 AH_CRYPT_MODE AH_User_GetCryptMode(const AB_USER *u); 00188 AQHBCI_API 00189 void AH_User_SetCryptMode(AB_USER *u, AH_CRYPT_MODE m); 00190 00191 AQHBCI_API 00192 int AH_User_GetRdhType(const AB_USER *u); 00193 00194 AQHBCI_API 00195 void AH_User_SetRdhType(AB_USER *u, int i); 00196 00197 AQHBCI_API 00198 const char *AH_User_GetPeerId(const AB_USER *u); 00199 AQHBCI_API 00200 void AH_User_SetPeerId(AB_USER *u, const char *s); 00201 00202 AQHBCI_API 00203 const char *AH_User_GetSystemId(const AB_USER *u); 00204 AQHBCI_API 00205 void AH_User_SetSystemId(AB_USER *u, const char *s); 00206 00207 00208 AQHBCI_API 00209 const GWEN_URL *AH_User_GetServerUrl(const AB_USER *u); 00210 AQHBCI_API 00211 void AH_User_SetServerUrl(AB_USER *u, const GWEN_URL *url); 00212 00213 00214 AQHBCI_API 00215 int AH_User_GetHbciVersion(const AB_USER *u); 00216 AQHBCI_API 00217 void AH_User_SetHbciVersion(AB_USER *u, int i); 00229 AQHBCI_API 00230 int AH_User_GetHttpVMajor(const AB_USER *u); 00231 AQHBCI_API 00232 void AH_User_SetHttpVMajor(AB_USER *u, int i); 00233 00237 AQHBCI_API 00238 int AH_User_GetHttpVMinor(const AB_USER *u); 00239 AQHBCI_API 00240 void AH_User_SetHttpVMinor(AB_USER *u, int i); 00241 00242 00243 00244 AQHBCI_API 00245 const char *AH_User_GetHttpUserAgent(const AB_USER *u); 00246 AQHBCI_API 00247 void AH_User_SetHttpUserAgent(AB_USER *u, const char *s); 00248 00249 00250 AQHBCI_API 00251 const char *AH_User_GetTanMediumId(const AB_USER *u); 00252 00253 AQHBCI_API 00254 void AH_User_SetTanMediumId(AB_USER *u, const char *s); 00255 00256 00264 00265 AQHBCI_API 00266 int AH_User_MkPasswdName(const AB_USER *u, GWEN_BUFFER *buf); 00267 00268 AQHBCI_API 00269 int AH_User_MkPinName(const AB_USER *u, GWEN_BUFFER *buf); 00270 00271 AQHBCI_API 00272 int AH_User_MkTanName(const AB_USER *u, 00273 const char *challenge, 00274 GWEN_BUFFER *buf); 00275 00279 AQHBCI_API 00280 const AH_TAN_METHOD_LIST *AH_User_GetTanMethodDescriptions(AB_USER *u); 00281 00282 00286 AQHBCI_API int AH_User_GetMaxTransfersPerJob(const AB_USER *u); 00287 AQHBCI_API void AH_User_SetMaxTransfersPerJob(AB_USER *u, int i); 00288 AQHBCI_API int AH_User_GetMaxDebitNotesPerJob(const AB_USER *u); 00289 AQHBCI_API void AH_User_SetMaxDebitNotesPerJob(AB_USER *u, int i); 00290 00291 00292 00293 00294 00295 /* defgroup */ 00297 00298 #ifdef __cplusplus 00299 } 00300 #endif 00301 00302 #endif /* AH_USER_H */ 00303 00304 00305 00306 00307 00308