00001
00002
00003
00004 #ifndef TRANSACTION_H
00005 #define TRANSACTION_H
00006
00732 #ifdef __cplusplus
00733 extern "C" {
00734 #endif
00735
00736 typedef struct AB_TRANSACTION AB_TRANSACTION;
00737
00738 #ifdef __cplusplus
00739 }
00740 #endif
00741
00742 #include <gwenhywfar/db.h>
00743 #include <gwenhywfar/inherit.h>
00744 #include <gwenhywfar/list2.h>
00745
00746 #include <gwenhywfar/types.h>
00747 #include <gwenhywfar/gwentime.h>
00748 #include <gwenhywfar/stringlist.h>
00749 #include <aqbanking/value.h>
00750 #include <aqbanking/transactionlimits.h>
00751 #include <aqbanking/transactionfns.h>
00752
00753 #ifdef __cplusplus
00754 extern "C" {
00755 #endif
00756
00757 typedef enum {
00758 AB_Transaction_PeriodUnknown=-1,
00761 AB_Transaction_PeriodNone=0,
00764 AB_Transaction_PeriodMonthly,
00767 AB_Transaction_PeriodWeekly
00768 } AB_TRANSACTION_PERIOD;
00769
00770 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_Period_fromString(const char *s);
00771 AQBANKING_API const char *AB_Transaction_Period_toString(AB_TRANSACTION_PERIOD v);
00772
00773 typedef enum {
00774 AB_Transaction_TypeUnknown=-1,
00777 AB_Transaction_TypeTransaction=0,
00780 AB_Transaction_TypeTransfer,
00783 AB_Transaction_TypeDebitNote,
00786 AB_Transaction_TypeEuTransfer
00787 } AB_TRANSACTION_TYPE;
00788
00789 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_Type_fromString(const char *s);
00790 AQBANKING_API const char *AB_Transaction_Type_toString(AB_TRANSACTION_TYPE v);
00791
00792 typedef enum {
00793 AB_Transaction_SubTypeUnknown=-1,
00796 AB_Transaction_SubTypeNone=0,
00799 AB_Transaction_SubTypeStandard,
00802 AB_Transaction_SubTypeCheck,
00805 AB_Transaction_SubTypeBookedDebitNote,
00808 AB_Transaction_SubTypeDrawnDebitNote,
00811 AB_Transaction_SubTypeStandingOrder,
00814 AB_Transaction_SubTypeLoan,
00817 AB_Transaction_SubTypeEuStandard,
00820 AB_Transaction_SubTypeEuASAP,
00823 AB_Transaction_SubTypeBuy,
00826 AB_Transaction_SubTypeSell,
00829 AB_Transaction_SubTypeReinvest,
00832 AB_Transaction_SubTypeDividend
00833 } AB_TRANSACTION_SUBTYPE;
00834
00835 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_SubType_fromString(const char *s);
00836 AQBANKING_API const char *AB_Transaction_SubType_toString(AB_TRANSACTION_SUBTYPE v);
00837
00838 typedef enum {
00839 AB_Transaction_StatusUnknown=-1,
00842 AB_Transaction_StatusNone=0,
00845 AB_Transaction_StatusAccepted,
00848 AB_Transaction_StatusRejected,
00851 AB_Transaction_StatusPending
00852 } AB_TRANSACTION_STATUS;
00853
00854 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_Status_fromString(const char *s);
00855 AQBANKING_API const char *AB_Transaction_Status_toString(AB_TRANSACTION_STATUS v);
00856
00857 typedef enum {
00858 AB_Transaction_ChargeUnknown=-1,
00861 AB_Transaction_ChargeNobody=0,
00864 AB_Transaction_ChargeLocal,
00867 AB_Transaction_ChargeRemote,
00870 AB_Transaction_ChargeShare
00871 } AB_TRANSACTION_CHARGE;
00872
00873 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_Charge_fromString(const char *s);
00874 AQBANKING_API const char *AB_Transaction_Charge_toString(AB_TRANSACTION_CHARGE v);
00875
00876
00877 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_TRANSACTION, AQBANKING_API)
00878 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_TRANSACTION, AB_Transaction, AQBANKING_API)
00879
00882 AQBANKING_API void AB_Transaction_List2_freeAll(AB_TRANSACTION_LIST2 *stl);
00883
00886 AQBANKING_API AB_TRANSACTION *AB_Transaction_new();
00889 AQBANKING_API AB_TRANSACTION *AB_Transaction_fromDb(GWEN_DB_NODE *db);
00892 AQBANKING_API AB_TRANSACTION *AB_Transaction_dup(const AB_TRANSACTION*st);
00895 AQBANKING_API void AB_Transaction_free(AB_TRANSACTION *st);
00898 AQBANKING_API void AB_Transaction_Attach(AB_TRANSACTION *st);
00901 AQBANKING_API int AB_Transaction_ReadDb(AB_TRANSACTION *st, GWEN_DB_NODE *db);
00904 AQBANKING_API int AB_Transaction_toDb(const AB_TRANSACTION*st, GWEN_DB_NODE *db);
00907 AQBANKING_API int AB_Transaction_IsModified(const AB_TRANSACTION *st);
00910 AQBANKING_API void AB_Transaction_SetModified(AB_TRANSACTION *st, int i);
00911
00912
00913
00919
00923 AQBANKING_API const char *AB_Transaction_GetLocalCountry(const AB_TRANSACTION *el);
00927 AQBANKING_API void AB_Transaction_SetLocalCountry(AB_TRANSACTION *el, const char *d);
00928
00932 AQBANKING_API const char *AB_Transaction_GetLocalBankCode(const AB_TRANSACTION *el);
00936 AQBANKING_API void AB_Transaction_SetLocalBankCode(AB_TRANSACTION *el, const char *d);
00937
00941 AQBANKING_API const char *AB_Transaction_GetLocalBranchId(const AB_TRANSACTION *el);
00945 AQBANKING_API void AB_Transaction_SetLocalBranchId(AB_TRANSACTION *el, const char *d);
00946
00950 AQBANKING_API const char *AB_Transaction_GetLocalAccountNumber(const AB_TRANSACTION *el);
00954 AQBANKING_API void AB_Transaction_SetLocalAccountNumber(AB_TRANSACTION *el, const char *d);
00955
00959 AQBANKING_API const char *AB_Transaction_GetLocalSuffix(const AB_TRANSACTION *el);
00963 AQBANKING_API void AB_Transaction_SetLocalSuffix(AB_TRANSACTION *el, const char *d);
00964
00968 AQBANKING_API const char *AB_Transaction_GetLocalIban(const AB_TRANSACTION *el);
00972 AQBANKING_API void AB_Transaction_SetLocalIban(AB_TRANSACTION *el, const char *d);
00973
00977 AQBANKING_API const char *AB_Transaction_GetLocalName(const AB_TRANSACTION *el);
00981 AQBANKING_API void AB_Transaction_SetLocalName(AB_TRANSACTION *el, const char *d);
00982
00986 AQBANKING_API const char *AB_Transaction_GetLocalBic(const AB_TRANSACTION *el);
00990 AQBANKING_API void AB_Transaction_SetLocalBic(AB_TRANSACTION *el, const char *d);
00991
00999
01003 AQBANKING_API const char *AB_Transaction_GetRemoteCountry(const AB_TRANSACTION *el);
01007 AQBANKING_API void AB_Transaction_SetRemoteCountry(AB_TRANSACTION *el, const char *d);
01008
01012 AQBANKING_API const char *AB_Transaction_GetRemoteBankName(const AB_TRANSACTION *el);
01016 AQBANKING_API void AB_Transaction_SetRemoteBankName(AB_TRANSACTION *el, const char *d);
01017
01021 AQBANKING_API const char *AB_Transaction_GetRemoteBankLocation(const AB_TRANSACTION *el);
01025 AQBANKING_API void AB_Transaction_SetRemoteBankLocation(AB_TRANSACTION *el, const char *d);
01026
01030 AQBANKING_API const char *AB_Transaction_GetRemoteBankCode(const AB_TRANSACTION *el);
01034 AQBANKING_API void AB_Transaction_SetRemoteBankCode(AB_TRANSACTION *el, const char *d);
01035
01039 AQBANKING_API const char *AB_Transaction_GetRemoteBranchId(const AB_TRANSACTION *el);
01043 AQBANKING_API void AB_Transaction_SetRemoteBranchId(AB_TRANSACTION *el, const char *d);
01044
01048 AQBANKING_API const char *AB_Transaction_GetRemoteAccountNumber(const AB_TRANSACTION *el);
01052 AQBANKING_API void AB_Transaction_SetRemoteAccountNumber(AB_TRANSACTION *el, const char *d);
01053
01057 AQBANKING_API const char *AB_Transaction_GetRemoteSuffix(const AB_TRANSACTION *el);
01061 AQBANKING_API void AB_Transaction_SetRemoteSuffix(AB_TRANSACTION *el, const char *d);
01062
01066 AQBANKING_API const char *AB_Transaction_GetRemoteIban(const AB_TRANSACTION *el);
01070 AQBANKING_API void AB_Transaction_SetRemoteIban(AB_TRANSACTION *el, const char *d);
01071
01075 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetRemoteName(const AB_TRANSACTION *el);
01079 AQBANKING_API void AB_Transaction_SetRemoteName(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01080 AQBANKING_API void AB_Transaction_AddRemoteName(AB_TRANSACTION *st, const char *d, int chk);
01081 AQBANKING_API void AB_Transaction_RemoveRemoteName(AB_TRANSACTION *st, const char *d);
01082 AQBANKING_API void AB_Transaction_ClearRemoteName(AB_TRANSACTION *st);
01083 AQBANKING_API int AB_Transaction_HasRemoteName(const AB_TRANSACTION *st, const char *d);
01084
01088 AQBANKING_API const char *AB_Transaction_GetRemoteBic(const AB_TRANSACTION *el);
01092 AQBANKING_API void AB_Transaction_SetRemoteBic(AB_TRANSACTION *el, const char *d);
01093
01099 AQBANKING_API uint32_t AB_Transaction_GetUniqueId(const AB_TRANSACTION *el);
01103 AQBANKING_API void AB_Transaction_SetUniqueId(AB_TRANSACTION *el, uint32_t d);
01104
01111 AQBANKING_API const GWEN_TIME *AB_Transaction_GetValutaDate(const AB_TRANSACTION *el);
01115 AQBANKING_API void AB_Transaction_SetValutaDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01116
01120 AQBANKING_API const GWEN_TIME *AB_Transaction_GetDate(const AB_TRANSACTION *el);
01124 AQBANKING_API void AB_Transaction_SetDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01125
01132
01136 AQBANKING_API const AB_VALUE *AB_Transaction_GetValue(const AB_TRANSACTION *el);
01140 AQBANKING_API void AB_Transaction_SetValue(AB_TRANSACTION *el, const AB_VALUE *d);
01141
01147 AQBANKING_API const AB_VALUE *AB_Transaction_GetFees(const AB_TRANSACTION *el);
01151 AQBANKING_API void AB_Transaction_SetFees(AB_TRANSACTION *el, const AB_VALUE *d);
01152
01168
01172 AQBANKING_API int AB_Transaction_GetTextKey(const AB_TRANSACTION *el);
01176 AQBANKING_API void AB_Transaction_SetTextKey(AB_TRANSACTION *el, int d);
01177
01181 AQBANKING_API const char *AB_Transaction_GetTransactionKey(const AB_TRANSACTION *el);
01185 AQBANKING_API void AB_Transaction_SetTransactionKey(AB_TRANSACTION *el, const char *d);
01186
01190 AQBANKING_API const char *AB_Transaction_GetCustomerReference(const AB_TRANSACTION *el);
01194 AQBANKING_API void AB_Transaction_SetCustomerReference(AB_TRANSACTION *el, const char *d);
01195
01199 AQBANKING_API const char *AB_Transaction_GetBankReference(const AB_TRANSACTION *el);
01203 AQBANKING_API void AB_Transaction_SetBankReference(AB_TRANSACTION *el, const char *d);
01204
01208 AQBANKING_API int AB_Transaction_GetTransactionCode(const AB_TRANSACTION *el);
01212 AQBANKING_API void AB_Transaction_SetTransactionCode(AB_TRANSACTION *el, int d);
01213
01217 AQBANKING_API const char *AB_Transaction_GetTransactionText(const AB_TRANSACTION *el);
01221 AQBANKING_API void AB_Transaction_SetTransactionText(AB_TRANSACTION *el, const char *d);
01222
01226 AQBANKING_API const char *AB_Transaction_GetPrimanota(const AB_TRANSACTION *el);
01230 AQBANKING_API void AB_Transaction_SetPrimanota(AB_TRANSACTION *el, const char *d);
01231
01235 AQBANKING_API const char *AB_Transaction_GetFiId(const AB_TRANSACTION *el);
01239 AQBANKING_API void AB_Transaction_SetFiId(AB_TRANSACTION *el, const char *d);
01240
01244 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetPurpose(const AB_TRANSACTION *el);
01248 AQBANKING_API void AB_Transaction_SetPurpose(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01249 AQBANKING_API void AB_Transaction_AddPurpose(AB_TRANSACTION *st, const char *d, int chk);
01250 AQBANKING_API void AB_Transaction_RemovePurpose(AB_TRANSACTION *st, const char *d);
01251 AQBANKING_API void AB_Transaction_ClearPurpose(AB_TRANSACTION *st);
01252 AQBANKING_API int AB_Transaction_HasPurpose(const AB_TRANSACTION *st, const char *d);
01253
01257 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetCategory(const AB_TRANSACTION *el);
01261 AQBANKING_API void AB_Transaction_SetCategory(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01262 AQBANKING_API void AB_Transaction_AddCategory(AB_TRANSACTION *st, const char *d, int chk);
01263 AQBANKING_API void AB_Transaction_RemoveCategory(AB_TRANSACTION *st, const char *d);
01264 AQBANKING_API void AB_Transaction_ClearCategory(AB_TRANSACTION *st);
01265 AQBANKING_API int AB_Transaction_HasCategory(const AB_TRANSACTION *st, const char *d);
01266
01276
01280 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_GetPeriod(const AB_TRANSACTION *el);
01284 AQBANKING_API void AB_Transaction_SetPeriod(AB_TRANSACTION *el, AB_TRANSACTION_PERIOD d);
01285
01289 AQBANKING_API int AB_Transaction_GetCycle(const AB_TRANSACTION *el);
01293 AQBANKING_API void AB_Transaction_SetCycle(AB_TRANSACTION *el, int d);
01294
01298 AQBANKING_API int AB_Transaction_GetExecutionDay(const AB_TRANSACTION *el);
01302 AQBANKING_API void AB_Transaction_SetExecutionDay(AB_TRANSACTION *el, int d);
01303
01307 AQBANKING_API const GWEN_TIME *AB_Transaction_GetFirstExecutionDate(const AB_TRANSACTION *el);
01311 AQBANKING_API void AB_Transaction_SetFirstExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01312
01316 AQBANKING_API const GWEN_TIME *AB_Transaction_GetLastExecutionDate(const AB_TRANSACTION *el);
01320 AQBANKING_API void AB_Transaction_SetLastExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01321
01325 AQBANKING_API const GWEN_TIME *AB_Transaction_GetNextExecutionDate(const AB_TRANSACTION *el);
01329 AQBANKING_API void AB_Transaction_SetNextExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01330
01340
01344 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_GetType(const AB_TRANSACTION *el);
01348 AQBANKING_API void AB_Transaction_SetType(AB_TRANSACTION *el, AB_TRANSACTION_TYPE d);
01349
01353 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_GetSubType(const AB_TRANSACTION *el);
01357 AQBANKING_API void AB_Transaction_SetSubType(AB_TRANSACTION *el, AB_TRANSACTION_SUBTYPE d);
01358
01362 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_GetStatus(const AB_TRANSACTION *el);
01366 AQBANKING_API void AB_Transaction_SetStatus(AB_TRANSACTION *el, AB_TRANSACTION_STATUS d);
01367
01371 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_GetCharge(const AB_TRANSACTION *el);
01375 AQBANKING_API void AB_Transaction_SetCharge(AB_TRANSACTION *el, AB_TRANSACTION_CHARGE d);
01376
01386
01390 AQBANKING_API const char *AB_Transaction_GetRemoteAddrStreet(const AB_TRANSACTION *el);
01394 AQBANKING_API void AB_Transaction_SetRemoteAddrStreet(AB_TRANSACTION *el, const char *d);
01395
01399 AQBANKING_API const char *AB_Transaction_GetRemoteAddrZipcode(const AB_TRANSACTION *el);
01403 AQBANKING_API void AB_Transaction_SetRemoteAddrZipcode(AB_TRANSACTION *el, const char *d);
01404
01408 AQBANKING_API const char *AB_Transaction_GetRemoteAddrCity(const AB_TRANSACTION *el);
01412 AQBANKING_API void AB_Transaction_SetRemoteAddrCity(AB_TRANSACTION *el, const char *d);
01413
01417 AQBANKING_API const char *AB_Transaction_GetRemotePhone(const AB_TRANSACTION *el);
01421 AQBANKING_API void AB_Transaction_SetRemotePhone(AB_TRANSACTION *el, const char *d);
01422
01432
01436 AQBANKING_API const char *AB_Transaction_GetUnitId(const AB_TRANSACTION *el);
01440 AQBANKING_API void AB_Transaction_SetUnitId(AB_TRANSACTION *el, const char *d);
01441
01445 AQBANKING_API const char *AB_Transaction_GetUnitIdNameSpace(const AB_TRANSACTION *el);
01449 AQBANKING_API void AB_Transaction_SetUnitIdNameSpace(AB_TRANSACTION *el, const char *d);
01450
01454 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnits(const AB_TRANSACTION *el);
01458 AQBANKING_API void AB_Transaction_SetUnits(AB_TRANSACTION *el, const AB_VALUE *d);
01459
01463 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnitPrice(const AB_TRANSACTION *el);
01467 AQBANKING_API void AB_Transaction_SetUnitPrice(AB_TRANSACTION *el, const AB_VALUE *d);
01468
01472 AQBANKING_API const AB_VALUE *AB_Transaction_GetCommission(const AB_TRANSACTION *el);
01476 AQBANKING_API void AB_Transaction_SetCommission(AB_TRANSACTION *el, const AB_VALUE *d);
01477
01481 #ifdef __cplusplus
01482 }
01483 #endif
01484
01485
01486 #endif