aqbanking  5.0.22
user.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  *          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