• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

provider_be.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id$
00005  begin       : Mon Mar 01 2004
00006  copyright   : (C) 2004 by Martin Preuss
00007  email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  * This file is part of the project "AqBanking".                           *
00011  * Please see toplevel file COPYING of that project for license details.   *
00012  ***************************************************************************/
00013 
00019 #ifndef AQBANKING_PROVIDER_BE_H
00020 #define AQBANKING_PROVIDER_BE_H
00021 
00022 #include <aqbanking/provider.h>
00023 #include <aqbanking/user.h>
00024 
00025 #include <gwenhywfar/plugin.h>
00026 #include <gwenhywfar/db.h>
00027 
00028 
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032 
00033 
00038 
00043 typedef enum {
00046   AB_ProviderExtendMode_Create=0,
00048   AB_ProviderExtendMode_Extend,
00052   AB_ProviderExtendMode_Add,
00055   AB_ProviderExtendMode_Remove,
00062   AB_ProviderExtendMode_Save,
00063 
00067   AB_ProviderExtendMode_Reload
00068 } AB_PROVIDER_EXTEND_MODE;
00069 
00070 
00078 typedef int (*AB_PROVIDER_INIT_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData);
00079 
00083 typedef int (*AB_PROVIDER_FINI_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData);
00084 
00088 typedef int (*AB_PROVIDER_UPDATEJOB_FN)(AB_PROVIDER *pro, AB_JOB *j,
00089                                         uint32_t guiid);
00090 
00094 typedef int (*AB_PROVIDER_ADDJOB_FN)(AB_PROVIDER *pro, AB_JOB *j,
00095                                      uint32_t guiid);
00096 
00100 typedef int (*AB_PROVIDER_EXECUTE_FN)(AB_PROVIDER *pro,
00101                                       AB_IMEXPORTER_CONTEXT *ctx,
00102                                       uint32_t guiid);
00103 
00104 
00108 typedef int (*AB_PROVIDER_RESETQUEUE_FN)(AB_PROVIDER *pro);
00109 
00110 
00114 typedef int (*AB_PROVIDER_EXTEND_USER_FN)(AB_PROVIDER *pro, AB_USER *u,
00115                                           AB_PROVIDER_EXTEND_MODE um,
00116                                           GWEN_DB_NODE *db);
00117 
00118 
00122 typedef int (*AB_PROVIDER_EXTEND_ACCOUNT_FN)(AB_PROVIDER *pro,
00123                                              AB_ACCOUNT *a,
00124                                              AB_PROVIDER_EXTEND_MODE um,
00125                                              GWEN_DB_NODE *db);
00126 
00127 typedef int (*AB_PROVIDER_UPDATE_FN)(AB_PROVIDER *pro,
00128                                      uint32_t lastVersion,
00129                                      uint32_t currentVersion);
00130 
00131 
00138 AQBANKING_API
00139 AB_PROVIDER *AB_Provider_new(AB_BANKING *ab,
00140                              const char *name);
00141 
00145 AQBANKING_API
00146 int AB_Provider_IsInit(const AB_PROVIDER *pro);
00147 
00148 
00153 
00161 AQBANKING_API
00162 int AB_Provider_Init(AB_PROVIDER *pro, uint32_t guiid);
00163 
00171 AQBANKING_API
00172 int AB_Provider_Fini(AB_PROVIDER *pro, uint32_t guiid);
00173 
00186 AQBANKING_API
00187 int AB_Provider_UpdateJob(AB_PROVIDER *pro, AB_JOB *j, uint32_t guiid);
00188 
00210 AQBANKING_API
00211 int AB_Provider_AddJob(AB_PROVIDER *pro, AB_JOB *j, uint32_t guiid);
00212 
00220 AQBANKING_API
00221 int AB_Provider_Execute(AB_PROVIDER *pro, AB_IMEXPORTER_CONTEXT *ctx,
00222                         uint32_t guiid);
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                            GWEN_DB_NODE *db);
00242 
00243 
00248 AQBANKING_API
00249 int AB_Provider_ExtendAccount(AB_PROVIDER *pro, AB_ACCOUNT *a,
00250                               AB_PROVIDER_EXTEND_MODE em,
00251                               GWEN_DB_NODE *db);
00252 
00253 
00260 AQBANKING_API
00261 int AB_Provider_Update(AB_PROVIDER *pro,
00262                        uint32_t lastVersion,
00263                        uint32_t currentVersion);
00264 
00265 
00274 AQBANKING_API
00275 void AB_Provider_SetInitFn(AB_PROVIDER *pro, AB_PROVIDER_INIT_FN f);
00276 AQBANKING_API
00277 void AB_Provider_SetFiniFn(AB_PROVIDER *pro, AB_PROVIDER_FINI_FN f);
00278 
00279 AQBANKING_API
00280 void AB_Provider_SetUpdateJobFn(AB_PROVIDER *pro, AB_PROVIDER_UPDATEJOB_FN f);
00281 AQBANKING_API
00282 void AB_Provider_SetAddJobFn(AB_PROVIDER *pro, AB_PROVIDER_ADDJOB_FN f);
00283 AQBANKING_API
00284 void AB_Provider_SetExecuteFn(AB_PROVIDER *pro, AB_PROVIDER_EXECUTE_FN f);
00285 AQBANKING_API
00286 void AB_Provider_SetResetQueueFn(AB_PROVIDER *pro, AB_PROVIDER_RESETQUEUE_FN f);
00287 
00288 AQBANKING_API
00289 void AB_Provider_SetExtendUserFn(AB_PROVIDER *pro,
00290                                  AB_PROVIDER_EXTEND_USER_FN f);
00291 
00292 AQBANKING_API
00293 void AB_Provider_SetExtendAccountFn(AB_PROVIDER *pro,
00294                                     AB_PROVIDER_EXTEND_ACCOUNT_FN f);
00295 
00296 AQBANKING_API
00297 void AB_Provider_SetUpdateFn(AB_PROVIDER *pro, AB_PROVIDER_UPDATE_FN f);
00298 
00299 
00305 typedef AB_PROVIDER* (*AB_PLUGIN_PROVIDER_FACTORY_FN)(GWEN_PLUGIN *pl,
00306                                                       AB_BANKING *ab);
00307 
00308 
00309 AQBANKING_API
00310 GWEN_PLUGIN *AB_Plugin_Provider_new(GWEN_PLUGIN_MANAGER *pm,
00311                                     const char *name,
00312                                     const char *fileName);
00313 
00314 
00315 AQBANKING_API
00316 AB_PROVIDER *AB_Plugin_Provider_Factory(GWEN_PLUGIN *pl, AB_BANKING *ab);
00317 
00318 AQBANKING_API
00319 void AB_Plugin_Provider_SetFactoryFn(GWEN_PLUGIN *pl,
00320                                      AB_PLUGIN_PROVIDER_FACTORY_FN fn);
00321 
00322 
00323 
00324  /* defgroup */
00326 
00327 
00328 #ifdef __cplusplus
00329 }
00330 #endif
00331 
00332 
00333 
00334 
00335 #endif /* AQBANKING_PROVIDER_BE_H */
00336 
00337 
00338 
00339 
00340 
00341 
00342 
00343 
00344 

Generated on Tue Aug 3 2010 17:34:15 for aqbanking by  doxygen 1.7.1