provider_be.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id: provider_be.h 953 2006-02-24 03:07:59Z aquamaniac $
00005  begin       : Mon Mar 01 2004
00006  copyright   : (C) 2004 by Martin Preuss
00007  email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *          Please see toplevel file COPYING for license details           *
00011  ***************************************************************************/
00012 
00018 #ifndef AQBANKING_PROVIDER_BE_H
00019 #define AQBANKING_PROVIDER_BE_H
00020 
00021 #include <aqbanking/provider.h>
00022 #include <aqbanking/user.h>
00023 
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00029 
00034 
00048 typedef AB_PROVIDER* (*AB_PROVIDER_FACTORY_FN)(AB_BANKING *ab);
00049 
00054 typedef enum {
00057   AB_ProviderExtendMode_Create=0,
00059   AB_ProviderExtendMode_Extend,
00063   AB_ProviderExtendMode_Add,
00066   AB_ProviderExtendMode_Remove,
00073   AB_ProviderExtendMode_Save
00074 } AB_PROVIDER_EXTEND_MODE;
00075 
00076 
00084 typedef int (*AB_PROVIDER_INIT_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData);
00085 
00089 typedef int (*AB_PROVIDER_FINI_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData);
00090 
00094 typedef int (*AB_PROVIDER_UPDATEJOB_FN)(AB_PROVIDER *pro, AB_JOB *j);
00095 
00099 typedef int (*AB_PROVIDER_ADDJOB_FN)(AB_PROVIDER *pro, AB_JOB *j);
00100 
00104 typedef int (*AB_PROVIDER_EXECUTE_FN)(AB_PROVIDER *pro,
00105                                       AB_IMEXPORTER_CONTEXT *ctx);
00106 
00107 
00111 typedef int (*AB_PROVIDER_RESETQUEUE_FN)(AB_PROVIDER *pro);
00112 
00113 
00117 typedef int (*AB_PROVIDER_EXTEND_USER_FN)(AB_PROVIDER *pro, AB_USER *u,
00118                                           AB_PROVIDER_EXTEND_MODE um);
00119 
00120 
00124 typedef int (*AB_PROVIDER_EXTEND_ACCOUNT_FN)(AB_PROVIDER *pro,
00125                                              AB_ACCOUNT *a,
00126                                              AB_PROVIDER_EXTEND_MODE um);
00127 
00128 typedef int (*AB_PROVIDER_UPDATE_FN)(AB_PROVIDER *pro,
00129                                      GWEN_TYPE_UINT32 lastVersion,
00130                                      GWEN_TYPE_UINT32 currentVersion);
00131 
00132 
00139 AQBANKING_API
00140 AB_PROVIDER *AB_Provider_new(AB_BANKING *ab,
00141                              const char *name);
00142 
00146 AQBANKING_API
00147 int AB_Provider_IsInit(const AB_PROVIDER *pro);
00148 
00149 
00154 
00162 AQBANKING_API
00163 int AB_Provider_Init(AB_PROVIDER *pro);
00164 
00172 AQBANKING_API
00173 int AB_Provider_Fini(AB_PROVIDER *pro);
00174 
00187 AQBANKING_API
00188 int AB_Provider_UpdateJob(AB_PROVIDER *pro, AB_JOB *j);
00189 
00211 AQBANKING_API
00212 int AB_Provider_AddJob(AB_PROVIDER *pro, AB_JOB *j);
00213 
00221 AQBANKING_API
00222 int AB_Provider_Execute(AB_PROVIDER *pro, AB_IMEXPORTER_CONTEXT *ctx);
00223 
00230 AQBANKING_API
00231 int AB_Provider_ResetQueue(AB_PROVIDER *pro);
00232 
00233 
00238 AQBANKING_API
00239 int AB_Provider_ExtendUser(AB_PROVIDER *pro, AB_USER *u,
00240                            AB_PROVIDER_EXTEND_MODE em);
00241 
00242 
00247 AQBANKING_API
00248 int AB_Provider_ExtendAccount(AB_PROVIDER *pro, AB_ACCOUNT *a,
00249                               AB_PROVIDER_EXTEND_MODE em);
00250 
00251 
00258 AQBANKING_API
00259 int AB_Provider_Update(AB_PROVIDER *pro,
00260                        GWEN_TYPE_UINT32 lastVersion,
00261                        GWEN_TYPE_UINT32 currentVersion);
00262 
00263 
00272 AQBANKING_API
00273 void AB_Provider_SetInitFn(AB_PROVIDER *pro, AB_PROVIDER_INIT_FN f);
00274 AQBANKING_API
00275 void AB_Provider_SetFiniFn(AB_PROVIDER *pro, AB_PROVIDER_FINI_FN f);
00276 
00277 AQBANKING_API
00278 void AB_Provider_SetUpdateJobFn(AB_PROVIDER *pro, AB_PROVIDER_UPDATEJOB_FN f);
00279 AQBANKING_API
00280 void AB_Provider_SetAddJobFn(AB_PROVIDER *pro, AB_PROVIDER_ADDJOB_FN f);
00281 AQBANKING_API
00282 void AB_Provider_SetExecuteFn(AB_PROVIDER *pro, AB_PROVIDER_EXECUTE_FN f);
00283 AQBANKING_API
00284 void AB_Provider_SetResetQueueFn(AB_PROVIDER *pro, AB_PROVIDER_RESETQUEUE_FN f);
00285 
00286 AQBANKING_API
00287 void AB_Provider_SetExtendUserFn(AB_PROVIDER *pro,
00288                                  AB_PROVIDER_EXTEND_USER_FN f);
00289 
00290 AQBANKING_API
00291 void AB_Provider_SetExtendAccountFn(AB_PROVIDER *pro,
00292                                     AB_PROVIDER_EXTEND_ACCOUNT_FN f);
00293 
00294 AQBANKING_API
00295 void AB_Provider_SetUpdateFn(AB_PROVIDER *pro, AB_PROVIDER_UPDATE_FN f);
00296 
00297 
00301  /* defgroup */
00302 
00303 
00304 #ifdef __cplusplus
00305 }
00306 #endif
00307 
00308 
00309 
00310 
00311 #endif /* AQBANKING_PROVIDER_BE_H */
00312 
00313 
00314 
00315 
00316 
00317 
00318 
00319 
00320 

Generated on Sun Apr 29 17:23:04 2007 for aqbanking by  doxygen 1.5.1