00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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
00130 AQBANKING_API
00131 int AB_ImExporter_CheckFile(AB_IMEXPORTER *ie,
00132 const char *fname,
00133 uint32_t guiid);
00134
00141 AQBANKING_API
00142 AB_BANKING *AB_ImExporter_GetBanking(const AB_IMEXPORTER *ie);
00143
00147 AQBANKING_API
00148 const char *AB_ImExporter_GetName(const AB_IMEXPORTER *ie);
00149
00150
00152
00153
00154
00164 AQBANKING_API
00165 AB_IMEXPORTER_CONTEXT *AB_ImExporterContext_new();
00166
00167 AQBANKING_API
00168 void AB_ImExporterContext_free(AB_IMEXPORTER_CONTEXT *iec);
00169
00173 AQBANKING_API
00174 int AB_ImExporterContext_toDb(const AB_IMEXPORTER_CONTEXT *iec,
00175 GWEN_DB_NODE *db);
00176
00180 AQBANKING_API
00181 AB_IMEXPORTER_CONTEXT *AB_ImExporterContext_fromDb(GWEN_DB_NODE *db);
00182
00183
00184 AQBANKING_API
00185 int AB_ImExporterContext_ReadDb(AB_IMEXPORTER_CONTEXT *iec,
00186 GWEN_DB_NODE *db);
00187
00188
00193 AQBANKING_API
00194 void AB_ImExporterContext_AddContext(AB_IMEXPORTER_CONTEXT *iec,
00195 AB_IMEXPORTER_CONTEXT *toAdd);
00196
00200 AQBANKING_API
00201 void AB_ImExporterContext_AddAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00202 AB_IMEXPORTER_ACCOUNTINFO *iea);
00203
00208 AQBANKING_API
00209 AB_IMEXPORTER_ACCOUNTINFO*
00210 AB_ImExporterContext_GetFirstAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00211
00216 AQBANKING_API
00217 AB_IMEXPORTER_ACCOUNTINFO*
00218 AB_ImExporterContext_GetNextAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00219
00225 typedef AB_IMEXPORTER_ACCOUNTINFO *
00226 (AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH)(AB_IMEXPORTER_ACCOUNTINFO *element,
00227 void *user_data);
00228
00249 AQBANKING_API
00250 AB_IMEXPORTER_ACCOUNTINFO *
00251 AB_ImExporterContext_AccountInfoForEach(AB_IMEXPORTER_CONTEXT *iec,
00252 AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH func,
00253 void* user_data);
00254
00260 AQBANKING_API
00261 AB_IMEXPORTER_ACCOUNTINFO*
00262 AB_ImExporterContext_FindAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00263 const char *bankCode,
00264 const char *accountNumber);
00265
00271 AQBANKING_API
00272 AB_IMEXPORTER_ACCOUNTINFO*
00273 AB_ImExporterContext_GetAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00274 const char *bankCode,
00275 const char *accountNumber);
00276
00288 AQBANKING_API
00289 void AB_ImExporterContext_AddTransaction(AB_IMEXPORTER_CONTEXT *iec,
00290 AB_TRANSACTION *t);
00291
00292
00304 AQBANKING_API
00305 void AB_ImExporterContext_AddTransfer(AB_IMEXPORTER_CONTEXT *iec,
00306 AB_TRANSACTION *t);
00307
00308
00309 AQBANKING_API
00310 void AB_ImExporterContext_AddStandingOrder(AB_IMEXPORTER_CONTEXT *iec,
00311 AB_TRANSACTION *t);
00312
00313
00314 AQBANKING_API
00315 void AB_ImExporterContext_AddDatedTransfer(AB_IMEXPORTER_CONTEXT *iec,
00316 AB_TRANSACTION *t);
00317
00318
00319
00325 AQBANKING_API
00326 void AB_ImExporterContext_AddSecurity(AB_IMEXPORTER_CONTEXT *iec,
00327 AB_SECURITY *sec);
00328
00329 AQBANKING_API
00330 AB_SECURITY*
00331 AB_ImExporterContext_GetFirstSecurity(AB_IMEXPORTER_CONTEXT *iec);
00332
00333 AQBANKING_API
00334 AB_SECURITY*
00335 AB_ImExporterContext_GetNextSecurity(AB_IMEXPORTER_CONTEXT *iec);
00336
00337 AQBANKING_API
00338 AB_SECURITY*
00339 AB_ImExporterContext_FindSecurity(AB_IMEXPORTER_CONTEXT *iec,
00340 const char *nameSpace,
00341 const char *id);
00342
00352 AQBANKING_API
00353 void AB_ImExporterContext_AddMessage(AB_IMEXPORTER_CONTEXT *iec,
00354 AB_MESSAGE *msg);
00355
00356 AQBANKING_API
00357 AB_MESSAGE*
00358 AB_ImExporterContext_GetFirstMessage(AB_IMEXPORTER_CONTEXT *iec);
00359
00360 AQBANKING_API
00361 AB_MESSAGE*
00362 AB_ImExporterContext_GetNextMessage(AB_IMEXPORTER_CONTEXT *iec);
00363
00373 AQBANKING_API
00374 void AB_ImExporterContext_AddLog(AB_IMEXPORTER_CONTEXT *iec,
00375 const char *s);
00376
00377 AQBANKING_API
00378 const char *AB_ImExporterContext_GetLog(const AB_IMEXPORTER_CONTEXT *iec);
00379
00380 AQBANKING_API
00381 void AB_ImExporterContext_ClearLog(AB_IMEXPORTER_CONTEXT *iec);
00382
00385
00386
00387
00388
00389
00397
00402 AQBANKING_API
00403 AB_IMEXPORTER_ACCOUNTINFO *AB_ImExporterAccountInfo_new();
00404 AQBANKING_API
00405 void AB_ImExporterAccountInfo_free(AB_IMEXPORTER_ACCOUNTINFO *iea);
00406
00407 AQBANKING_API
00408 void AB_ImExporterAccountInfo_FillFromAccount(AB_IMEXPORTER_ACCOUNTINFO *iea,
00409 const AB_ACCOUNT *a);
00410
00417 AQBANKING_API
00418 AB_IMEXPORTER_ACCOUNTINFO*
00419 AB_ImExporterAccountInfo_dup(const AB_IMEXPORTER_ACCOUNTINFO *oldiea);
00430 AQBANKING_API
00431 const char*
00432 AB_ImExporterAccountInfo_GetBankCode(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00433 AQBANKING_API
00434 void AB_ImExporterAccountInfo_SetBankCode(AB_IMEXPORTER_ACCOUNTINFO *iea,
00435 const char *s);
00436
00440 AQBANKING_API
00441 const char*
00442 AB_ImExporterAccountInfo_GetBankName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00443 AQBANKING_API
00444 void AB_ImExporterAccountInfo_SetBankName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00445 const char *s);
00446
00451 AQBANKING_API
00452 const char*
00453 AB_ImExporterAccountInfo_GetAccountNumber(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00454 AQBANKING_API
00455 void AB_ImExporterAccountInfo_SetAccountNumber(AB_IMEXPORTER_ACCOUNTINFO *iea,
00456 const char *s);
00457
00462 AQBANKING_API
00463 const char*
00464 AB_ImExporterAccountInfo_GetAccountName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00465 AQBANKING_API
00466 void AB_ImExporterAccountInfo_SetAccountName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00467 const char *s);
00468
00472 AQBANKING_API
00473 const char*
00474 AB_ImExporterAccountInfo_GetIban(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00475 AQBANKING_API
00476 void AB_ImExporterAccountInfo_SetIban(AB_IMEXPORTER_ACCOUNTINFO *iea,
00477 const char *s);
00478
00479
00483 AQBANKING_API
00484 const char*
00485 AB_ImExporterAccountInfo_GetBic(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00486 AQBANKING_API
00487 void AB_ImExporterAccountInfo_SetBic(AB_IMEXPORTER_ACCOUNTINFO *iea,
00488 const char *s);
00489
00493 AQBANKING_API
00494 const char*
00495 AB_ImExporterAccountInfo_GetCurrency(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00496
00497 AQBANKING_API
00498 void AB_ImExporterAccountInfo_SetCurrency(AB_IMEXPORTER_ACCOUNTINFO *iea,
00499 const char *s);
00500
00501
00506 AQBANKING_API
00507 const char*
00508 AB_ImExporterAccountInfo_GetOwner(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00509 AQBANKING_API
00510 void AB_ImExporterAccountInfo_SetOwner(AB_IMEXPORTER_ACCOUNTINFO *iea,
00511 const char *s);
00512
00513 AQBANKING_API
00514 AB_ACCOUNT_TYPE
00515 AB_ImExporterAccountInfo_GetType(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00516 AQBANKING_API
00517 void AB_ImExporterAccountInfo_SetType(AB_IMEXPORTER_ACCOUNTINFO *iea,
00518 AB_ACCOUNT_TYPE t);
00519
00520 AQBANKING_API
00521 const char*
00522 AB_ImExporterAccountInfo_GetDescription(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00523 AQBANKING_API
00524 void AB_ImExporterAccountInfo_SetDescription(AB_IMEXPORTER_ACCOUNTINFO *iea,
00525 const char *s);
00537 AQBANKING_API
00538 void AB_ImExporterAccountInfo_AddTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00539 AB_TRANSACTION *t);
00544 AQBANKING_API
00545 AB_TRANSACTION*
00546 AB_ImExporterAccountInfo_GetFirstTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00547
00552 AQBANKING_API
00553 AB_TRANSACTION*
00554 AB_ImExporterAccountInfo_GetNextTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00555
00566 typedef const AB_TRANSACTION *
00567 (AB_TRANSACTION_CONSTLIST2_FOREACH)(const AB_TRANSACTION *element,
00568 void *user_data);
00569
00594 AQBANKING_API
00595 const AB_TRANSACTION*
00596 AB_ImExporterAccountInfo_TransactionsForEach(AB_IMEXPORTER_ACCOUNTINFO *iea,
00597 AB_TRANSACTION_CONSTLIST2_FOREACH func,
00598 void* user_data);
00609 AQBANKING_API
00610 void AB_ImExporterAccountInfo_AddAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea,
00611 AB_ACCOUNT_STATUS *st);
00612
00618 AQBANKING_API
00619 AB_ACCOUNT_STATUS*
00620 AB_ImExporterAccountInfo_GetFirstAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00621
00626 AQBANKING_API
00627 AB_ACCOUNT_STATUS*
00628 AB_ImExporterAccountInfo_GetNextAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00636
00649 AQBANKING_API
00650 void AB_ImExporterAccountInfo_AddStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea,
00651 AB_TRANSACTION *t);
00665 AQBANKING_API
00666 AB_TRANSACTION*
00667 AB_ImExporterAccountInfo_GetFirstStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00668
00682 AQBANKING_API
00683 AB_TRANSACTION*
00684 AB_ImExporterAccountInfo_GetNextStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00708 AQBANKING_API
00709 void AB_ImExporterAccountInfo_AddTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00710 AB_TRANSACTION *t);
00726 AQBANKING_API
00727 AB_TRANSACTION*
00728 AB_ImExporterAccountInfo_GetFirstTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00729
00745 AQBANKING_API
00746 AB_TRANSACTION*
00747 AB_ImExporterAccountInfo_GetNextTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00768 AQBANKING_API
00769 void AB_ImExporterAccountInfo_AddDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00770 AB_TRANSACTION *t);
00784 AQBANKING_API
00785 AB_TRANSACTION*
00786 AB_ImExporterAccountInfo_GetFirstDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00787
00801 AQBANKING_API
00802 AB_TRANSACTION*
00803 AB_ImExporterAccountInfo_GetNextDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00823 AQBANKING_API
00824 void AB_ImExporterAccountInfo_AddNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00825 AB_TRANSACTION *t);
00839 AQBANKING_API
00840 AB_TRANSACTION*
00841 AB_ImExporterAccountInfo_GetFirstNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00842
00856 AQBANKING_API
00857 AB_TRANSACTION*
00858 AB_ImExporterAccountInfo_GetNextNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00863
00864
00865
00875 AQBANKING_API
00876 void AB_ImExporter_Utf8ToDta(const char *p, int size, GWEN_BUFFER *buf);
00877
00881 AQBANKING_API
00882 void AB_ImExporter_DtaToUtf8(const char *p, int size, GWEN_BUFFER *buf);
00883
00884 AQBANKING_API
00885 void AB_ImExporter_Iso8859_1ToUtf8(const char *p,
00886 int size,
00887 GWEN_BUFFER *buf);
00888
00889 AQBANKING_DEPRECATED AQBANKING_API
00890 int AH_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00891
00896 AQBANKING_API
00897 int AB_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00898
00899 AQBANKING_API
00900 GWEN_TIME *AB_ImExporter_DateFromString(const char *p,
00901 const char *tmpl,
00902 int inUtc);
00903
00904
00909 #ifdef __cplusplus
00910 }
00911 #endif
00912
00913
00914
00915
00916 #endif
00917
00918