00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
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
00071
00072 AQHBCI_API
00073 void AH_User_Flags_toDb(GWEN_DB_NODE *db, const char *name,
00074 uint32_t flags);
00075 AQHBCI_API
00076 uint32_t AH_User_Flags_fromDb(GWEN_DB_NODE *db, const char *name);
00077
00078
00079 typedef enum {
00080 AH_UserStatusNew=0,
00081 AH_UserStatusEnabled,
00082 AH_UserStatusPending,
00083 AH_UserStatusDisabled,
00084 AH_UserStatusUnknown=999
00085 } AH_USER_STATUS;
00086 AQHBCI_API
00087 const char *AH_User_Status_toString(AH_USER_STATUS st);
00088 AQHBCI_API
00089 AH_USER_STATUS AH_User_Status_fromString(const char *s);
00090
00091
00092 AQHBCI_API
00093 AH_USER_STATUS AH_User_GetStatus(const AB_USER *u);
00094 AQHBCI_API
00095 void AH_User_SetStatus(AB_USER *u, AH_USER_STATUS i);
00096
00102 AQHBCI_API
00103 uint32_t AH_User_GetFlags(const AB_USER *u);
00104
00105 AQHBCI_API
00106 void AH_User_SetFlags(AB_USER *u, uint32_t flags);
00107
00108 AQHBCI_API
00109 void AH_User_AddFlags(AB_USER *u, uint32_t flags);
00110
00111 AQHBCI_API
00112 void AH_User_SubFlags(AB_USER *u, uint32_t flags);
00113
00114
00122
00123 AQHBCI_API
00124 const int *AH_User_GetTanMethodList(const AB_USER *u);
00125 AQHBCI_API
00126 int AH_User_GetTanMethodCount(const AB_USER *u);
00127 AQHBCI_API
00128 int AH_User_HasTanMethod(const AB_USER *u, int method);
00129 AQHBCI_API
00130 int AH_User_HasTanMethodOtherThan(const AB_USER *u, int method);
00131 AQHBCI_API
00132 void AH_User_AddTanMethod(AB_USER *u, int method);
00133 AQHBCI_API
00134 void AH_User_ClearTanMethodList(AB_USER *u);
00135
00136 AQHBCI_API
00137 int AH_User_GetSelectedTanMethod(const AB_USER *u);
00138 AQHBCI_API
00139 void AH_User_SetSelectedTanMethod(AB_USER *u, int i);
00140
00141
00142 AQHBCI_API
00143 const char *AH_User_GetHttpContentType(const AB_USER *u);
00144 AQHBCI_API
00145 void AH_User_SetHttpContentType(AB_USER *u, const char *s);
00146
00151 AQHBCI_API
00152 const char *AH_User_GetTokenType(const AB_USER *u);
00153 AQHBCI_API
00154 void AH_User_SetTokenType(AB_USER *u, const char *s);
00155 AQHBCI_API
00156 const char *AH_User_GetTokenName(const AB_USER *u);
00157 AQHBCI_API
00158 void AH_User_SetTokenName(AB_USER *u, const char *s);
00159 AQHBCI_API
00160 uint32_t AH_User_GetTokenContextId(const AB_USER *u);
00161 AQHBCI_API
00162 void AH_User_SetTokenContextId(AB_USER *u, uint32_t id);
00163
00164
00165
00173 AQHBCI_API
00174 AH_CRYPT_MODE AH_User_GetCryptMode(const AB_USER *u);
00175 AQHBCI_API
00176 void AH_User_SetCryptMode(AB_USER *u, AH_CRYPT_MODE m);
00177
00178 int AH_User_GetRdhType(const AB_USER *u);
00179 void AH_User_SetRdhType(AB_USER *u, int i);
00180
00181 AQHBCI_API
00182 const char *AH_User_GetPeerId(const AB_USER *u);
00183 AQHBCI_API
00184 void AH_User_SetPeerId(AB_USER *u, const char *s);
00185
00186 AQHBCI_API
00187 const char *AH_User_GetSystemId(const AB_USER *u);
00188 AQHBCI_API
00189 void AH_User_SetSystemId(AB_USER *u, const char *s);
00190
00191
00192 AQHBCI_API
00193 const GWEN_URL *AH_User_GetServerUrl(const AB_USER *u);
00194 AQHBCI_API
00195 void AH_User_SetServerUrl(AB_USER *u, const GWEN_URL *url);
00196
00197
00198 AQHBCI_API
00199 int AH_User_GetHbciVersion(const AB_USER *u);
00200 AQHBCI_API
00201 void AH_User_SetHbciVersion(AB_USER *u, int i);
00213 AQHBCI_API
00214 int AH_User_GetHttpVMajor(const AB_USER *u);
00215 AQHBCI_API
00216 void AH_User_SetHttpVMajor(AB_USER *u, int i);
00217
00221 AQHBCI_API
00222 int AH_User_GetHttpVMinor(const AB_USER *u);
00223 AQHBCI_API
00224 void AH_User_SetHttpVMinor(AB_USER *u, int i);
00225
00226
00227
00228 AQHBCI_API
00229 const char *AH_User_GetHttpUserAgent(const AB_USER *u);
00230 AQHBCI_API
00231 void AH_User_SetHttpUserAgent(AB_USER *u, const char *s);
00239
00240 AQHBCI_API
00241 int AH_User_MkPasswdName(const AB_USER *u, GWEN_BUFFER *buf);
00242
00243 AQHBCI_API
00244 int AH_User_MkPinName(const AB_USER *u, GWEN_BUFFER *buf);
00245
00246 AQHBCI_API
00247 int AH_User_MkTanName(const AB_USER *u,
00248 const char *challenge,
00249 GWEN_BUFFER *buf);
00250
00251 AQHBCI_API
00252 const AH_TAN_METHOD_LIST *AH_User_GetTanMethodDescriptions(const AB_USER *u);
00253
00254
00261
00262
00263 #ifdef __cplusplus
00264 }
00265 #endif
00266
00267 #endif
00268
00269
00270
00271
00272
00273