imexporter.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile: imexporter.h,v $
00003  -------------------
00004  cvs         : $Id: imexporter.h,v 1.26 2006/02/24 03:07:58 aquamaniac Exp $
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 
00173 AQBANKING_API 
00174 void AB_ImExporterContext_AddContext(AB_IMEXPORTER_CONTEXT *iec,
00175                                      AB_IMEXPORTER_CONTEXT *toAdd);
00176 
00180 AQBANKING_API 
00181 void AB_ImExporterContext_AddAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00182                                          AB_IMEXPORTER_ACCOUNTINFO *iea);
00183 
00188 AQBANKING_API 
00189 AB_IMEXPORTER_ACCOUNTINFO*
00190 AB_ImExporterContext_GetFirstAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00191 
00196 AQBANKING_API 
00197 AB_IMEXPORTER_ACCOUNTINFO*
00198 AB_ImExporterContext_GetNextAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00199 
00205 typedef AB_IMEXPORTER_ACCOUNTINFO *
00206 (AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH)(AB_IMEXPORTER_ACCOUNTINFO *element,
00207                                           void *user_data);
00208 
00229 AQBANKING_API
00230 AB_IMEXPORTER_ACCOUNTINFO *
00231 AB_ImExporterContext_AccountInfoForEach(AB_IMEXPORTER_CONTEXT *iec,
00232                                         AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH func,
00233                                         void* user_data);
00234 
00240 AQBANKING_API 
00241 AB_IMEXPORTER_ACCOUNTINFO*
00242 AB_ImExporterContext_FindAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00243                                      const char *bankCode,
00244                                      const char *accountNumber);
00245 
00251 AQBANKING_API
00252 AB_IMEXPORTER_ACCOUNTINFO*
00253 AB_ImExporterContext_GetAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00254                                     const char *bankCode,
00255                                     const char *accountNumber);
00256 
00268 AQBANKING_API
00269 void AB_ImExporterContext_AddTransaction(AB_IMEXPORTER_CONTEXT *iec,
00270                                          AB_TRANSACTION *t); /* defgroup */
00272 
00273 
00274 
00275 
00283 
00288 AQBANKING_API
00289 AB_IMEXPORTER_ACCOUNTINFO *AB_ImExporterAccountInfo_new();
00290 AQBANKING_API 
00291 void AB_ImExporterAccountInfo_free(AB_IMEXPORTER_ACCOUNTINFO *iea);
00292 
00299 AQBANKING_API 
00300   AB_IMEXPORTER_ACCOUNTINFO*
00301   AB_ImExporterAccountInfo_dup(const AB_IMEXPORTER_ACCOUNTINFO *oldiea);
00312 AQBANKING_API 
00313 const char*
00314 AB_ImExporterAccountInfo_GetBankCode(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00315 AQBANKING_API 
00316 void AB_ImExporterAccountInfo_SetBankCode(AB_IMEXPORTER_ACCOUNTINFO *iea,
00317                                           const char *s);
00318 
00322 AQBANKING_API 
00323 const char*
00324 AB_ImExporterAccountInfo_GetBankName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00325 AQBANKING_API 
00326 void AB_ImExporterAccountInfo_SetBankName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00327                                           const char *s);
00328 
00333 AQBANKING_API 
00334 const char*
00335 AB_ImExporterAccountInfo_GetAccountNumber(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00336 AQBANKING_API 
00337 void AB_ImExporterAccountInfo_SetAccountNumber(AB_IMEXPORTER_ACCOUNTINFO *iea,
00338                                                const char *s);
00339 
00344 AQBANKING_API 
00345 const char*
00346 AB_ImExporterAccountInfo_GetAccountName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00347 AQBANKING_API 
00348 void AB_ImExporterAccountInfo_SetAccountName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00349                                              const char *s);
00350 
00355 AQBANKING_API 
00356 const char*
00357 AB_ImExporterAccountInfo_GetOwner(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00358 AQBANKING_API 
00359 void AB_ImExporterAccountInfo_SetOwner(AB_IMEXPORTER_ACCOUNTINFO *iea,
00360                                        const char *s);
00361 
00362 AQBANKING_API 
00363 AB_ACCOUNT_TYPE
00364   AB_ImExporterAccountInfo_GetType(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00365 AQBANKING_API 
00366 void AB_ImExporterAccountInfo_SetType(AB_IMEXPORTER_ACCOUNTINFO *iea,
00367                                       AB_ACCOUNT_TYPE t);
00368 
00369 AQBANKING_API 
00370 const char*
00371 AB_ImExporterAccountInfo_GetDescription(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00372 AQBANKING_API 
00373 void AB_ImExporterAccountInfo_SetDescription(AB_IMEXPORTER_ACCOUNTINFO *iea,
00374                                        const char *s);
00386 AQBANKING_API 
00387 void AB_ImExporterAccountInfo_AddTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00388                                              AB_TRANSACTION *t);
00393 AQBANKING_API 
00394 const AB_TRANSACTION*
00395 AB_ImExporterAccountInfo_GetFirstTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00396 
00401 AQBANKING_API 
00402 const AB_TRANSACTION*
00403 AB_ImExporterAccountInfo_GetNextTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00404 
00415 typedef const AB_TRANSACTION *
00416 (AB_TRANSACTION_CONSTLIST2_FOREACH)(const AB_TRANSACTION *element,
00417                                     void *user_data);
00418 
00443 AQBANKING_API
00444 const AB_TRANSACTION *
00445 AB_ImExporterAccountInfo_TransactionsForEach(AB_IMEXPORTER_ACCOUNTINFO *iea,
00446                                              AB_TRANSACTION_CONSTLIST2_FOREACH func,
00447                                              void* user_data);
00458 AQBANKING_API 
00459 void AB_ImExporterAccountInfo_AddAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea,
00460                                                AB_ACCOUNT_STATUS *st);
00461 
00469 AQBANKING_API 
00470 AB_ACCOUNT_STATUS*
00471 AB_ImExporterAccountInfo_GetFirstAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00472 
00479 AQBANKING_API 
00480 AB_ACCOUNT_STATUS*
00481 AB_ImExporterAccountInfo_GetNextAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00489 
00502 AQBANKING_API 
00503 void AB_ImExporterAccountInfo_AddStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea,
00504                                                AB_TRANSACTION *t);
00518 AQBANKING_API 
00519 const AB_TRANSACTION*
00520 AB_ImExporterAccountInfo_GetFirstStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00521 
00535 AQBANKING_API 
00536 const AB_TRANSACTION*
00537 AB_ImExporterAccountInfo_GetNextStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00561 AQBANKING_API 
00562 void AB_ImExporterAccountInfo_AddTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00563                                           AB_TRANSACTION *t);
00579 AQBANKING_API 
00580 const AB_TRANSACTION*
00581 AB_ImExporterAccountInfo_GetFirstTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00582 
00598 AQBANKING_API 
00599 const AB_TRANSACTION*
00600 AB_ImExporterAccountInfo_GetNextTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00621 AQBANKING_API 
00622 void AB_ImExporterAccountInfo_AddDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00623                                                AB_TRANSACTION *t);
00637 AQBANKING_API 
00638 const AB_TRANSACTION*
00639 AB_ImExporterAccountInfo_GetFirstDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00640 
00654 AQBANKING_API 
00655 const AB_TRANSACTION*
00656 AB_ImExporterAccountInfo_GetNextDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00676 AQBANKING_API 
00677 void AB_ImExporterAccountInfo_AddNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00678                                                   AB_TRANSACTION *t);
00692 AQBANKING_API 
00693 const AB_TRANSACTION*
00694 AB_ImExporterAccountInfo_GetFirstNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00695 
00709 AQBANKING_API 
00710 const AB_TRANSACTION*
00711 AB_ImExporterAccountInfo_GetNextNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00716  /* defgroup */
00717 
00718 
00728 AQBANKING_API
00729 void AB_ImExporter_Utf8ToDta(const char *p, int size, GWEN_BUFFER *buf);
00730 
00734 AQBANKING_API 
00735 void AB_ImExporter_DtaToUtf8(const char *p, int size, GWEN_BUFFER *buf);
00736 
00737 AQBANKING_API 
00738 void AB_ImExporter_Iso8859_1ToUtf8(const char *p,
00739                                    int size,
00740                                    GWEN_BUFFER *buf);
00741 
00746 AQBANKING_API 
00747 int AH_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00748 
00749 AQBANKING_API 
00750 GWEN_TIME *AB_ImExporter_DateFromString(const char *p,
00751                                         const char *tmpl,
00752                                         int inUtc);
00753 
00758 #ifdef __cplusplus
00759 }
00760 #endif
00761 
00762 
00763 
00764 
00765 #endif /* AQBANKING_IMEXPORTER_H */
00766 
00767 

Generated on Tue Apr 10 19:04:09 2007 for aqbanking by  doxygen 1.4.7