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 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
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
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
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
00957
00958