aqbanking  5.7.8
provider_be.h
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Mon Mar 01 2004
3  copyright : (C) 2004-2010 by Martin Preuss
4  email : martin@libchipcard.de
5 
6  ***************************************************************************
7  * This file is part of the project "AqBanking". *
8  * Please see toplevel file COPYING of that project for license details. *
9  ***************************************************************************/
10 
16 #ifndef AQBANKING_PROVIDER_BE_H
17 #define AQBANKING_PROVIDER_BE_H
18 
19 #include <aqbanking/provider.h>
20 #include <aqbanking/user.h>
21 
22 #include <gwenhywfar/plugin.h>
23 #include <gwenhywfar/db.h>
24 #include <gwenhywfar/dialog.h>
25 
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 
36 
37 
38 #define AB_PROVIDER_FLAGS_HAS_NEWUSER_DIALOG 0x00000001
39 #define AB_PROVIDER_FLAGS_HAS_EDITUSER_DIALOG 0x00000002
40 #define AB_PROVIDER_FLAGS_HAS_NEWACCOUNT_DIALOG 0x00000004
41 #define AB_PROVIDER_FLAGS_HAS_EDITACCOUNT_DIALOG 0x00000008
42 #define AB_PROVIDER_FLAGS_HAS_USERTYPE_DIALOG 0x00000010
43 
44 
49 typedef enum {
69 
75 
76 
84 typedef int (*AB_PROVIDER_INIT_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData);
85 
89 typedef int (*AB_PROVIDER_FINI_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData);
90 
94 typedef int (*AB_PROVIDER_UPDATEJOB_FN)(AB_PROVIDER *pro, AB_JOB *j);
95 
99 typedef int (*AB_PROVIDER_ADDJOB_FN)(AB_PROVIDER *pro, AB_JOB *j);
100 
105  AB_IMEXPORTER_CONTEXT *ctx);
106 
107 
112 
113 
118  AB_PROVIDER_EXTEND_MODE um,
119  GWEN_DB_NODE *db);
120 
121 
126  AB_ACCOUNT *a,
127  AB_PROVIDER_EXTEND_MODE um,
128  GWEN_DB_NODE *db);
129 
130 typedef int (*AB_PROVIDER_UPDATE_FN)(AB_PROVIDER *pro,
131  uint32_t lastVersion,
132  uint32_t currentVersion);
133 
134 
135 typedef GWEN_DIALOG* (*AB_PROVIDER_GET_NEWUSER_DIALOG_FN)(AB_PROVIDER *pro, int i);
136 
137 typedef GWEN_DIALOG* (*AB_PROVIDER_GET_EDITUSER_DIALOG_FN)(AB_PROVIDER *pro, AB_USER *u);
138 
139 typedef GWEN_DIALOG* (*AB_PROVIDER_GET_NEWACCOUNT_DIALOG_FN)(AB_PROVIDER *pro);
140 
141 typedef GWEN_DIALOG* (*AB_PROVIDER_GET_EDITACCOUNT_DIALOG_FN)(AB_PROVIDER *pro, AB_ACCOUNT *a);
142 
143 typedef GWEN_DIALOG* (*AB_PROVIDER_GET_USERTYPE_DIALOG_FN)(AB_PROVIDER *pro);
144 
145 
154  const char *name);
155 
160 int AB_Provider_IsInit(const AB_PROVIDER *pro);
161 
162 
164 void AB_Provider_AddFlags(AB_PROVIDER *pro, uint32_t fl);
165 
166 
171 
177 int AB_Provider_Init(AB_PROVIDER *pro);
178 
184 int AB_Provider_Fini(AB_PROVIDER *pro);
185 
200 
224 
234 
243 
244 
251  AB_PROVIDER_EXTEND_MODE em,
252  GWEN_DB_NODE *db);
253 
254 
261  AB_PROVIDER_EXTEND_MODE em,
262  GWEN_DB_NODE *db);
263 
264 
273  uint32_t lastVersion,
274  uint32_t currentVersion);
275 
276 
287 GWEN_DIALOG *AB_Provider_GetNewUserDialog(AB_PROVIDER *pro, int i);
288 
290 GWEN_DIALOG *AB_Provider_GetEditUserDialog(AB_PROVIDER *pro, AB_USER *u);
291 
298 
301 
302 
304 GWEN_DIALOG *AB_ProviderGetUserTypeDialog(AB_PROVIDER *pro);
305 
306 
319 
328 
332 
336 
339 
342 
345 
348 
351 
354 
360 typedef AB_PROVIDER* (*AB_PLUGIN_PROVIDER_FACTORY_FN)(GWEN_PLUGIN *pl,
361  AB_BANKING *ab);
362 
363 
365 GWEN_PLUGIN *AB_Plugin_Provider_new(GWEN_PLUGIN_MANAGER *pm,
366  const char *name,
367  const char *fileName);
368 
369 
371 AB_PROVIDER *AB_Plugin_Provider_Factory(GWEN_PLUGIN *pl, AB_BANKING *ab);
372 
374 void AB_Plugin_Provider_SetFactoryFn(GWEN_PLUGIN *pl,
376 
377 
378 
379  /* defgroup */
381 
382 
383 #ifdef __cplusplus
384 }
385 #endif
386 
387 
388 
389 
390 #endif /* AQBANKING_PROVIDER_BE_H */
391 
392 
393 
394 
395 
396 
397 
398 
399 
struct AB_USER AB_USER
int(* AB_PROVIDER_FINI_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData)
Definition: provider_be.h:89
struct AB_BANKING AB_BANKING
Definition: banking.h:26
void AB_Provider_SetGetUserTypeDialogFn(AB_PROVIDER *pro, AB_PROVIDER_GET_USERTYPE_DIALOG_FN f)
int(* AB_PROVIDER_RESETQUEUE_FN)(AB_PROVIDER *pro)
Definition: provider_be.h:111
int(* AB_PROVIDER_UPDATEJOB_FN)(AB_PROVIDER *pro, AB_JOB *j)
Definition: provider_be.h:94
void AB_Provider_SetAddJobFn(AB_PROVIDER *pro, AB_PROVIDER_ADDJOB_FN f)
GWEN_PLUGIN * AB_Plugin_Provider_new(GWEN_PLUGIN_MANAGER *pm, const char *name, const char *fileName)
int AB_Provider_ExtendUser(AB_PROVIDER *pro, AB_USER *u, AB_PROVIDER_EXTEND_MODE em, GWEN_DB_NODE *db)
GWEN_DIALOG * AB_ProviderGetUserTypeDialog(AB_PROVIDER *pro)
int(* AB_PROVIDER_EXTEND_ACCOUNT_FN)(AB_PROVIDER *pro, AB_ACCOUNT *a, AB_PROVIDER_EXTEND_MODE um, GWEN_DB_NODE *db)
Definition: provider_be.h:125
void AB_Provider_SetGetNewUserDialogFn(AB_PROVIDER *pro, AB_PROVIDER_GET_NEWUSER_DIALOG_FN f)
This file is used by AqBanking and provider backends.
void AB_Provider_SetUpdateFn(AB_PROVIDER *pro, AB_PROVIDER_UPDATE_FN f)
int(* AB_PROVIDER_EXECUTE_FN)(AB_PROVIDER *pro, AB_IMEXPORTER_CONTEXT *ctx)
Definition: provider_be.h:104
#define AQBANKING_API
Definition: error.h:55
void AB_Provider_SetExtendUserFn(AB_PROVIDER *pro, AB_PROVIDER_EXTEND_USER_FN f)
AB_PROVIDER *(* AB_PLUGIN_PROVIDER_FACTORY_FN)(GWEN_PLUGIN *pl, AB_BANKING *ab)
Definition: provider_be.h:360
void AB_Provider_SetGetEditUserDialogFn(AB_PROVIDER *pro, AB_PROVIDER_GET_EDITUSER_DIALOG_FN f)
struct AB_JOB AB_JOB
Definition: job.h:106
int AB_Provider_IsInit(const AB_PROVIDER *pro)
int AB_Provider_ResetQueue(AB_PROVIDER *pro)
int(* AB_PROVIDER_EXTEND_USER_FN)(AB_PROVIDER *pro, AB_USER *u, AB_PROVIDER_EXTEND_MODE um, GWEN_DB_NODE *db)
Definition: provider_be.h:117
void AB_Plugin_Provider_SetFactoryFn(GWEN_PLUGIN *pl, AB_PLUGIN_PROVIDER_FACTORY_FN fn)
void AB_Provider_SetGetNewAccountDialogFn(AB_PROVIDER *pro, AB_PROVIDER_GET_NEWACCOUNT_DIALOG_FN f)
GWEN_DIALOG * AB_Provider_GetNewAccountDialog(AB_PROVIDER *pro)
void AB_Provider_SetResetQueueFn(AB_PROVIDER *pro, AB_PROVIDER_RESETQUEUE_FN f)
int(* AB_PROVIDER_INIT_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData)
Definition: provider_be.h:84
void AB_Provider_SetGetEditAccountDialogFn(AB_PROVIDER *pro, AB_PROVIDER_GET_EDITACCOUNT_DIALOG_FN f)
void AB_Provider_AddFlags(AB_PROVIDER *pro, uint32_t fl)
GWEN_DIALOG *(* AB_PROVIDER_GET_EDITACCOUNT_DIALOG_FN)(AB_PROVIDER *pro, AB_ACCOUNT *a)
Definition: provider_be.h:141
int AB_Provider_Update(AB_PROVIDER *pro, uint32_t lastVersion, uint32_t currentVersion)
void AB_Provider_SetFiniFn(AB_PROVIDER *pro, AB_PROVIDER_FINI_FN f)
void AB_Provider_SetExtendAccountFn(AB_PROVIDER *pro, AB_PROVIDER_EXTEND_ACCOUNT_FN f)
GWEN_DIALOG * AB_Provider_GetEditUserDialog(AB_PROVIDER *pro, AB_USER *u)
int AB_Provider_ExtendAccount(AB_PROVIDER *pro, AB_ACCOUNT *a, AB_PROVIDER_EXTEND_MODE em, GWEN_DB_NODE *db)
AB_PROVIDER_EXTEND_MODE
Definition: provider_be.h:49
void AB_Provider_SetUpdateJobFn(AB_PROVIDER *pro, AB_PROVIDER_UPDATEJOB_FN f)
void AB_Provider_SetExecuteFn(AB_PROVIDER *pro, AB_PROVIDER_EXECUTE_FN f)
struct AB_PROVIDER AB_PROVIDER
int AB_Provider_Fini(AB_PROVIDER *pro)
int AB_Provider_AddJob(AB_PROVIDER *pro, AB_JOB *j)
GWEN_DIALOG * AB_Provider_GetNewUserDialog(AB_PROVIDER *pro, int i)
GWEN_DIALOG *(* AB_PROVIDER_GET_NEWUSER_DIALOG_FN)(AB_PROVIDER *pro, int i)
Definition: provider_be.h:135
int AB_Provider_UpdateJob(AB_PROVIDER *pro, AB_JOB *j)
int(* AB_PROVIDER_UPDATE_FN)(AB_PROVIDER *pro, uint32_t lastVersion, uint32_t currentVersion)
Definition: provider_be.h:130
GWEN_DIALOG *(* AB_PROVIDER_GET_EDITUSER_DIALOG_FN)(AB_PROVIDER *pro, AB_USER *u)
Definition: provider_be.h:137
int(* AB_PROVIDER_ADDJOB_FN)(AB_PROVIDER *pro, AB_JOB *j)
Definition: provider_be.h:99
GWEN_DIALOG * AB_Provider_GetEditAccountDialog(AB_PROVIDER *pro, AB_ACCOUNT *a)
AB_PROVIDER * AB_Plugin_Provider_Factory(GWEN_PLUGIN *pl, AB_BANKING *ab)
GWEN_DIALOG *(* AB_PROVIDER_GET_NEWACCOUNT_DIALOG_FN)(AB_PROVIDER *pro)
Definition: provider_be.h:139
struct AB_IMEXPORTER_CONTEXT AB_IMEXPORTER_CONTEXT
Definition: imexporter.h:66
GWEN_DIALOG *(* AB_PROVIDER_GET_USERTYPE_DIALOG_FN)(AB_PROVIDER *pro)
Definition: provider_be.h:143
AB_PROVIDER * AB_Provider_new(AB_BANKING *ab, const char *name)
int AB_Provider_Init(AB_PROVIDER *pro)
int AB_Provider_Execute(AB_PROVIDER *pro, AB_IMEXPORTER_CONTEXT *ctx)
void AB_Provider_SetInitFn(AB_PROVIDER *pro, AB_PROVIDER_INIT_FN f)
struct AB_ACCOUNT AB_ACCOUNT