00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef AQBANKING_IMEXPORTER_H
00013 #define AQBANKING_IMEXPORTER_H
00014
00015 #include <gwenhywfar/inherit.h>
00016 #include <gwenhywfar/syncio.h>
00017 #include <gwenhywfar/db.h>
00018 #include <gwenhywfar/types.h>
00019 #include <gwenhywfar/dialog.h>
00020
00021 #include <aqbanking/error.h>
00022 #include <aqbanking/accstatus.h>
00023
00024
00043
00044
00045
00050
00052 #define AB_IMEXPORTER_FLAGS_GETPROFILEEDITOR_SUPPORTED 0x00000001
00053
00054
00059 #ifdef __cplusplus
00060 extern "C" {
00061 #endif
00062
00063 typedef struct AB_IMEXPORTER AB_IMEXPORTER;
00064 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_IMEXPORTER, AQBANKING_API)
00065
00066 typedef struct AB_IMEXPORTER_CONTEXT AB_IMEXPORTER_CONTEXT;
00067 typedef struct AB_IMEXPORTER_ACCOUNTINFO AB_IMEXPORTER_ACCOUNTINFO;
00068 #ifdef __cplusplus
00069 }
00070 #endif
00071
00072
00073 #include <aqbanking/banking.h>
00074 #include <aqbanking/account.h>
00075 #include <aqbanking/transaction.h>
00076 #include <aqbanking/security.h>
00077 #include <aqbanking/message.h>
00078
00079
00080 #ifdef __cplusplus
00081 extern "C" {
00082 #endif
00083
00084
00089
00100 AQBANKING_API
00101 int AB_ImExporter_Import(AB_IMEXPORTER *ie,
00102 AB_IMEXPORTER_CONTEXT *ctx,
00103 GWEN_SYNCIO *sio,
00104 GWEN_DB_NODE *dbProfile);
00105
00115 AQBANKING_API
00116 int AB_ImExporter_Export(AB_IMEXPORTER *ie,
00117 AB_IMEXPORTER_CONTEXT *ctx,
00118 GWEN_SYNCIO *sio,
00119 GWEN_DB_NODE *dbProfile);
00120
00138 AQBANKING_API
00139 int AB_ImExporter_GetEditProfileDialog(AB_IMEXPORTER *ie,
00140 GWEN_DB_NODE *dbProfile,
00141 const char *testFileName,
00142 GWEN_DIALOG **pDlg);
00143
00144
00148 AQBANKING_API
00149 int AB_ImExporter_ImportFile(AB_IMEXPORTER *ie,
00150 AB_IMEXPORTER_CONTEXT *ctx,
00151 const char *fname,
00152 GWEN_DB_NODE *dbProfile);
00153
00154 AQBANKING_API
00155 int AB_ImExporter_ImportBuffer(AB_IMEXPORTER *ie,
00156 AB_IMEXPORTER_CONTEXT *ctx,
00157 GWEN_BUFFER *buf,
00158 GWEN_DB_NODE *dbProfile);
00159
00160 AQBANKING_API
00161 int AB_ImExporter_ExportToBuffer(AB_IMEXPORTER *ie,
00162 AB_IMEXPORTER_CONTEXT *ctx,
00163 GWEN_BUFFER *buf,
00164 GWEN_DB_NODE *dbProfile);
00165
00166 AQBANKING_API
00167 int AB_ImExporter_ExportToFile(AB_IMEXPORTER *ie,
00168 AB_IMEXPORTER_CONTEXT *ctx,
00169 const char *fname,
00170 GWEN_DB_NODE *dbProfile);
00171
00175 AQBANKING_API
00176 int AB_ImExporter_CheckFile(AB_IMEXPORTER *ie,
00177 const char *fname);
00178
00185 AQBANKING_API
00186 AB_BANKING *AB_ImExporter_GetBanking(const AB_IMEXPORTER *ie);
00187
00191 AQBANKING_API
00192 const char *AB_ImExporter_GetName(const AB_IMEXPORTER *ie);
00193
00194
00199 AQBANKING_API
00200 uint32_t AB_ImExporter_GetFlags(const AB_IMEXPORTER *ie);
00201
00202
00204
00205
00206
00216 AQBANKING_API
00217 AB_IMEXPORTER_CONTEXT *AB_ImExporterContext_new(void);
00218
00219 AQBANKING_API
00220 void AB_ImExporterContext_free(AB_IMEXPORTER_CONTEXT *iec);
00221
00226 AQBANKING_API
00227 void AB_ImExporterContext_Clear(AB_IMEXPORTER_CONTEXT *iec);
00228
00232 AQBANKING_API
00233 int AB_ImExporterContext_toDb(const AB_IMEXPORTER_CONTEXT *iec,
00234 GWEN_DB_NODE *db);
00235
00239 AQBANKING_API
00240 AB_IMEXPORTER_CONTEXT *AB_ImExporterContext_fromDb(GWEN_DB_NODE *db);
00241
00242
00243 AQBANKING_API
00244 int AB_ImExporterContext_ReadDb(AB_IMEXPORTER_CONTEXT *iec,
00245 GWEN_DB_NODE *db);
00246
00247
00252 AQBANKING_API
00253 void AB_ImExporterContext_AddContext(AB_IMEXPORTER_CONTEXT *iec,
00254 AB_IMEXPORTER_CONTEXT *toAdd);
00255
00259 AQBANKING_API
00260 void AB_ImExporterContext_AddAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00261 AB_IMEXPORTER_ACCOUNTINFO *iea);
00262
00267 AQBANKING_API
00268 AB_IMEXPORTER_ACCOUNTINFO*
00269 AB_ImExporterContext_GetFirstAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00270
00275 AQBANKING_API
00276 AB_IMEXPORTER_ACCOUNTINFO*
00277 AB_ImExporterContext_GetNextAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00278
00284 typedef AB_IMEXPORTER_ACCOUNTINFO *
00285 (AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH)(AB_IMEXPORTER_ACCOUNTINFO *element,
00286 void *user_data);
00287
00308 AQBANKING_API
00309 AB_IMEXPORTER_ACCOUNTINFO *
00310 AB_ImExporterContext_AccountInfoForEach(AB_IMEXPORTER_CONTEXT *iec,
00311 AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH func,
00312 void* user_data);
00313
00319 AQBANKING_API
00320 AB_IMEXPORTER_ACCOUNTINFO*
00321 AB_ImExporterContext_FindAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00322 const char *bankCode,
00323 const char *accountNumber);
00324
00330 AQBANKING_API
00331 AB_IMEXPORTER_ACCOUNTINFO*
00332 AB_ImExporterContext_GetAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00333 const char *bankCode,
00334 const char *accountNumber);
00335
00336 AQBANKING_API
00337 int AB_ImExporterContext_GetAccountInfoCount(const AB_IMEXPORTER_CONTEXT *iec);
00338
00350 AQBANKING_API
00351 void AB_ImExporterContext_AddTransaction(AB_IMEXPORTER_CONTEXT *iec,
00352 AB_TRANSACTION *t);
00353
00354
00366 AQBANKING_API
00367 void AB_ImExporterContext_AddTransfer(AB_IMEXPORTER_CONTEXT *iec,
00368 AB_TRANSACTION *t);
00369
00370
00371 AQBANKING_API
00372 void AB_ImExporterContext_AddStandingOrder(AB_IMEXPORTER_CONTEXT *iec,
00373 AB_TRANSACTION *t);
00374
00375
00376 AQBANKING_API
00377 void AB_ImExporterContext_AddDatedTransfer(AB_IMEXPORTER_CONTEXT *iec,
00378 AB_TRANSACTION *t);
00379
00380
00381
00387 AQBANKING_API
00388 void AB_ImExporterContext_AddSecurity(AB_IMEXPORTER_CONTEXT *iec,
00389 AB_SECURITY *sec);
00390
00391 AQBANKING_API
00392 AB_SECURITY*
00393 AB_ImExporterContext_GetFirstSecurity(AB_IMEXPORTER_CONTEXT *iec);
00394
00395 AQBANKING_API
00396 AB_SECURITY*
00397 AB_ImExporterContext_GetNextSecurity(AB_IMEXPORTER_CONTEXT *iec);
00398
00399 AQBANKING_API
00400 AB_SECURITY*
00401 AB_ImExporterContext_FindSecurity(AB_IMEXPORTER_CONTEXT *iec,
00402 const char *nameSpace,
00403 const char *id);
00404
00414 AQBANKING_API
00415 void AB_ImExporterContext_AddMessage(AB_IMEXPORTER_CONTEXT *iec,
00416 AB_MESSAGE *msg);
00417
00418 AQBANKING_API
00419 AB_MESSAGE*
00420 AB_ImExporterContext_GetFirstMessage(AB_IMEXPORTER_CONTEXT *iec);
00421
00422 AQBANKING_API
00423 AB_MESSAGE*
00424 AB_ImExporterContext_GetNextMessage(AB_IMEXPORTER_CONTEXT *iec);
00425
00435 AQBANKING_API
00436 void AB_ImExporterContext_AddLog(AB_IMEXPORTER_CONTEXT *iec,
00437 const char *s);
00438
00439 AQBANKING_API
00440 const char *AB_ImExporterContext_GetLog(const AB_IMEXPORTER_CONTEXT *iec);
00441
00442 AQBANKING_API
00443 void AB_ImExporterContext_ClearLog(AB_IMEXPORTER_CONTEXT *iec);
00444
00447
00448
00449
00450
00451
00459
00464 AQBANKING_API
00465 AB_IMEXPORTER_ACCOUNTINFO *AB_ImExporterAccountInfo_new(void);
00466 AQBANKING_API
00467 void AB_ImExporterAccountInfo_free(AB_IMEXPORTER_ACCOUNTINFO *iea);
00468
00469 AQBANKING_API
00470 void AB_ImExporterAccountInfo_FillFromAccount(AB_IMEXPORTER_ACCOUNTINFO *iea,
00471 const AB_ACCOUNT *a);
00472
00479 AQBANKING_API
00480 AB_IMEXPORTER_ACCOUNTINFO*
00481 AB_ImExporterAccountInfo_dup(const AB_IMEXPORTER_ACCOUNTINFO *oldiea);
00492 AQBANKING_API
00493 const char*
00494 AB_ImExporterAccountInfo_GetBankCode(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00495 AQBANKING_API
00496 void AB_ImExporterAccountInfo_SetBankCode(AB_IMEXPORTER_ACCOUNTINFO *iea,
00497 const char *s);
00498
00502 AQBANKING_API
00503 const char*
00504 AB_ImExporterAccountInfo_GetBankName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00505 AQBANKING_API
00506 void AB_ImExporterAccountInfo_SetBankName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00507 const char *s);
00508
00513 AQBANKING_API
00514 const char*
00515 AB_ImExporterAccountInfo_GetAccountNumber(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00516 AQBANKING_API
00517 void AB_ImExporterAccountInfo_SetAccountNumber(AB_IMEXPORTER_ACCOUNTINFO *iea,
00518 const char *s);
00519
00524 AQBANKING_API
00525 const char*
00526 AB_ImExporterAccountInfo_GetAccountName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00527 AQBANKING_API
00528 void AB_ImExporterAccountInfo_SetAccountName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00529 const char *s);
00530
00534 AQBANKING_API
00535 const char*
00536 AB_ImExporterAccountInfo_GetIban(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00537 AQBANKING_API
00538 void AB_ImExporterAccountInfo_SetIban(AB_IMEXPORTER_ACCOUNTINFO *iea,
00539 const char *s);
00540
00541
00545 AQBANKING_API
00546 const char*
00547 AB_ImExporterAccountInfo_GetBic(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00548 AQBANKING_API
00549 void AB_ImExporterAccountInfo_SetBic(AB_IMEXPORTER_ACCOUNTINFO *iea,
00550 const char *s);
00551
00555 AQBANKING_API
00556 const char*
00557 AB_ImExporterAccountInfo_GetCurrency(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00558
00559 AQBANKING_API
00560 void AB_ImExporterAccountInfo_SetCurrency(AB_IMEXPORTER_ACCOUNTINFO *iea,
00561 const char *s);
00562
00563
00568 AQBANKING_API
00569 const char*
00570 AB_ImExporterAccountInfo_GetOwner(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00571 AQBANKING_API
00572 void AB_ImExporterAccountInfo_SetOwner(AB_IMEXPORTER_ACCOUNTINFO *iea,
00573 const char *s);
00574
00575 AQBANKING_API
00576 AB_ACCOUNT_TYPE
00577 AB_ImExporterAccountInfo_GetType(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00578 AQBANKING_API
00579 void AB_ImExporterAccountInfo_SetType(AB_IMEXPORTER_ACCOUNTINFO *iea,
00580 AB_ACCOUNT_TYPE t);
00581
00582 AQBANKING_API
00583 const char*
00584 AB_ImExporterAccountInfo_GetDescription(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00585 AQBANKING_API
00586 void AB_ImExporterAccountInfo_SetDescription(AB_IMEXPORTER_ACCOUNTINFO *iea,
00587 const char *s);
00588
00592 AQBANKING_API
00593 uint32_t AB_ImExporterAccountInfo_GetAccountId(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00594
00595 AQBANKING_API
00596 void AB_ImExporterAccountInfo_SetAccountId(AB_IMEXPORTER_ACCOUNTINFO *iea, uint32_t id);
00597
00609 AQBANKING_API
00610 void AB_ImExporterAccountInfo_AddTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00611 AB_TRANSACTION *t);
00616 AQBANKING_API
00617 AB_TRANSACTION*
00618 AB_ImExporterAccountInfo_GetFirstTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00619
00624 AQBANKING_API
00625 AB_TRANSACTION*
00626 AB_ImExporterAccountInfo_GetNextTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00627
00638 typedef const AB_TRANSACTION *
00639 (AB_TRANSACTION_CONSTLIST2_FOREACH)(const AB_TRANSACTION *element,
00640 void *user_data);
00641
00666 AQBANKING_API
00667 const AB_TRANSACTION*
00668 AB_ImExporterAccountInfo_TransactionsForEach(AB_IMEXPORTER_ACCOUNTINFO *iea,
00669 AB_TRANSACTION_CONSTLIST2_FOREACH func,
00670 void* user_data);
00671
00672 AQBANKING_API
00673 int AB_ImExporterAccountInfo_GetTransactionCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00674
00678 AQBANKING_API
00679 void AB_ImExporterAccountInfo_ClearTransactions(AB_IMEXPORTER_ACCOUNTINFO *iea);
00680
00691 AQBANKING_API
00692 void AB_ImExporterAccountInfo_AddAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea,
00693 AB_ACCOUNT_STATUS *st);
00694
00700 AQBANKING_API
00701 AB_ACCOUNT_STATUS*
00702 AB_ImExporterAccountInfo_GetFirstAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00703
00708 AQBANKING_API
00709 AB_ACCOUNT_STATUS*
00710 AB_ImExporterAccountInfo_GetNextAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00718
00731 AQBANKING_API
00732 void AB_ImExporterAccountInfo_AddStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea,
00733 AB_TRANSACTION *t);
00747 AQBANKING_API
00748 AB_TRANSACTION*
00749 AB_ImExporterAccountInfo_GetFirstStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00750
00764 AQBANKING_API
00765 AB_TRANSACTION*
00766 AB_ImExporterAccountInfo_GetNextStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00767
00768 AQBANKING_API
00769 int AB_ImExporterAccountInfo_GetStandingOrderCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00770
00794 AQBANKING_API
00795 void AB_ImExporterAccountInfo_AddTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00796 AB_TRANSACTION *t);
00812 AQBANKING_API
00813 AB_TRANSACTION*
00814 AB_ImExporterAccountInfo_GetFirstTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00815
00831 AQBANKING_API
00832 AB_TRANSACTION*
00833 AB_ImExporterAccountInfo_GetNextTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00834
00835 AQBANKING_API
00836 int AB_ImExporterAccountInfo_GetTransferCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00837
00858 AQBANKING_API
00859 void AB_ImExporterAccountInfo_AddDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00860 AB_TRANSACTION *t);
00874 AQBANKING_API
00875 AB_TRANSACTION*
00876 AB_ImExporterAccountInfo_GetFirstDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00877
00891 AQBANKING_API
00892 AB_TRANSACTION*
00893 AB_ImExporterAccountInfo_GetNextDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00894
00895 AQBANKING_API
00896 int AB_ImExporterAccountInfo_GetDatedTransferCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00897
00917 AQBANKING_API
00918 void AB_ImExporterAccountInfo_AddNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00919 AB_TRANSACTION *t);
00933 AQBANKING_API
00934 AB_TRANSACTION*
00935 AB_ImExporterAccountInfo_GetFirstNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00936
00950 AQBANKING_API
00951 AB_TRANSACTION*
00952 AB_ImExporterAccountInfo_GetNextNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00953
00954 AQBANKING_API
00955 int AB_ImExporterAccountInfo_GetNotedTransactionCount(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00956
00961
00962
00963
00973 AQBANKING_API
00974 void AB_ImExporter_Utf8ToDta(const char *p, int size, GWEN_BUFFER *buf);
00975
00979 AQBANKING_API
00980 void AB_ImExporter_DtaToUtf8(const char *p, int size, GWEN_BUFFER *buf);
00981
00982 AQBANKING_API
00983 void AB_ImExporter_Iso8859_1ToUtf8(const char *p,
00984 int size,
00985 GWEN_BUFFER *buf);
00986
00987 AQBANKING_DEPRECATED AQBANKING_API
00988 int AH_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00989
00994 AQBANKING_API
00995 int AB_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00996
00997 AQBANKING_API
00998 GWEN_TIME *AB_ImExporter_DateFromString(const char *p,
00999 const char *tmpl,
01000 int inUtc);
01001
01002
01007 #ifdef __cplusplus
01008 }
01009 #endif
01010
01011
01012
01013
01014 #endif
01015
01016