aqbanking  5.0.28beta
aqhbci/user.h
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Mon Mar 01 2004
3  copyright : (C) 2004-2013 by Martin Preuss
4  email : martin@libchipcard.de
5 
6  ***************************************************************************
7  * Please see toplevel file COPYING for license details *
8  ***************************************************************************/
9 
10 #ifndef AH_USER_H
11 #define AH_USER_H
12 
13 #include <aqhbci/aqhbci.h>
14 #include <aqhbci/tanmethod.h>
15 #include <gwenhywfar/misc.h>
16 #include <gwenhywfar/stringlist.h>
17 
18 
26 
27 #include <aqbanking/user.h>
28 
29 #include <gwenhywfar/db.h>
30 #include <gwenhywfar/url.h>
31 
32 
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
43 #define AH_USER_FLAGS_BANK_DOESNT_SIGN 0x00000001
44 
45 #define AH_USER_FLAGS_BANK_USES_SIGNSEQ 0x00000002
46 #define AH_USER_FLAGS_RESERVED1 0x00000004
47 #define AH_USER_FLAGS_RESERVED2 0x00000008
48 
50 #define AH_USER_FLAGS_KEEPALIVE 0x00000010
51 
54 #define AH_USER_FLAGS_IGNORE_UPD 0x00000020
55 
57 #define AH_USER_FLAGS_FORCE_SSL3 0x00000040
58 
60 #define AH_USER_FLAGS_NO_BASE64 0x00000080
61 
65 #define AH_USER_FLAGS_KEEP_MULTIPLE_BLANKS 0x00000100
66 
72 #define AH_USER_FLAGS_TAN_OMIT_SMS_ACCOUNT 0x00000200
73 
82 
84 void AH_User_Flags_toDb(GWEN_DB_NODE *db, const char *name,
85  uint32_t flags);
87 uint32_t AH_User_Flags_fromDb(GWEN_DB_NODE *db, const char *name);
88 
89 
90 typedef enum {
101 
102 
107 
114 uint32_t AH_User_GetFlags(const AB_USER *u);
115 
117 void AH_User_SetFlags(AB_USER *u, uint32_t flags);
118 
120 void AH_User_AddFlags(AB_USER *u, uint32_t flags);
121 
123 void AH_User_SubFlags(AB_USER *u, uint32_t flags);
124 
125 
133 
135 const int *AH_User_GetTanMethodList(const AB_USER *u);
137 int AH_User_GetTanMethodCount(const AB_USER *u);
139 int AH_User_HasTanMethod(const AB_USER *u, int method);
141 int AH_User_HasTanMethodOtherThan(const AB_USER *u, int method);
143 void AH_User_AddTanMethod(AB_USER *u, int method);
146 
150 void AH_User_SetSelectedTanMethod(AB_USER *u, int i);
151 
152 
154 const char *AH_User_GetHttpContentType(const AB_USER *u);
156 void AH_User_SetHttpContentType(AB_USER *u, const char *s);
157 
163 const char *AH_User_GetTokenType(const AB_USER *u);
165 void AH_User_SetTokenType(AB_USER *u, const char *s);
167 const char *AH_User_GetTokenName(const AB_USER *u);
169 void AH_User_SetTokenName(AB_USER *u, const char *s);
171 uint32_t AH_User_GetTokenContextId(const AB_USER *u);
173 void AH_User_SetTokenContextId(AB_USER *u, uint32_t id);
174 
175 
176 
188 
190 int AH_User_GetRdhType(const AB_USER *u);
191 
193 void AH_User_SetRdhType(AB_USER *u, int i);
194 
196 const char *AH_User_GetPeerId(const AB_USER *u);
198 void AH_User_SetPeerId(AB_USER *u, const char *s);
199 
201 const char *AH_User_GetSystemId(const AB_USER *u);
203 void AH_User_SetSystemId(AB_USER *u, const char *s);
204 
205 
207 const GWEN_URL *AH_User_GetServerUrl(const AB_USER *u);
209 void AH_User_SetServerUrl(AB_USER *u, const GWEN_URL *url);
210 
211 
213 int AH_User_GetHbciVersion(const AB_USER *u);
215 void AH_User_SetHbciVersion(AB_USER *u, int i);
228 int AH_User_GetHttpVMajor(const AB_USER *u);
230 void AH_User_SetHttpVMajor(AB_USER *u, int i);
231 
236 int AH_User_GetHttpVMinor(const AB_USER *u);
238 void AH_User_SetHttpVMinor(AB_USER *u, int i);
239 
240 
241 
243 const char *AH_User_GetHttpUserAgent(const AB_USER *u);
245 void AH_User_SetHttpUserAgent(AB_USER *u, const char *s);
246 
247 
249 const char *AH_User_GetTanMediumId(const AB_USER *u);
250 
252 void AH_User_SetTanMediumId(AB_USER *u, const char *s);
253 
254 
262 
264 int AH_User_MkPasswdName(const AB_USER *u, GWEN_BUFFER *buf);
265 
267 int AH_User_MkPinName(const AB_USER *u, GWEN_BUFFER *buf);
268 
270 int AH_User_MkTanName(const AB_USER *u,
271  const char *challenge,
272  GWEN_BUFFER *buf);
273 
279 
280 
288 
289 
290 
291 AQHBCI_API const char *AH_User_FindSepaDescriptor(AB_USER *u, const char *tmpl);
292 
293  /* defgroup */
295 
296 #ifdef __cplusplus
297 }
298 #endif
299 
300 #endif /* AH_USER_H */
301 
302 
303 
304 
305 
306