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 <gwenhywfar/misc.h>
00018
00019
00027
00028 #include <aqbanking/user.h>
00029
00030 #include <gwenhywfar/db.h>
00031 #include <gwenhywfar/url.h>
00032
00033
00034
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038
00044 #define AH_USER_FLAGS_BANK_DOESNT_SIGN 0x00000001
00045
00046 #define AH_USER_FLAGS_BANK_USES_SIGNSEQ 0x00000002
00047 #define AH_USER_FLAGS_RESERVED1 0x00000004
00048 #define AH_USER_FLAGS_RESERVED2 0x00000008
00049
00051 #define AH_USER_FLAGS_KEEPALIVE 0x00000010
00052
00055 #define AH_USER_FLAGS_IGNORE_UPD 0x00000020
00056
00058 #define AH_USER_FLAGS_FORCE_SSL3 0x00000040
00059
00061 #define AH_USER_FLAGS_NO_BASE64 0x00000080
00062
00070
00071 AQHBCI_API
00072 void AH_User_Flags_toDb(GWEN_DB_NODE *db, const char *name,
00073 uint32_t flags);
00074 AQHBCI_API
00075 uint32_t AH_User_Flags_fromDb(GWEN_DB_NODE *db, const char *name);
00076
00077
00078 typedef enum {
00079 AH_UserStatusNew=0,
00080 AH_UserStatusEnabled,
00081 AH_UserStatusPending,
00082 AH_UserStatusDisabled,
00083 AH_UserStatusUnknown=999
00084 } AH_USER_STATUS;
00085 AQHBCI_API
00086 const char *AH_User_Status_toString(AH_USER_STATUS st);
00087 AQHBCI_API
00088 AH_USER_STATUS AH_User_Status_fromString(const char *s);
00089
00090
00091 AQHBCI_API
00092 AH_USER_STATUS AH_User_GetStatus(const AB_USER *u);
00093 AQHBCI_API
00094 void AH_User_SetStatus(AB_USER *u, AH_USER_STATUS i);
00095
00101 AQHBCI_API
00102 uint32_t AH_User_GetFlags(const AB_USER *u);
00103
00104 AQHBCI_API
00105 void AH_User_SetFlags(AB_USER *u, uint32_t flags);
00106
00107 AQHBCI_API
00108 void AH_User_AddFlags(AB_USER *u, uint32_t flags);
00109
00110 AQHBCI_API
00111 void AH_User_SubFlags(AB_USER *u, uint32_t flags);
00112
00113
00121 #if 0
00122 AQHBCI_API
00123 uint32_t AH_User_GetTanMethods(const AB_USER *u);
00124
00125 AQHBCI_API
00126 void AH_User_SetTanMethods(AB_USER *u, uint32_t m);
00127
00128 AQHBCI_API
00129 void AH_User_AddTanMethods(AB_USER *u, uint32_t m);
00130
00131 AQHBCI_API
00132 void AH_User_SubTanMethods(AB_USER *u, uint32_t m);
00133 #endif
00134
00135
00136
00137 AQHBCI_API
00138 const int *AH_User_GetTanMethodList(const AB_USER *u);
00139 AQHBCI_API
00140 int AH_User_GetTanMethodCount(const AB_USER *u);
00141 AQHBCI_API
00142 int AH_User_HasTanMethod(const AB_USER *u, int method);
00143 AQHBCI_API
00144 int AH_User_HasTanMethodOtherThan(const AB_USER *u, int method);
00145 AQHBCI_API
00146 void AH_User_AddTanMethod(AB_USER *u, int method);
00147 AQHBCI_API
00148 void AH_User_ClearTanMethodList(AB_USER *u);
00149
00150
00151 AQHBCI_API
00152 const char *AH_User_GetHttpContentType(const AB_USER *u);
00153 AQHBCI_API
00154 void AH_User_SetHttpContentType(AB_USER *u, const char *s);
00155
00160 AQHBCI_API
00161 const char *AH_User_GetTokenType(const AB_USER *u);
00162 AQHBCI_API
00163 void AH_User_SetTokenType(AB_USER *u, const char *s);
00164 AQHBCI_API
00165 const char *AH_User_GetTokenName(const AB_USER *u);
00166 AQHBCI_API
00167 void AH_User_SetTokenName(AB_USER *u, const char *s);
00168 AQHBCI_API
00169 uint32_t AH_User_GetTokenContextId(const AB_USER *u);
00170 AQHBCI_API
00171 void AH_User_SetTokenContextId(AB_USER *u, uint32_t id);
00172
00173
00174
00182 AQHBCI_API
00183 AH_CRYPT_MODE AH_User_GetCryptMode(const AB_USER *u);
00184 AQHBCI_API
00185 void AH_User_SetCryptMode(AB_USER *u, AH_CRYPT_MODE m);
00186
00187 int AH_User_GetRdhType(const AB_USER *u);
00188 void AH_User_SetRdhType(AB_USER *u, int i);
00189
00190 AQHBCI_API
00191 const char *AH_User_GetPeerId(const AB_USER *u);
00192 AQHBCI_API
00193 void AH_User_SetPeerId(AB_USER *u, const char *s);
00194
00195 AQHBCI_API
00196 const char *AH_User_GetSystemId(const AB_USER *u);
00197 AQHBCI_API
00198 void AH_User_SetSystemId(AB_USER *u, const char *s);
00199
00200
00201 AQHBCI_API
00202 const GWEN_URL *AH_User_GetServerUrl(const AB_USER *u);
00203 AQHBCI_API
00204 void AH_User_SetServerUrl(AB_USER *u, const GWEN_URL *url);
00205
00206
00207 AQHBCI_API
00208 int AH_User_GetHbciVersion(const AB_USER *u);
00209 AQHBCI_API
00210 void AH_User_SetHbciVersion(AB_USER *u, int i);
00222 AQHBCI_API
00223 int AH_User_GetHttpVMajor(const AB_USER *u);
00224 AQHBCI_API
00225 void AH_User_SetHttpVMajor(AB_USER *u, int i);
00226
00230 AQHBCI_API
00231 int AH_User_GetHttpVMinor(const AB_USER *u);
00232 AQHBCI_API
00233 void AH_User_SetHttpVMinor(AB_USER *u, int i);
00234
00235
00236
00237 AQHBCI_API
00238 const char *AH_User_GetHttpUserAgent(const AB_USER *u);
00239 AQHBCI_API
00240 void AH_User_SetHttpUserAgent(AB_USER *u, const char *s);
00248
00249 AQHBCI_API
00250 int AH_User_MkPasswdName(const AB_USER *u, GWEN_BUFFER *buf);
00251
00252 AQHBCI_API
00253 int AH_User_MkPinName(const AB_USER *u, GWEN_BUFFER *buf);
00254
00255 AQHBCI_API
00256 int AH_User_MkTanName(const AB_USER *u,
00257 const char *challenge,
00258 GWEN_BUFFER *buf);
00259
00260
00267
00268
00269 #ifdef __cplusplus
00270 }
00271 #endif
00272
00273 #endif
00274
00275
00276
00277
00278
00279