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

imexporter.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 
00014 
00015 #ifndef AQBANKING_IMEXPORTER_H
00016 #define AQBANKING_IMEXPORTER_H
00017 
00018 #include <gwenhywfar/inherit.h>
00019 #include <gwenhywfar/iolayer.h>
00020 #include <gwenhywfar/db.h>
00021 #include <gwenhywfar/types.h>
00022 #include <aqbanking/error.h>
00023 #include <aqbanking/accstatus.h>
00024 
00025 
00044 
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048 
00049 typedef struct AB_IMEXPORTER AB_IMEXPORTER;
00050 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_IMEXPORTER, AQBANKING_API)
00051 
00052 typedef struct AB_IMEXPORTER_CONTEXT AB_IMEXPORTER_CONTEXT;
00053 typedef struct AB_IMEXPORTER_ACCOUNTINFO AB_IMEXPORTER_ACCOUNTINFO;
00054 #ifdef __cplusplus
00055 }
00056 #endif
00057 
00058 
00059 #include <aqbanking/banking.h>
00060 #include <aqbanking/account.h>
00061 #include <aqbanking/transaction.h>
00062 #include <aqbanking/security.h>
00063 #include <aqbanking/message.h>
00064 
00065 
00066 #ifdef __cplusplus
00067 extern "C" {
00068 #endif
00069 
00070 
00075 
00086 AQBANKING_API 
00087 int AB_ImExporter_Import(AB_IMEXPORTER *ie,
00088                          AB_IMEXPORTER_CONTEXT *ctx,
00089                          GWEN_IO_LAYER *io,
00090                          GWEN_DB_NODE *dbProfile,
00091                          uint32_t guiid);
00092 
00102 AQBANKING_API 
00103 int AB_ImExporter_Export(AB_IMEXPORTER *ie,
00104                          AB_IMEXPORTER_CONTEXT *ctx,
00105                          GWEN_IO_LAYER *io,
00106                          GWEN_DB_NODE *dbProfile,
00107                          uint32_t guiid);
00108 
00112 AQBANKING_API
00113 int AB_ImExporter_ImportFile(AB_IMEXPORTER *ie,
00114                              AB_IMEXPORTER_CONTEXT *ctx,
00115                              const char *fname,
00116                              GWEN_DB_NODE *dbProfile,
00117                              uint32_t guiid);
00118 
00119 AQBANKING_API
00120 int AB_ImExporter_ImportBuffer(AB_IMEXPORTER *ie,
00121                                AB_IMEXPORTER_CONTEXT *ctx,
00122                                GWEN_BUFFER *buf,
00123                                GWEN_DB_NODE *dbProfile,
00124                                uint32_t guiid);
00125 
00126 AQBANKING_API
00127 int AB_ImExporter_ExportToBuffer(AB_IMEXPORTER *ie,
00128                                  AB_IMEXPORTER_CONTEXT *ctx,
00129                                  GWEN_BUFFER *buf,
00130                                  GWEN_DB_NODE *dbProfile,
00131                                  uint32_t guiid);
00132 
00133 
00137 AQBANKING_API
00138 int AB_ImExporter_CheckFile(AB_IMEXPORTER *ie,
00139                             const char *fname,
00140                             uint32_t guiid);
00141 
00148 AQBANKING_API 
00149 AB_BANKING *AB_ImExporter_GetBanking(const AB_IMEXPORTER *ie);
00150 
00154 AQBANKING_API
00155 const char *AB_ImExporter_GetName(const AB_IMEXPORTER *ie);
00156 
00157  /* defgroup */
00159 
00160 
00161 
00171 AQBANKING_API 
00172 AB_IMEXPORTER_CONTEXT *AB_ImExporterContext_new();
00173 
00174 AQBANKING_API
00175 void AB_ImExporterContext_free(AB_IMEXPORTER_CONTEXT *iec);
00176 
00180 AQBANKING_API 
00181 int AB_ImExporterContext_toDb(const AB_IMEXPORTER_CONTEXT *iec,
00182                               GWEN_DB_NODE *db);
00183 
00187 AQBANKING_API 
00188 AB_IMEXPORTER_CONTEXT *AB_ImExporterContext_fromDb(GWEN_DB_NODE *db);
00189 
00190 
00191 AQBANKING_API 
00192 int AB_ImExporterContext_ReadDb(AB_IMEXPORTER_CONTEXT *iec,
00193                                 GWEN_DB_NODE *db);
00194 
00195 
00200 AQBANKING_API 
00201 void AB_ImExporterContext_AddContext(AB_IMEXPORTER_CONTEXT *iec,
00202                                      AB_IMEXPORTER_CONTEXT *toAdd);
00203 
00207 AQBANKING_API 
00208 void AB_ImExporterContext_AddAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00209                                          AB_IMEXPORTER_ACCOUNTINFO *iea);
00210 
00215 AQBANKING_API 
00216 AB_IMEXPORTER_ACCOUNTINFO*
00217 AB_ImExporterContext_GetFirstAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00218 
00223 AQBANKING_API 
00224 AB_IMEXPORTER_ACCOUNTINFO*
00225 AB_ImExporterContext_GetNextAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00226 
00232 typedef AB_IMEXPORTER_ACCOUNTINFO *
00233 (AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH)(AB_IMEXPORTER_ACCOUNTINFO *element,
00234                                           void *user_data);
00235 
00256 AQBANKING_API
00257 AB_IMEXPORTER_ACCOUNTINFO *
00258 AB_ImExporterContext_AccountInfoForEach(AB_IMEXPORTER_CONTEXT *iec,
00259                                         AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH func,
00260                                         void* user_data);
00261 
00267 AQBANKING_API 
00268 AB_IMEXPORTER_ACCOUNTINFO*
00269 AB_ImExporterContext_FindAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00270                                      const char *bankCode,
00271                                      const char *accountNumber);
00272 
00278 AQBANKING_API
00279 AB_IMEXPORTER_ACCOUNTINFO*
00280 AB_ImExporterContext_GetAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00281                                     const char *bankCode,
00282                                     const char *accountNumber);
00283 
00284 AQBANKING_API
00285 int AB_ImExporterContext_GetAccountInfoCount(const AB_IMEXPORTER_CONTEXT *iec);
00286 
00298 AQBANKING_API
00299 void AB_ImExporterContext_AddTransaction(AB_IMEXPORTER_CONTEXT *iec,
00300                                          AB_TRANSACTION *t);
00301 
00302 
00314 AQBANKING_API
00315 void AB_ImExporterContext_AddTransfer(AB_IMEXPORTER_CONTEXT *iec,
00316                                       AB_TRANSACTION *t);
00317 
00318 
00319 AQBANKING_API
00320 void AB_ImExporterContext_AddStandingOrder(AB_IMEXPORTER_CONTEXT *iec,
00321                                            AB_TRANSACTION *t);
00322 
00323 
00324 AQBANKING_API
00325 void AB_ImExporterContext_AddDatedTransfer(AB_IMEXPORTER_CONTEXT *iec,
00326                                            AB_TRANSACTION *t);
00327 
00328 
00329 
00335 AQBANKING_API 
00336 void AB_ImExporterContext_AddSecurity(AB_IMEXPORTER_CONTEXT *iec,
00337                                       AB_SECURITY *sec);
00338 
00339 AQBANKING_API 
00340 AB_SECURITY*
00341 AB_ImExporterContext_GetFirstSecurity(AB_IMEXPORTER_CONTEXT *iec);
00342 
00343 AQBANKING_API 
00344 AB_SECURITY*
00345 AB_ImExporterContext_GetNextSecurity(AB_IMEXPORTER_CONTEXT *iec);
00346 
00347 AQBANKING_API 
00348 AB_SECURITY*
00349 AB_ImExporterContext_FindSecurity(AB_IMEXPORTER_CONTEXT *iec,
00350                                   const char *nameSpace,
00351                                   const char *id);
00352 
00362 AQBANKING_API 
00363 void AB_ImExporterContext_AddMessage(AB_IMEXPORTER_CONTEXT *iec,
00364                                      AB_MESSAGE *msg);
00365 
00366 AQBANKING_API 
00367 AB_MESSAGE*
00368 AB_ImExporterContext_GetFirstMessage(AB_IMEXPORTER_CONTEXT *iec);
00369 
00370 AQBANKING_API 
00371 AB_MESSAGE*
00372 AB_ImExporterContext_GetNextMessage(AB_IMEXPORTER_CONTEXT *iec);
00373 
00383 AQBANKING_API
00384 void AB_ImExporterContext_AddLog(AB_IMEXPORTER_CONTEXT *iec,
00385                                  const char *s);
00386 
00387 AQBANKING_API
00388 const char *AB_ImExporterContext_GetLog(const AB_IMEXPORTER_CONTEXT *iec);
00389 
00390 AQBANKING_API
00391 void AB_ImExporterContext_ClearLog(AB_IMEXPORTER_CONTEXT *iec);
00392 
00395  /* defgroup */
00396 
00397 
00398 
00399 
00407 
00412 AQBANKING_API
00413 AB_IMEXPORTER_ACCOUNTINFO *AB_ImExporterAccountInfo_new();
00414 AQBANKING_API 
00415 void AB_ImExporterAccountInfo_free(AB_IMEXPORTER_ACCOUNTINFO *iea);
00416 
00417 AQBANKING_API 
00418 void AB_ImExporterAccountInfo_FillFromAccount(AB_IMEXPORTER_ACCOUNTINFO *iea,
00419                                               const AB_ACCOUNT *a);
00420 
00427 AQBANKING_API 
00428   AB_IMEXPORTER_ACCOUNTINFO*
00429   AB_ImExporterAccountInfo_dup(const AB_IMEXPORTER_ACCOUNTINFO *oldiea);
00440 AQBANKING_API 
00441 const char*
00442 AB_ImExporterAccountInfo_GetBankCode(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00443 AQBANKING_API 
00444 void AB_ImExporterAccountInfo_SetBankCode(AB_IMEXPORTER_ACCOUNTINFO *iea,
00445                                           const char *s);
00446 
00450 AQBANKING_API 
00451 const char*
00452 AB_ImExporterAccountInfo_GetBankName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00453 AQBANKING_API 
00454 void AB_ImExporterAccountInfo_SetBankName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00455                                           const char *s);
00456 
00461 AQBANKING_API 
00462 const char*
00463 AB_ImExporterAccountInfo_GetAccountNumber(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00464 AQBANKING_API 
00465 void AB_ImExporterAccountInfo_SetAccountNumber(AB_IMEXPORTER_ACCOUNTINFO *iea,
00466                                                const char *s);
00467 
00472 AQBANKING_API 
00473 const char*
00474 AB_ImExporterAccountInfo_GetAccountName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00475 AQBANKING_API 
00476 void AB_ImExporterAccountInfo_SetAccountName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00477                                              const char *s);
00478 
00482 AQBANKING_API 
00483 const char*
00484 AB_ImExporterAccountInfo_GetIban(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00485 AQBANKING_API 
00486 void AB_ImExporterAccountInfo_SetIban(AB_IMEXPORTER_ACCOUNTINFO *iea,
00487                                       const char *s);
00488 
00489 
00493 AQBANKING_API 
00494 const char*
00495 AB_ImExporterAccountInfo_GetBic(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00496 AQBANKING_API 
00497 void AB_ImExporterAccountInfo_SetBic(AB_IMEXPORTER_ACCOUNTINFO *iea,
00498                                      const char *s);
00499 
00503 AQBANKING_API 
00504 const char*
00505 AB_ImExporterAccountInfo_GetCurrency(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00506 
00507 AQBANKING_API 
00508 void AB_ImExporterAccountInfo_SetCurrency(AB_IMEXPORTER_ACCOUNTINFO *iea,
00509                                           const char *s);
00510 
00511 
00516 AQBANKING_API 
00517 const char*
00518 AB_ImExporterAccountInfo_GetOwner(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00519 AQBANKING_API 
00520 void AB_ImExporterAccountInfo_SetOwner(AB_IMEXPORTER_ACCOUNTINFO *iea,
00521                                        const char *s);
00522 
00523 AQBANKING_API 
00524 AB_ACCOUNT_TYPE
00525   AB_ImExporterAccountInfo_GetType(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00526 AQBANKING_API 
00527 void AB_ImExporterAccountInfo_SetType(AB_IMEXPORTER_ACCOUNTINFO *iea,
00528                                       AB_ACCOUNT_TYPE t);
00529 
00530 AQBANKING_API 
00531 const char*
00532 AB_ImExporterAccountInfo_GetDescription(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00533 AQBANKING_API 
00534 void AB_ImExporterAccountInfo_SetDescription(AB_IMEXPORTER_ACCOUNTINFO *iea,
00535                                              const char *s);
00536 
00540 AQBANKING_API 
00541 uint32_t AB_ImExporterAccountInfo_GetAccountId(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00542 
00543 AQBANKING_API 
00544 void AB_ImExporterAccountInfo_SetAccountId(AB_IMEXPORTER_ACCOUNTINFO *iea, uint32_t id);
00545 
00557 AQBANKING_API 
00558 void AB_ImExporterAccountInfo_AddTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00559                                              AB_TRANSACTION *t);
00564 AQBANKING_API 
00565 AB_TRANSACTION*
00566 AB_ImExporterAccountInfo_GetFirstTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00567 
00572 AQBANKING_API 
00573 AB_TRANSACTION*
00574 AB_ImExporterAccountInfo_GetNextTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00575 
00586 typedef const AB_TRANSACTION *
00587 (AB_TRANSACTION_CONSTLIST2_FOREACH)(const AB_TRANSACTION *element,
00588                                     void *user_data);
00589 
00614 AQBANKING_API
00615 const AB_TRANSACTION*
00616 AB_ImExporterAccountInfo_TransactionsForEach(AB_IMEXPORTER_ACCOUNTINFO *iea,
00617                                              AB_TRANSACTION_CONSTLIST2_FOREACH func,
00618                                              void* user_data);
00619 
00620 AQBANKING_API
00621 int AB_ImExporterAccountInfo_GetTransactionCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00622 
00633 AQBANKING_API 
00634 void AB_ImExporterAccountInfo_AddAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea,
00635                                                AB_ACCOUNT_STATUS *st);
00636 
00642 AQBANKING_API 
00643 AB_ACCOUNT_STATUS*
00644 AB_ImExporterAccountInfo_GetFirstAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00645 
00650 AQBANKING_API 
00651 AB_ACCOUNT_STATUS*
00652 AB_ImExporterAccountInfo_GetNextAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00660 
00673 AQBANKING_API 
00674 void AB_ImExporterAccountInfo_AddStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea,
00675                                                AB_TRANSACTION *t);
00689 AQBANKING_API 
00690 AB_TRANSACTION*
00691 AB_ImExporterAccountInfo_GetFirstStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00692 
00706 AQBANKING_API 
00707 AB_TRANSACTION*
00708 AB_ImExporterAccountInfo_GetNextStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00709 
00710 AQBANKING_API 
00711 int AB_ImExporterAccountInfo_GetStandingOrderCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00712 
00736 AQBANKING_API 
00737 void AB_ImExporterAccountInfo_AddTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00738                                           AB_TRANSACTION *t);
00754 AQBANKING_API 
00755 AB_TRANSACTION*
00756 AB_ImExporterAccountInfo_GetFirstTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00757 
00773 AQBANKING_API 
00774 AB_TRANSACTION*
00775 AB_ImExporterAccountInfo_GetNextTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00776 
00777 AQBANKING_API 
00778 int AB_ImExporterAccountInfo_GetTransferCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00779 
00800 AQBANKING_API 
00801 void AB_ImExporterAccountInfo_AddDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00802                                                AB_TRANSACTION *t);
00816 AQBANKING_API 
00817 AB_TRANSACTION*
00818 AB_ImExporterAccountInfo_GetFirstDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00819 
00833 AQBANKING_API 
00834 AB_TRANSACTION*
00835 AB_ImExporterAccountInfo_GetNextDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00836 
00837 AQBANKING_API 
00838 int AB_ImExporterAccountInfo_GetDatedTransferCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00839 
00859 AQBANKING_API 
00860 void AB_ImExporterAccountInfo_AddNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00861                                                   AB_TRANSACTION *t);
00875 AQBANKING_API 
00876 AB_TRANSACTION*
00877 AB_ImExporterAccountInfo_GetFirstNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00878 
00892 AQBANKING_API 
00893 AB_TRANSACTION*
00894 AB_ImExporterAccountInfo_GetNextNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00895 
00896 AQBANKING_API 
00897 int AB_ImExporterAccountInfo_GetNotedTransactionCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00898 
00903  /* defgroup */
00904 
00905 
00915 AQBANKING_API
00916 void AB_ImExporter_Utf8ToDta(const char *p, int size, GWEN_BUFFER *buf);
00917 
00921 AQBANKING_API 
00922 void AB_ImExporter_DtaToUtf8(const char *p, int size, GWEN_BUFFER *buf);
00923 
00924 AQBANKING_API 
00925 void AB_ImExporter_Iso8859_1ToUtf8(const char *p,
00926                                    int size,
00927                                    GWEN_BUFFER *buf);
00928 
00929 AQBANKING_DEPRECATED AQBANKING_API
00930 int AH_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00931 
00936 AQBANKING_API 
00937 int AB_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00938 
00939 AQBANKING_API 
00940 GWEN_TIME *AB_ImExporter_DateFromString(const char *p,
00941                                         const char *tmpl,
00942                                         int inUtc);
00943 
00944 
00949 #ifdef __cplusplus
00950 }
00951 #endif
00952 
00953 
00954 
00955 
00956 #endif /* AQBANKING_IMEXPORTER_H */
00957 
00958 

Generated on Mon Sep 20 2010 18:13:21 for aqbanking by  doxygen 1.7.1