00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
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
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
00169 AQBANKING_API
00170 int AB_ImExporterContext_ReadDb(AB_IMEXPORTER_CONTEXT *iec,
00171 GWEN_DB_NODE *db);
00172
00173
00178 AQBANKING_API
00179 void AB_ImExporterContext_AddContext(AB_IMEXPORTER_CONTEXT *iec,
00180 AB_IMEXPORTER_CONTEXT *toAdd);
00181
00185 AQBANKING_API
00186 void AB_ImExporterContext_AddAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00187 AB_IMEXPORTER_ACCOUNTINFO *iea);
00188
00193 AQBANKING_API
00194 AB_IMEXPORTER_ACCOUNTINFO*
00195 AB_ImExporterContext_GetFirstAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00196
00201 AQBANKING_API
00202 AB_IMEXPORTER_ACCOUNTINFO*
00203 AB_ImExporterContext_GetNextAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00204
00210 typedef AB_IMEXPORTER_ACCOUNTINFO *
00211 (AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH)(AB_IMEXPORTER_ACCOUNTINFO *element,
00212 void *user_data);
00213
00234 AQBANKING_API
00235 AB_IMEXPORTER_ACCOUNTINFO *
00236 AB_ImExporterContext_AccountInfoForEach(AB_IMEXPORTER_CONTEXT *iec,
00237 AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH func,
00238 void* user_data);
00239
00245 AQBANKING_API
00246 AB_IMEXPORTER_ACCOUNTINFO*
00247 AB_ImExporterContext_FindAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00248 const char *bankCode,
00249 const char *accountNumber);
00250
00256 AQBANKING_API
00257 AB_IMEXPORTER_ACCOUNTINFO*
00258 AB_ImExporterContext_GetAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00259 const char *bankCode,
00260 const char *accountNumber);
00261
00273 AQBANKING_API
00274 void AB_ImExporterContext_AddTransaction(AB_IMEXPORTER_CONTEXT *iec,
00275 AB_TRANSACTION *t);
00277
00278
00279
00280
00288
00293 AQBANKING_API
00294 AB_IMEXPORTER_ACCOUNTINFO *AB_ImExporterAccountInfo_new();
00295 AQBANKING_API
00296 void AB_ImExporterAccountInfo_free(AB_IMEXPORTER_ACCOUNTINFO *iea);
00297
00304 AQBANKING_API
00305 AB_IMEXPORTER_ACCOUNTINFO*
00306 AB_ImExporterAccountInfo_dup(const AB_IMEXPORTER_ACCOUNTINFO *oldiea);
00317 AQBANKING_API
00318 const char*
00319 AB_ImExporterAccountInfo_GetBankCode(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00320 AQBANKING_API
00321 void AB_ImExporterAccountInfo_SetBankCode(AB_IMEXPORTER_ACCOUNTINFO *iea,
00322 const char *s);
00323
00327 AQBANKING_API
00328 const char*
00329 AB_ImExporterAccountInfo_GetBankName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00330 AQBANKING_API
00331 void AB_ImExporterAccountInfo_SetBankName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00332 const char *s);
00333
00338 AQBANKING_API
00339 const char*
00340 AB_ImExporterAccountInfo_GetAccountNumber(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00341 AQBANKING_API
00342 void AB_ImExporterAccountInfo_SetAccountNumber(AB_IMEXPORTER_ACCOUNTINFO *iea,
00343 const char *s);
00344
00349 AQBANKING_API
00350 const char*
00351 AB_ImExporterAccountInfo_GetAccountName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00352 AQBANKING_API
00353 void AB_ImExporterAccountInfo_SetAccountName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00354 const char *s);
00355
00359 AQBANKING_API
00360 const char*
00361 AB_ImExporterAccountInfo_GetIban(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00362 AQBANKING_API
00363 void AB_ImExporterAccountInfo_SetIban(AB_IMEXPORTER_ACCOUNTINFO *iea,
00364 const char *s);
00365
00369 AQBANKING_API
00370 const char*
00371 AB_ImExporterAccountInfo_GetCurrency(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00372
00373 AQBANKING_API
00374 void AB_ImExporterAccountInfo_SetCurrency(AB_IMEXPORTER_ACCOUNTINFO *iea,
00375 const char *s);
00376
00377
00382 AQBANKING_API
00383 const char*
00384 AB_ImExporterAccountInfo_GetOwner(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00385 AQBANKING_API
00386 void AB_ImExporterAccountInfo_SetOwner(AB_IMEXPORTER_ACCOUNTINFO *iea,
00387 const char *s);
00388
00389 AQBANKING_API
00390 AB_ACCOUNT_TYPE
00391 AB_ImExporterAccountInfo_GetType(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00392 AQBANKING_API
00393 void AB_ImExporterAccountInfo_SetType(AB_IMEXPORTER_ACCOUNTINFO *iea,
00394 AB_ACCOUNT_TYPE t);
00395
00396 AQBANKING_API
00397 const char*
00398 AB_ImExporterAccountInfo_GetDescription(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00399 AQBANKING_API
00400 void AB_ImExporterAccountInfo_SetDescription(AB_IMEXPORTER_ACCOUNTINFO *iea,
00401 const char *s);
00413 AQBANKING_API
00414 void AB_ImExporterAccountInfo_AddTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00415 AB_TRANSACTION *t);
00420 AQBANKING_API
00421 const AB_TRANSACTION*
00422 AB_ImExporterAccountInfo_GetFirstTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00423
00428 AQBANKING_API
00429 const AB_TRANSACTION*
00430 AB_ImExporterAccountInfo_GetNextTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00431
00442 typedef const AB_TRANSACTION *
00443 (AB_TRANSACTION_CONSTLIST2_FOREACH)(const AB_TRANSACTION *element,
00444 void *user_data);
00445
00470 AQBANKING_API
00471 const AB_TRANSACTION *
00472 AB_ImExporterAccountInfo_TransactionsForEach(AB_IMEXPORTER_ACCOUNTINFO *iea,
00473 AB_TRANSACTION_CONSTLIST2_FOREACH func,
00474 void* user_data);
00485 AQBANKING_API
00486 void AB_ImExporterAccountInfo_AddAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea,
00487 AB_ACCOUNT_STATUS *st);
00488
00496 AQBANKING_API
00497 AB_ACCOUNT_STATUS*
00498 AB_ImExporterAccountInfo_GetFirstAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00499
00506 AQBANKING_API
00507 AB_ACCOUNT_STATUS*
00508 AB_ImExporterAccountInfo_GetNextAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00516
00529 AQBANKING_API
00530 void AB_ImExporterAccountInfo_AddStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea,
00531 AB_TRANSACTION *t);
00545 AQBANKING_API
00546 const AB_TRANSACTION*
00547 AB_ImExporterAccountInfo_GetFirstStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00548
00562 AQBANKING_API
00563 const AB_TRANSACTION*
00564 AB_ImExporterAccountInfo_GetNextStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00588 AQBANKING_API
00589 void AB_ImExporterAccountInfo_AddTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00590 AB_TRANSACTION *t);
00606 AQBANKING_API
00607 const AB_TRANSACTION*
00608 AB_ImExporterAccountInfo_GetFirstTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00609
00625 AQBANKING_API
00626 const AB_TRANSACTION*
00627 AB_ImExporterAccountInfo_GetNextTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00648 AQBANKING_API
00649 void AB_ImExporterAccountInfo_AddDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00650 AB_TRANSACTION *t);
00664 AQBANKING_API
00665 const AB_TRANSACTION*
00666 AB_ImExporterAccountInfo_GetFirstDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00667
00681 AQBANKING_API
00682 const AB_TRANSACTION*
00683 AB_ImExporterAccountInfo_GetNextDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00703 AQBANKING_API
00704 void AB_ImExporterAccountInfo_AddNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00705 AB_TRANSACTION *t);
00719 AQBANKING_API
00720 const AB_TRANSACTION*
00721 AB_ImExporterAccountInfo_GetFirstNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00722
00736 AQBANKING_API
00737 const AB_TRANSACTION*
00738 AB_ImExporterAccountInfo_GetNextNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00743
00744
00745
00755 AQBANKING_API
00756 void AB_ImExporter_Utf8ToDta(const char *p, int size, GWEN_BUFFER *buf);
00757
00761 AQBANKING_API
00762 void AB_ImExporter_DtaToUtf8(const char *p, int size, GWEN_BUFFER *buf);
00763
00764 AQBANKING_API
00765 void AB_ImExporter_Iso8859_1ToUtf8(const char *p,
00766 int size,
00767 GWEN_BUFFER *buf);
00768
00769 AQBANKING_DEPRECATED AQBANKING_API
00770 int AH_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00771
00776 AQBANKING_API
00777 int AB_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00778
00779 AQBANKING_API
00780 GWEN_TIME *AB_ImExporter_DateFromString(const char *p,
00781 const char *tmpl,
00782 int inUtc);
00783
00788 #ifdef __cplusplus
00789 }
00790 #endif
00791
00792
00793
00794
00795 #endif
00796
00797