1 /***************************************************************************
2  begin       : Mon Mar 01 2004
3  copyright   : (C) 2018 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 
11 
12 #ifndef AQBANKING_PROVIDER_P_H
13 #define AQBANKING_PROVIDER_P_H
14 
15 #include "provider_l.h"
16 
17 #include <aqbanking/banking.h>
18 
19 #include <gwenhywfar/misc.h>
20 #include <gwenhywfar/inherit.h>
21 #include <gwenhywfar/list2.h>
22 #include <gwenhywfar/plugin.h>
23 
24 
25 
26 struct AB_PROVIDER {
27   GWEN_INHERIT_ELEMENT(AB_PROVIDER)
28   GWEN_LIST_ELEMENT(AB_PROVIDER)
29 
30   AB_BANKING *banking;
31   char *name;
32   char *escName;
33 
34   AB_PROVIDER_INIT_FN initFn;
35   AB_PROVIDER_FINI_FN finiFn;
36 
37   AB_PROVIDER_SENDCOMMANDS_FN sendCommandsFn;
38 
39   AB_PROVIDER_CREATEACCOUNTOBJECT_FN createAccountObjectFn;
40   AB_PROVIDER_CREATEUSEROBJECT_FN createUserObjectFn;
41 
42   AB_PROVIDER_UPDATEACCOUNTSPEC_FN updateAccountSpecFn;
43 
44   AB_PROVIDER_CONTROL_FN controlFn;
45 
46   AB_PROVIDER_GET_NEWUSER_DIALOG_FN getNewUserDialogFn;
47   AB_PROVIDER_GET_EDITUSER_DIALOG_FN getEditUserDialogFn;
48 
49   AB_PROVIDER_GET_NEWACCOUNT_DIALOG_FN getNewAccountDialogFn;
50   AB_PROVIDER_GET_EDITACCOUNT_DIALOG_FN getEditAccountDialogFn;
51 
52   AB_PROVIDER_GET_USERTYPE_DIALOG_FN getUserTypeDialogFn;
53 
54   GWEN_PLUGIN *plugin;
55 
56   uint32_t usage;
57   uint32_t flags;
58   int initCounter;
59 };
60 
61 
62 
63 typedef struct AB_PLUGIN_PROVIDER AB_PLUGIN_PROVIDER;
64 struct AB_PLUGIN_PROVIDER {
65   AB_PLUGIN_PROVIDER_FACTORY_FN pluginFactoryFn;
66 };
67 
68 static void GWENHYWFAR_CB AB_Plugin_Provider_FreeData(void *bp, void *p);
69 
70 
71 
72 #endif /* AQBANKING_PROVIDER_P_H */
73