imexporter.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id: imexporter.h 1038 2006-07-03 03:01:30Z martin $
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 
00013 
00014 #ifndef AQBANKING_IMEXPORTER_H
00015 #define AQBANKING_IMEXPORTER_H
00016 
00017 #include <gwenhywfar/inherit.h>
00018 #include <gwenhywfar/bufferedio.h>
00019 #include <gwenhywfar/db.h>
00020 #include <gwenhywfar/types.h>
00021 #include <aqbanking/error.h>
00022 #include <aqbanking/accstatus.h>
00023 
00024 
00043 
00044 #ifdef __cplusplus
00045 extern "C" {
00046 #endif
00047 
00048 typedef struct AB_IMEXPORTER AB_IMEXPORTER;
00049 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_IMEXPORTER, AQBANKING_API)
00050 
00051 typedef struct AB_IMEXPORTER_CONTEXT AB_IMEXPORTER_CONTEXT;
00052 typedef struct AB_IMEXPORTER_ACCOUNTINFO AB_IMEXPORTER_ACCOUNTINFO;
00053 #ifdef __cplusplus
00054 }
00055 #endif
00056 
00057 
00058 #include <aqbanking/banking.h>
00059 #include <aqbanking/account.h>
00060 #include <aqbanking/transaction.h>
00061 
00062 
00063 #ifdef __cplusplus
00064 extern "C" {
00065 #endif
00066 
00067 
00072 
00083 AQBANKING_API 
00084 int AB_ImExporter_Import(AB_IMEXPORTER *ie,
00085                          AB_IMEXPORTER_CONTEXT *ctx,
00086                          GWEN_BUFFEREDIO *bio,
00087                          GWEN_DB_NODE *dbProfile);
00088 
00098 AQBANKING_API 
00099 int AB_ImExporter_Export(AB_IMEXPORTER *ie,
00100                          AB_IMEXPORTER_CONTEXT *ctx,
00101                          GWEN_BUFFEREDIO *bio,
00102                          GWEN_DB_NODE *dbProfile);
00103 
00107 AQBANKING_API
00108 int AB_ImExporter_ImportFile(AB_IMEXPORTER *ie,
00109                              AB_IMEXPORTER_CONTEXT *ctx,
00110                              const char *fname,
00111                              GWEN_DB_NODE *dbProfile);
00112 
00116 AQBANKING_API
00117 int AB_ImExporter_CheckFile(AB_IMEXPORTER *ie,
00118                             const char *fname);
00119 
00126 AQBANKING_API 
00127 AB_BANKING *AB_ImExporter_GetBanking(const AB_IMEXPORTER *ie);
00128 
00132 AQBANKING_API
00133 const char *AB_ImExporter_GetName(const AB_IMEXPORTER *ie);
00134 
00135  /* defgroup */
00137 
00138 
00139 
00149 AQBANKING_API 
00150 AB_IMEXPORTER_CONTEXT *AB_ImExporterContext_new();
00151 
00152 AQBANKING_API
00153 void AB_ImExporterContext_free(AB_IMEXPORTER_CONTEXT *iec);
00154 
00158 AQBANKING_API 
00159 int AB_ImExporterContext_toDb(const AB_IMEXPORTER_CONTEXT *iec,
00160                               GWEN_DB_NODE *db);
00161 
00165 AQBANKING_API 
00166 AB_IMEXPORTER_CONTEXT *AB_ImExporterContext_fromDb(GWEN_DB_NODE *db);
00167 
00168 
00169 AQBANKING_API 
00170 int AB_ImExporterContext_ReadDb(AB_IMEXPORTER_CONTEXT *iec,
00171                                 GWEN_DB_NODE *db);
00172 
00173 
00178 AQBANKING_API 
00179 void AB_ImExporterContext_AddContext(AB_IMEXPORTER_CONTEXT *iec,
00180                                      AB_IMEXPORTER_CONTEXT *toAdd);
00181 
00185 AQBANKING_API 
00186 void AB_ImExporterContext_AddAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00187                                          AB_IMEXPORTER_ACCOUNTINFO *iea);
00188 
00193 AQBANKING_API 
00194 AB_IMEXPORTER_ACCOUNTINFO*
00195 AB_ImExporterContext_GetFirstAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00196 
00201 AQBANKING_API 
00202 AB_IMEXPORTER_ACCOUNTINFO*
00203 AB_ImExporterContext_GetNextAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00204 
00210 typedef AB_IMEXPORTER_ACCOUNTINFO *
00211 (AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH)(AB_IMEXPORTER_ACCOUNTINFO *element,
00212                                           void *user_data);
00213 
00234 AQBANKING_API
00235 AB_IMEXPORTER_ACCOUNTINFO *
00236 AB_ImExporterContext_AccountInfoForEach(AB_IMEXPORTER_CONTEXT *iec,
00237                                         AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH func,
00238                                         void* user_data);
00239 
00245 AQBANKING_API 
00246 AB_IMEXPORTER_ACCOUNTINFO*
00247 AB_ImExporterContext_FindAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00248                                      const char *bankCode,
00249                                      const char *accountNumber);
00250 
00256 AQBANKING_API
00257 AB_IMEXPORTER_ACCOUNTINFO*
00258 AB_ImExporterContext_GetAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00259                                     const char *bankCode,
00260                                     const char *accountNumber);
00261 
00273 AQBANKING_API
00274 void AB_ImExporterContext_AddTransaction(AB_IMEXPORTER_CONTEXT *iec,
00275                                          AB_TRANSACTION *t); /* defgroup */
00277 
00278 
00279 
00280 
00288 
00293 AQBANKING_API
00294 AB_IMEXPORTER_ACCOUNTINFO *AB_ImExporterAccountInfo_new();
00295 AQBANKING_API 
00296 void AB_ImExporterAccountInfo_free(AB_IMEXPORTER_ACCOUNTINFO *iea);
00297 
00304 AQBANKING_API 
00305   AB_IMEXPORTER_ACCOUNTINFO*
00306   AB_ImExporterAccountInfo_dup(const AB_IMEXPORTER_ACCOUNTINFO *oldiea);
00317 AQBANKING_API 
00318 const char*
00319 AB_ImExporterAccountInfo_GetBankCode(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00320 AQBANKING_API 
00321 void AB_ImExporterAccountInfo_SetBankCode(AB_IMEXPORTER_ACCOUNTINFO *iea,
00322                                           const char *s);
00323 
00327 AQBANKING_API 
00328 const char*
00329 AB_ImExporterAccountInfo_GetBankName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00330 AQBANKING_API 
00331 void AB_ImExporterAccountInfo_SetBankName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00332                                           const char *s);
00333 
00338 AQBANKING_API 
00339 const char*
00340 AB_ImExporterAccountInfo_GetAccountNumber(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00341 AQBANKING_API 
00342 void AB_ImExporterAccountInfo_SetAccountNumber(AB_IMEXPORTER_ACCOUNTINFO *iea,
00343                                                const char *s);
00344 
00349 AQBANKING_API 
00350 const char*
00351 AB_ImExporterAccountInfo_GetAccountName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00352 AQBANKING_API 
00353 void AB_ImExporterAccountInfo_SetAccountName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00354                                              const char *s);
00355 
00359 AQBANKING_API 
00360 const char*
00361 AB_ImExporterAccountInfo_GetIban(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00362 AQBANKING_API 
00363 void AB_ImExporterAccountInfo_SetIban(AB_IMEXPORTER_ACCOUNTINFO *iea,
00364                                       const char *s);
00365 
00369 AQBANKING_API 
00370 const char*
00371 AB_ImExporterAccountInfo_GetCurrency(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00372 
00373 AQBANKING_API 
00374 void AB_ImExporterAccountInfo_SetCurrency(AB_IMEXPORTER_ACCOUNTINFO *iea,
00375                                           const char *s);
00376 
00377 
00382 AQBANKING_API 
00383 const char*
00384 AB_ImExporterAccountInfo_GetOwner(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00385 AQBANKING_API 
00386 void AB_ImExporterAccountInfo_SetOwner(AB_IMEXPORTER_ACCOUNTINFO *iea,
00387                                        const char *s);
00388 
00389 AQBANKING_API 
00390 AB_ACCOUNT_TYPE
00391   AB_ImExporterAccountInfo_GetType(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00392 AQBANKING_API 
00393 void AB_ImExporterAccountInfo_SetType(AB_IMEXPORTER_ACCOUNTINFO *iea,
00394                                       AB_ACCOUNT_TYPE t);
00395 
00396 AQBANKING_API 
00397 const char*
00398 AB_ImExporterAccountInfo_GetDescription(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00399 AQBANKING_API 
00400 void AB_ImExporterAccountInfo_SetDescription(AB_IMEXPORTER_ACCOUNTINFO *iea,
00401                                        const char *s);
00413 AQBANKING_API 
00414 void AB_ImExporterAccountInfo_AddTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00415                                              AB_TRANSACTION *t);
00420 AQBANKING_API 
00421 const AB_TRANSACTION*
00422 AB_ImExporterAccountInfo_GetFirstTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00423 
00428 AQBANKING_API 
00429 const AB_TRANSACTION*
00430 AB_ImExporterAccountInfo_GetNextTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00431 
00442 typedef const AB_TRANSACTION *
00443 (AB_TRANSACTION_CONSTLIST2_FOREACH)(const AB_TRANSACTION *element,
00444                                     void *user_data);
00445 
00470 AQBANKING_API
00471 const AB_TRANSACTION *
00472 AB_ImExporterAccountInfo_TransactionsForEach(AB_IMEXPORTER_ACCOUNTINFO *iea,
00473                                              AB_TRANSACTION_CONSTLIST2_FOREACH func,
00474                                              void* user_data);
00485 AQBANKING_API 
00486 void AB_ImExporterAccountInfo_AddAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea,
00487                                                AB_ACCOUNT_STATUS *st);
00488 
00496 AQBANKING_API 
00497 AB_ACCOUNT_STATUS*
00498 AB_ImExporterAccountInfo_GetFirstAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00499 
00506 AQBANKING_API 
00507 AB_ACCOUNT_STATUS*
00508 AB_ImExporterAccountInfo_GetNextAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00516 
00529 AQBANKING_API 
00530 void AB_ImExporterAccountInfo_AddStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea,
00531                                                AB_TRANSACTION *t);
00545 AQBANKING_API 
00546 const AB_TRANSACTION*
00547 AB_ImExporterAccountInfo_GetFirstStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00548 
00562 AQBANKING_API 
00563 const AB_TRANSACTION*
00564 AB_ImExporterAccountInfo_GetNextStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00588 AQBANKING_API 
00589 void AB_ImExporterAccountInfo_AddTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00590                                           AB_TRANSACTION *t);
00606 AQBANKING_API 
00607 const AB_TRANSACTION*
00608 AB_ImExporterAccountInfo_GetFirstTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00609 
00625 AQBANKING_API 
00626 const AB_TRANSACTION*
00627 AB_ImExporterAccountInfo_GetNextTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00648 AQBANKING_API 
00649 void AB_ImExporterAccountInfo_AddDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00650                                                AB_TRANSACTION *t);
00664 AQBANKING_API 
00665 const AB_TRANSACTION*
00666 AB_ImExporterAccountInfo_GetFirstDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00667 
00681 AQBANKING_API 
00682 const AB_TRANSACTION*
00683 AB_ImExporterAccountInfo_GetNextDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00703 AQBANKING_API 
00704 void AB_ImExporterAccountInfo_AddNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00705                                                   AB_TRANSACTION *t);
00719 AQBANKING_API 
00720 const AB_TRANSACTION*
00721 AB_ImExporterAccountInfo_GetFirstNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00722 
00736 AQBANKING_API 
00737 const AB_TRANSACTION*
00738 AB_ImExporterAccountInfo_GetNextNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00743  /* defgroup */
00744 
00745 
00755 AQBANKING_API
00756 void AB_ImExporter_Utf8ToDta(const char *p, int size, GWEN_BUFFER *buf);
00757 
00761 AQBANKING_API 
00762 void AB_ImExporter_DtaToUtf8(const char *p, int size, GWEN_BUFFER *buf);
00763 
00764 AQBANKING_API 
00765 void AB_ImExporter_Iso8859_1ToUtf8(const char *p,
00766                                    int size,
00767                                    GWEN_BUFFER *buf);
00768 
00769 AQBANKING_DEPRECATED AQBANKING_API
00770 int AH_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00771 
00776 AQBANKING_API 
00777 int AB_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00778 
00779 AQBANKING_API 
00780 GWEN_TIME *AB_ImExporter_DateFromString(const char *p,
00781                                         const char *tmpl,
00782                                         int inUtc);
00783 
00788 #ifdef __cplusplus
00789 }
00790 #endif
00791 
00792 
00793 
00794 
00795 #endif /* AQBANKING_IMEXPORTER_H */
00796 
00797 

Generated on Fri Nov 10 03:56:53 2006 for aqbanking by  doxygen 1.5.1