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
00173 AQBANKING_API
00174 void AB_ImExporterContext_AddContext(AB_IMEXPORTER_CONTEXT *iec,
00175 AB_IMEXPORTER_CONTEXT *toAdd);
00176
00180 AQBANKING_API
00181 void AB_ImExporterContext_AddAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00182 AB_IMEXPORTER_ACCOUNTINFO *iea);
00183
00188 AQBANKING_API
00189 AB_IMEXPORTER_ACCOUNTINFO*
00190 AB_ImExporterContext_GetFirstAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00191
00196 AQBANKING_API
00197 AB_IMEXPORTER_ACCOUNTINFO*
00198 AB_ImExporterContext_GetNextAccountInfo(AB_IMEXPORTER_CONTEXT *iec);
00199
00205 typedef AB_IMEXPORTER_ACCOUNTINFO *
00206 (AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH)(AB_IMEXPORTER_ACCOUNTINFO *element,
00207 void *user_data);
00208
00229 AQBANKING_API
00230 AB_IMEXPORTER_ACCOUNTINFO *
00231 AB_ImExporterContext_AccountInfoForEach(AB_IMEXPORTER_CONTEXT *iec,
00232 AB_IMEXPORTER_ACCOUNTINFO_LIST2_FOREACH func,
00233 void* user_data);
00234
00240 AQBANKING_API
00241 AB_IMEXPORTER_ACCOUNTINFO*
00242 AB_ImExporterContext_FindAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00243 const char *bankCode,
00244 const char *accountNumber);
00245
00251 AQBANKING_API
00252 AB_IMEXPORTER_ACCOUNTINFO*
00253 AB_ImExporterContext_GetAccountInfo(AB_IMEXPORTER_CONTEXT *iec,
00254 const char *bankCode,
00255 const char *accountNumber);
00256
00268 AQBANKING_API
00269 void AB_ImExporterContext_AddTransaction(AB_IMEXPORTER_CONTEXT *iec,
00270 AB_TRANSACTION *t);
00272
00273
00274
00275
00283
00288 AQBANKING_API
00289 AB_IMEXPORTER_ACCOUNTINFO *AB_ImExporterAccountInfo_new();
00290 AQBANKING_API
00291 void AB_ImExporterAccountInfo_free(AB_IMEXPORTER_ACCOUNTINFO *iea);
00292
00299 AQBANKING_API
00300 AB_IMEXPORTER_ACCOUNTINFO*
00301 AB_ImExporterAccountInfo_dup(const AB_IMEXPORTER_ACCOUNTINFO *oldiea);
00312 AQBANKING_API
00313 const char*
00314 AB_ImExporterAccountInfo_GetBankCode(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00315 AQBANKING_API
00316 void AB_ImExporterAccountInfo_SetBankCode(AB_IMEXPORTER_ACCOUNTINFO *iea,
00317 const char *s);
00318
00322 AQBANKING_API
00323 const char*
00324 AB_ImExporterAccountInfo_GetBankName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00325 AQBANKING_API
00326 void AB_ImExporterAccountInfo_SetBankName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00327 const char *s);
00328
00333 AQBANKING_API
00334 const char*
00335 AB_ImExporterAccountInfo_GetAccountNumber(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00336 AQBANKING_API
00337 void AB_ImExporterAccountInfo_SetAccountNumber(AB_IMEXPORTER_ACCOUNTINFO *iea,
00338 const char *s);
00339
00344 AQBANKING_API
00345 const char*
00346 AB_ImExporterAccountInfo_GetAccountName(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00347 AQBANKING_API
00348 void AB_ImExporterAccountInfo_SetAccountName(AB_IMEXPORTER_ACCOUNTINFO *iea,
00349 const char *s);
00350
00355 AQBANKING_API
00356 const char*
00357 AB_ImExporterAccountInfo_GetOwner(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00358 AQBANKING_API
00359 void AB_ImExporterAccountInfo_SetOwner(AB_IMEXPORTER_ACCOUNTINFO *iea,
00360 const char *s);
00361
00362 AQBANKING_API
00363 AB_ACCOUNT_TYPE
00364 AB_ImExporterAccountInfo_GetType(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00365 AQBANKING_API
00366 void AB_ImExporterAccountInfo_SetType(AB_IMEXPORTER_ACCOUNTINFO *iea,
00367 AB_ACCOUNT_TYPE t);
00368
00369 AQBANKING_API
00370 const char*
00371 AB_ImExporterAccountInfo_GetDescription(const AB_IMEXPORTER_ACCOUNTINFO *iea);
00372 AQBANKING_API
00373 void AB_ImExporterAccountInfo_SetDescription(AB_IMEXPORTER_ACCOUNTINFO *iea,
00374 const char *s);
00386 AQBANKING_API
00387 void AB_ImExporterAccountInfo_AddTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00388 AB_TRANSACTION *t);
00393 AQBANKING_API
00394 const AB_TRANSACTION*
00395 AB_ImExporterAccountInfo_GetFirstTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00396
00401 AQBANKING_API
00402 const AB_TRANSACTION*
00403 AB_ImExporterAccountInfo_GetNextTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00404
00415 typedef const AB_TRANSACTION *
00416 (AB_TRANSACTION_CONSTLIST2_FOREACH)(const AB_TRANSACTION *element,
00417 void *user_data);
00418
00443 AQBANKING_API
00444 const AB_TRANSACTION *
00445 AB_ImExporterAccountInfo_TransactionsForEach(AB_IMEXPORTER_ACCOUNTINFO *iea,
00446 AB_TRANSACTION_CONSTLIST2_FOREACH func,
00447 void* user_data);
00458 AQBANKING_API
00459 void AB_ImExporterAccountInfo_AddAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea,
00460 AB_ACCOUNT_STATUS *st);
00461
00469 AQBANKING_API
00470 AB_ACCOUNT_STATUS*
00471 AB_ImExporterAccountInfo_GetFirstAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00472
00479 AQBANKING_API
00480 AB_ACCOUNT_STATUS*
00481 AB_ImExporterAccountInfo_GetNextAccountStatus(AB_IMEXPORTER_ACCOUNTINFO *iea);
00489
00502 AQBANKING_API
00503 void AB_ImExporterAccountInfo_AddStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea,
00504 AB_TRANSACTION *t);
00518 AQBANKING_API
00519 const AB_TRANSACTION*
00520 AB_ImExporterAccountInfo_GetFirstStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00521
00535 AQBANKING_API
00536 const AB_TRANSACTION*
00537 AB_ImExporterAccountInfo_GetNextStandingOrder(AB_IMEXPORTER_ACCOUNTINFO *iea);
00561 AQBANKING_API
00562 void AB_ImExporterAccountInfo_AddTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00563 AB_TRANSACTION *t);
00579 AQBANKING_API
00580 const AB_TRANSACTION*
00581 AB_ImExporterAccountInfo_GetFirstTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00582
00598 AQBANKING_API
00599 const AB_TRANSACTION*
00600 AB_ImExporterAccountInfo_GetNextTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00621 AQBANKING_API
00622 void AB_ImExporterAccountInfo_AddDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea,
00623 AB_TRANSACTION *t);
00637 AQBANKING_API
00638 const AB_TRANSACTION*
00639 AB_ImExporterAccountInfo_GetFirstDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00640
00654 AQBANKING_API
00655 const AB_TRANSACTION*
00656 AB_ImExporterAccountInfo_GetNextDatedTransfer(AB_IMEXPORTER_ACCOUNTINFO *iea);
00676 AQBANKING_API
00677 void AB_ImExporterAccountInfo_AddNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea,
00678 AB_TRANSACTION *t);
00692 AQBANKING_API
00693 const AB_TRANSACTION*
00694 AB_ImExporterAccountInfo_GetFirstNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00695
00709 AQBANKING_API
00710 const AB_TRANSACTION*
00711 AB_ImExporterAccountInfo_GetNextNotedTransaction(AB_IMEXPORTER_ACCOUNTINFO *iea);
00716
00717
00718
00728 AQBANKING_API
00729 void AB_ImExporter_Utf8ToDta(const char *p, int size, GWEN_BUFFER *buf);
00730
00734 AQBANKING_API
00735 void AB_ImExporter_DtaToUtf8(const char *p, int size, GWEN_BUFFER *buf);
00736
00737 AQBANKING_API
00738 void AB_ImExporter_Iso8859_1ToUtf8(const char *p,
00739 int size,
00740 GWEN_BUFFER *buf);
00741
00746 AQBANKING_API
00747 int AH_ImExporter_DbFromIso8859_1ToUtf8(GWEN_DB_NODE *db);
00748
00749 AQBANKING_API
00750 GWEN_TIME *AB_ImExporter_DateFromString(const char *p,
00751 const char *tmpl,
00752 int inUtc);
00753
00758 #ifdef __cplusplus
00759 }
00760 #endif
00761
00762
00763
00764
00765 #endif
00766
00767