aqbanking 5.0.2
|
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 00076 00077 AQHBCI_API 00078 void AH_User_Flags_toDb(GWEN_DB_NODE *db, const char *name, 00079 uint32_t flags); 00080 AQHBCI_API 00081 uint32_t AH_User_Flags_fromDb(GWEN_DB_NODE *db, const char *name); 00082 00083 00084 typedef enum { 00085 AH_UserStatusNew=0, 00086 AH_UserStatusEnabled, 00087 AH_UserStatusPending, 00088 AH_UserStatusDisabled, 00089 AH_UserStatusUnknown=999 00090 } AH_USER_STATUS; 00091 AQHBCI_API 00092 const char *AH_User_Status_toString(AH_USER_STATUS st); 00093 AQHBCI_API 00094 AH_USER_STATUS AH_User_Status_fromString(const char *s); 00095 00096 00097 AQHBCI_API 00098 AH_USER_STATUS AH_User_GetStatus(const AB_USER *u); 00099 AQHBCI_API 00100 void AH_User_SetStatus(AB_USER *u, AH_USER_STATUS i); 00101 00107 AQHBCI_API 00108 uint32_t AH_User_GetFlags(const AB_USER *u); 00109 00110 AQHBCI_API 00111 void AH_User_SetFlags(AB_USER *u, uint32_t flags); 00112 00113 AQHBCI_API 00114 void AH_User_AddFlags(AB_USER *u, uint32_t flags); 00115 00116 AQHBCI_API 00117 void AH_User_SubFlags(AB_USER *u, uint32_t flags); 00118 00119 00127 00128 AQHBCI_API 00129 const int *AH_User_GetTanMethodList(const AB_USER *u); 00130 AQHBCI_API 00131 int AH_User_GetTanMethodCount(const AB_USER *u); 00132 AQHBCI_API 00133 int AH_User_HasTanMethod(const AB_USER *u, int method); 00134 AQHBCI_API 00135 int AH_User_HasTanMethodOtherThan(const AB_USER *u, int method); 00136 AQHBCI_API 00137 void AH_User_AddTanMethod(AB_USER *u, int method); 00138 AQHBCI_API 00139 void AH_User_ClearTanMethodList(AB_USER *u); 00140 00141 AQHBCI_API 00142 int AH_User_GetSelectedTanMethod(const AB_USER *u); 00143 AQHBCI_API 00144 void AH_User_SetSelectedTanMethod(AB_USER *u, int i); 00145 00146 00147 AQHBCI_API 00148 const char *AH_User_GetHttpContentType(const AB_USER *u); 00149 AQHBCI_API 00150 void AH_User_SetHttpContentType(AB_USER *u, const char *s); 00151 00156 AQHBCI_API 00157 const char *AH_User_GetTokenType(const AB_USER *u); 00158 AQHBCI_API 00159 void AH_User_SetTokenType(AB_USER *u, const char *s); 00160 AQHBCI_API 00161 const char *AH_User_GetTokenName(const AB_USER *u); 00162 AQHBCI_API 00163 void AH_User_SetTokenName(AB_USER *u, const char *s); 00164 AQHBCI_API 00165 uint32_t AH_User_GetTokenContextId(const AB_USER *u); 00166 AQHBCI_API 00167 void AH_User_SetTokenContextId(AB_USER *u, uint32_t id); 00168 00169 00170 00178 AQHBCI_API 00179 AH_CRYPT_MODE AH_User_GetCryptMode(const AB_USER *u); 00180 AQHBCI_API 00181 void AH_User_SetCryptMode(AB_USER *u, AH_CRYPT_MODE m); 00182 00183 AQHBCI_API 00184 int AH_User_GetRdhType(const AB_USER *u); 00185 00186 AQHBCI_API 00187 void AH_User_SetRdhType(AB_USER *u, int i); 00188 00189 AQHBCI_API 00190 const char *AH_User_GetPeerId(const AB_USER *u); 00191 AQHBCI_API 00192 void AH_User_SetPeerId(AB_USER *u, const char *s); 00193 00194 AQHBCI_API 00195 const char *AH_User_GetSystemId(const AB_USER *u); 00196 AQHBCI_API 00197 void AH_User_SetSystemId(AB_USER *u, const char *s); 00198 00199 00200 AQHBCI_API 00201 const GWEN_URL *AH_User_GetServerUrl(const AB_USER *u); 00202 AQHBCI_API 00203 void AH_User_SetServerUrl(AB_USER *u, const GWEN_URL *url); 00204 00205 00206 AQHBCI_API 00207 int AH_User_GetHbciVersion(const AB_USER *u); 00208 AQHBCI_API 00209 void AH_User_SetHbciVersion(AB_USER *u, int i); 00221 AQHBCI_API 00222 int AH_User_GetHttpVMajor(const AB_USER *u); 00223 AQHBCI_API 00224 void AH_User_SetHttpVMajor(AB_USER *u, int i); 00225 00229 AQHBCI_API 00230 int AH_User_GetHttpVMinor(const AB_USER *u); 00231 AQHBCI_API 00232 void AH_User_SetHttpVMinor(AB_USER *u, int i); 00233 00234 00235 00236 AQHBCI_API 00237 const char *AH_User_GetHttpUserAgent(const AB_USER *u); 00238 AQHBCI_API 00239 void AH_User_SetHttpUserAgent(AB_USER *u, const char *s); 00240 00241 00242 AQHBCI_API 00243 const char *AH_User_GetTanMediumId(const AB_USER *u); 00244 00245 AQHBCI_API 00246 void AH_User_SetTanMediumId(AB_USER *u, const char *s); 00247 00248 00256 00257 AQHBCI_API 00258 int AH_User_MkPasswdName(const AB_USER *u, GWEN_BUFFER *buf); 00259 00260 AQHBCI_API 00261 int AH_User_MkPinName(const AB_USER *u, GWEN_BUFFER *buf); 00262 00263 AQHBCI_API 00264 int AH_User_MkTanName(const AB_USER *u, 00265 const char *challenge, 00266 GWEN_BUFFER *buf); 00267 00271 AQHBCI_API 00272 const AH_TAN_METHOD_LIST *AH_User_GetTanMethodDescriptions(AB_USER *u); 00273 00274 00278 AQHBCI_API int AH_User_GetMaxTransfersPerJob(const AB_USER *u); 00279 AQHBCI_API void AH_User_SetMaxTransfersPerJob(AB_USER *u, int i); 00280 AQHBCI_API int AH_User_GetMaxDebitNotesPerJob(const AB_USER *u); 00281 AQHBCI_API void AH_User_SetMaxDebitNotesPerJob(AB_USER *u, int i); 00282 00283 00284 00285 00286 00287 /* defgroup */ 00289 00290 #ifdef __cplusplus 00291 } 00292 #endif 00293 00294 #endif /* AH_USER_H */ 00295 00296 00297 00298 00299 00300