00001
00002
00003
00004 #ifndef TRANSACTION_H
00005 #define TRANSACTION_H
00006
00808 #ifdef __cplusplus
00809 extern "C" {
00810 #endif
00811
00812 typedef struct AB_TRANSACTION AB_TRANSACTION;
00813
00814 #ifdef __cplusplus
00815 }
00816 #endif
00817
00818 #include <gwenhywfar/db.h>
00819 #include <gwenhywfar/inherit.h>
00820 #include <gwenhywfar/list2.h>
00821
00822 #include <gwenhywfar/types.h>
00823 #include <gwenhywfar/gwentime.h>
00824 #include <gwenhywfar/stringlist.h>
00825 #include <aqbanking/value.h>
00826 #include <aqbanking/transactionlimits.h>
00827 #include <aqbanking/transactionfns.h>
00828
00829 #ifdef __cplusplus
00830 extern "C" {
00831 #endif
00832
00833 typedef enum {
00834 AB_Transaction_PeriodUnknown=-1,
00837 AB_Transaction_PeriodNone=0,
00840 AB_Transaction_PeriodMonthly,
00843 AB_Transaction_PeriodWeekly
00844 } AB_TRANSACTION_PERIOD;
00845
00846 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_Period_fromString(const char *s);
00847 AQBANKING_API const char *AB_Transaction_Period_toString(AB_TRANSACTION_PERIOD v);
00848
00849 typedef enum {
00850 AB_Transaction_TypeUnknown=-1,
00853 AB_Transaction_TypeTransaction=0,
00856 AB_Transaction_TypeTransfer,
00859 AB_Transaction_TypeDebitNote,
00862 AB_Transaction_TypeEuTransfer
00863 } AB_TRANSACTION_TYPE;
00864
00865 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_Type_fromString(const char *s);
00866 AQBANKING_API const char *AB_Transaction_Type_toString(AB_TRANSACTION_TYPE v);
00867
00868 typedef enum {
00869 AB_Transaction_SubTypeUnknown=-1,
00872 AB_Transaction_SubTypeNone=0,
00875 AB_Transaction_SubTypeStandard,
00878 AB_Transaction_SubTypeCheck,
00881 AB_Transaction_SubTypeBookedDebitNote,
00884 AB_Transaction_SubTypeDrawnDebitNote,
00887 AB_Transaction_SubTypeStandingOrder,
00890 AB_Transaction_SubTypeLoan,
00893 AB_Transaction_SubTypeEuStandard,
00896 AB_Transaction_SubTypeEuASAP,
00899 AB_Transaction_SubTypeBuy,
00902 AB_Transaction_SubTypeSell,
00905 AB_Transaction_SubTypeReinvest,
00908 AB_Transaction_SubTypeDividend
00909 } AB_TRANSACTION_SUBTYPE;
00910
00911 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_SubType_fromString(const char *s);
00912 AQBANKING_API const char *AB_Transaction_SubType_toString(AB_TRANSACTION_SUBTYPE v);
00913
00914 typedef enum {
00915 AB_Transaction_StatusUnknown=-1,
00918 AB_Transaction_StatusNone=0,
00921 AB_Transaction_StatusAccepted,
00924 AB_Transaction_StatusRejected,
00927 AB_Transaction_StatusPending,
00930 AB_Transaction_StatusSending,
00933 AB_Transaction_StatusAutoReconciled,
00936 AB_Transaction_StatusManuallyReconciled,
00939 AB_Transaction_StatusRevoked,
00942 AB_Transaction_StatusAborted
00943 } AB_TRANSACTION_STATUS;
00944
00945 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_Status_fromString(const char *s);
00946 AQBANKING_API const char *AB_Transaction_Status_toString(AB_TRANSACTION_STATUS v);
00947
00948 typedef enum {
00949 AB_Transaction_ChargeUnknown=-1,
00952 AB_Transaction_ChargeNobody=0,
00955 AB_Transaction_ChargeLocal,
00958 AB_Transaction_ChargeRemote,
00961 AB_Transaction_ChargeShare
00962 } AB_TRANSACTION_CHARGE;
00963
00964 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_Charge_fromString(const char *s);
00965 AQBANKING_API const char *AB_Transaction_Charge_toString(AB_TRANSACTION_CHARGE v);
00966
00967
00968 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_TRANSACTION, AQBANKING_API)
00969 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_TRANSACTION, AB_Transaction, AQBANKING_API)
00970
00973 AQBANKING_API void AB_Transaction_List2_freeAll(AB_TRANSACTION_LIST2 *stl);
00974
00977 AQBANKING_API AB_TRANSACTION *AB_Transaction_new();
00980 AQBANKING_API AB_TRANSACTION *AB_Transaction_fromDb(GWEN_DB_NODE *db);
00983 AQBANKING_API AB_TRANSACTION *AB_Transaction_dup(const AB_TRANSACTION*st);
00986 AQBANKING_API void AB_Transaction_free(AB_TRANSACTION *st);
00989 AQBANKING_API void AB_Transaction_Attach(AB_TRANSACTION *st);
00992 AQBANKING_API int AB_Transaction_ReadDb(AB_TRANSACTION *st, GWEN_DB_NODE *db);
00995 AQBANKING_API int AB_Transaction_toDb(const AB_TRANSACTION*st, GWEN_DB_NODE *db);
00998 AQBANKING_API int AB_Transaction_IsModified(const AB_TRANSACTION *st);
01001 AQBANKING_API void AB_Transaction_SetModified(AB_TRANSACTION *st, int i);
01002
01003
01004
01010
01014 AQBANKING_API const char *AB_Transaction_GetLocalCountry(const AB_TRANSACTION *el);
01018 AQBANKING_API void AB_Transaction_SetLocalCountry(AB_TRANSACTION *el, const char *d);
01019
01023 AQBANKING_API const char *AB_Transaction_GetLocalBankCode(const AB_TRANSACTION *el);
01027 AQBANKING_API void AB_Transaction_SetLocalBankCode(AB_TRANSACTION *el, const char *d);
01028
01032 AQBANKING_API const char *AB_Transaction_GetLocalBranchId(const AB_TRANSACTION *el);
01036 AQBANKING_API void AB_Transaction_SetLocalBranchId(AB_TRANSACTION *el, const char *d);
01037
01041 AQBANKING_API const char *AB_Transaction_GetLocalAccountNumber(const AB_TRANSACTION *el);
01045 AQBANKING_API void AB_Transaction_SetLocalAccountNumber(AB_TRANSACTION *el, const char *d);
01046
01050 AQBANKING_API const char *AB_Transaction_GetLocalSuffix(const AB_TRANSACTION *el);
01054 AQBANKING_API void AB_Transaction_SetLocalSuffix(AB_TRANSACTION *el, const char *d);
01055
01059 AQBANKING_API const char *AB_Transaction_GetLocalIban(const AB_TRANSACTION *el);
01063 AQBANKING_API void AB_Transaction_SetLocalIban(AB_TRANSACTION *el, const char *d);
01064
01068 AQBANKING_API const char *AB_Transaction_GetLocalName(const AB_TRANSACTION *el);
01072 AQBANKING_API void AB_Transaction_SetLocalName(AB_TRANSACTION *el, const char *d);
01073
01077 AQBANKING_API const char *AB_Transaction_GetLocalBic(const AB_TRANSACTION *el);
01081 AQBANKING_API void AB_Transaction_SetLocalBic(AB_TRANSACTION *el, const char *d);
01082
01090
01094 AQBANKING_API const char *AB_Transaction_GetRemoteCountry(const AB_TRANSACTION *el);
01098 AQBANKING_API void AB_Transaction_SetRemoteCountry(AB_TRANSACTION *el, const char *d);
01099
01103 AQBANKING_API const char *AB_Transaction_GetRemoteBankName(const AB_TRANSACTION *el);
01107 AQBANKING_API void AB_Transaction_SetRemoteBankName(AB_TRANSACTION *el, const char *d);
01108
01112 AQBANKING_API const char *AB_Transaction_GetRemoteBankLocation(const AB_TRANSACTION *el);
01116 AQBANKING_API void AB_Transaction_SetRemoteBankLocation(AB_TRANSACTION *el, const char *d);
01117
01121 AQBANKING_API const char *AB_Transaction_GetRemoteBankCode(const AB_TRANSACTION *el);
01125 AQBANKING_API void AB_Transaction_SetRemoteBankCode(AB_TRANSACTION *el, const char *d);
01126
01130 AQBANKING_API const char *AB_Transaction_GetRemoteBranchId(const AB_TRANSACTION *el);
01134 AQBANKING_API void AB_Transaction_SetRemoteBranchId(AB_TRANSACTION *el, const char *d);
01135
01139 AQBANKING_API const char *AB_Transaction_GetRemoteAccountNumber(const AB_TRANSACTION *el);
01143 AQBANKING_API void AB_Transaction_SetRemoteAccountNumber(AB_TRANSACTION *el, const char *d);
01144
01148 AQBANKING_API const char *AB_Transaction_GetRemoteSuffix(const AB_TRANSACTION *el);
01152 AQBANKING_API void AB_Transaction_SetRemoteSuffix(AB_TRANSACTION *el, const char *d);
01153
01157 AQBANKING_API const char *AB_Transaction_GetRemoteIban(const AB_TRANSACTION *el);
01161 AQBANKING_API void AB_Transaction_SetRemoteIban(AB_TRANSACTION *el, const char *d);
01162
01166 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetRemoteName(const AB_TRANSACTION *el);
01170 AQBANKING_API void AB_Transaction_SetRemoteName(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01171 AQBANKING_API void AB_Transaction_AddRemoteName(AB_TRANSACTION *st, const char *d, int chk);
01172 AQBANKING_API void AB_Transaction_RemoveRemoteName(AB_TRANSACTION *st, const char *d);
01173 AQBANKING_API void AB_Transaction_ClearRemoteName(AB_TRANSACTION *st);
01174 AQBANKING_API int AB_Transaction_HasRemoteName(const AB_TRANSACTION *st, const char *d);
01175
01179 AQBANKING_API const char *AB_Transaction_GetRemoteBic(const AB_TRANSACTION *el);
01183 AQBANKING_API void AB_Transaction_SetRemoteBic(AB_TRANSACTION *el, const char *d);
01184
01190 AQBANKING_API uint32_t AB_Transaction_GetUniqueId(const AB_TRANSACTION *el);
01194 AQBANKING_API void AB_Transaction_SetUniqueId(AB_TRANSACTION *el, uint32_t d);
01195
01199 AQBANKING_API uint32_t AB_Transaction_GetIdForApplication(const AB_TRANSACTION *el);
01203 AQBANKING_API void AB_Transaction_SetIdForApplication(AB_TRANSACTION *el, uint32_t d);
01204
01208 AQBANKING_API uint32_t AB_Transaction_GetGroupId(const AB_TRANSACTION *el);
01212 AQBANKING_API void AB_Transaction_SetGroupId(AB_TRANSACTION *el, uint32_t d);
01213
01220 AQBANKING_API const GWEN_TIME *AB_Transaction_GetValutaDate(const AB_TRANSACTION *el);
01224 AQBANKING_API void AB_Transaction_SetValutaDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01225
01229 AQBANKING_API const GWEN_TIME *AB_Transaction_GetDate(const AB_TRANSACTION *el);
01233 AQBANKING_API void AB_Transaction_SetDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01234
01241
01245 AQBANKING_API const AB_VALUE *AB_Transaction_GetValue(const AB_TRANSACTION *el);
01249 AQBANKING_API void AB_Transaction_SetValue(AB_TRANSACTION *el, const AB_VALUE *d);
01250
01256 AQBANKING_API const AB_VALUE *AB_Transaction_GetFees(const AB_TRANSACTION *el);
01260 AQBANKING_API void AB_Transaction_SetFees(AB_TRANSACTION *el, const AB_VALUE *d);
01261
01277
01281 AQBANKING_API int AB_Transaction_GetTextKey(const AB_TRANSACTION *el);
01285 AQBANKING_API void AB_Transaction_SetTextKey(AB_TRANSACTION *el, int d);
01286
01290 AQBANKING_API int AB_Transaction_GetTextKeyExt(const AB_TRANSACTION *el);
01294 AQBANKING_API void AB_Transaction_SetTextKeyExt(AB_TRANSACTION *el, int d);
01295
01299 AQBANKING_API const char *AB_Transaction_GetTransactionKey(const AB_TRANSACTION *el);
01303 AQBANKING_API void AB_Transaction_SetTransactionKey(AB_TRANSACTION *el, const char *d);
01304
01308 AQBANKING_API const char *AB_Transaction_GetCustomerReference(const AB_TRANSACTION *el);
01312 AQBANKING_API void AB_Transaction_SetCustomerReference(AB_TRANSACTION *el, const char *d);
01313
01317 AQBANKING_API const char *AB_Transaction_GetBankReference(const AB_TRANSACTION *el);
01321 AQBANKING_API void AB_Transaction_SetBankReference(AB_TRANSACTION *el, const char *d);
01322
01326 AQBANKING_API const char *AB_Transaction_GetEndToEndReference(const AB_TRANSACTION *el);
01330 AQBANKING_API void AB_Transaction_SetEndToEndReference(AB_TRANSACTION *el, const char *d);
01331
01335 AQBANKING_API const char *AB_Transaction_GetMandateReference(const AB_TRANSACTION *el);
01339 AQBANKING_API void AB_Transaction_SetMandateReference(AB_TRANSACTION *el, const char *d);
01340
01344 AQBANKING_API const char *AB_Transaction_GetCreditorIdentifier(const AB_TRANSACTION *el);
01348 AQBANKING_API void AB_Transaction_SetCreditorIdentifier(AB_TRANSACTION *el, const char *d);
01349
01353 AQBANKING_API const char *AB_Transaction_GetOriginatorIdentifier(const AB_TRANSACTION *el);
01357 AQBANKING_API void AB_Transaction_SetOriginatorIdentifier(AB_TRANSACTION *el, const char *d);
01358
01362 AQBANKING_API int AB_Transaction_GetTransactionCode(const AB_TRANSACTION *el);
01366 AQBANKING_API void AB_Transaction_SetTransactionCode(AB_TRANSACTION *el, int d);
01367
01371 AQBANKING_API const char *AB_Transaction_GetTransactionText(const AB_TRANSACTION *el);
01375 AQBANKING_API void AB_Transaction_SetTransactionText(AB_TRANSACTION *el, const char *d);
01376
01380 AQBANKING_API const char *AB_Transaction_GetPrimanota(const AB_TRANSACTION *el);
01384 AQBANKING_API void AB_Transaction_SetPrimanota(AB_TRANSACTION *el, const char *d);
01385
01389 AQBANKING_API const char *AB_Transaction_GetFiId(const AB_TRANSACTION *el);
01393 AQBANKING_API void AB_Transaction_SetFiId(AB_TRANSACTION *el, const char *d);
01394
01398 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetPurpose(const AB_TRANSACTION *el);
01402 AQBANKING_API void AB_Transaction_SetPurpose(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01403 AQBANKING_API void AB_Transaction_AddPurpose(AB_TRANSACTION *st, const char *d, int chk);
01404 AQBANKING_API void AB_Transaction_RemovePurpose(AB_TRANSACTION *st, const char *d);
01405 AQBANKING_API void AB_Transaction_ClearPurpose(AB_TRANSACTION *st);
01406 AQBANKING_API int AB_Transaction_HasPurpose(const AB_TRANSACTION *st, const char *d);
01407
01411 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetCategory(const AB_TRANSACTION *el);
01415 AQBANKING_API void AB_Transaction_SetCategory(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01416 AQBANKING_API void AB_Transaction_AddCategory(AB_TRANSACTION *st, const char *d, int chk);
01417 AQBANKING_API void AB_Transaction_RemoveCategory(AB_TRANSACTION *st, const char *d);
01418 AQBANKING_API void AB_Transaction_ClearCategory(AB_TRANSACTION *st);
01419 AQBANKING_API int AB_Transaction_HasCategory(const AB_TRANSACTION *st, const char *d);
01420
01430
01434 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_GetPeriod(const AB_TRANSACTION *el);
01438 AQBANKING_API void AB_Transaction_SetPeriod(AB_TRANSACTION *el, AB_TRANSACTION_PERIOD d);
01439
01443 AQBANKING_API int AB_Transaction_GetCycle(const AB_TRANSACTION *el);
01447 AQBANKING_API void AB_Transaction_SetCycle(AB_TRANSACTION *el, int d);
01448
01452 AQBANKING_API int AB_Transaction_GetExecutionDay(const AB_TRANSACTION *el);
01456 AQBANKING_API void AB_Transaction_SetExecutionDay(AB_TRANSACTION *el, int d);
01457
01461 AQBANKING_API const GWEN_TIME *AB_Transaction_GetFirstExecutionDate(const AB_TRANSACTION *el);
01465 AQBANKING_API void AB_Transaction_SetFirstExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01466
01470 AQBANKING_API const GWEN_TIME *AB_Transaction_GetLastExecutionDate(const AB_TRANSACTION *el);
01474 AQBANKING_API void AB_Transaction_SetLastExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01475
01479 AQBANKING_API const GWEN_TIME *AB_Transaction_GetNextExecutionDate(const AB_TRANSACTION *el);
01483 AQBANKING_API void AB_Transaction_SetNextExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01484
01494
01498 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_GetType(const AB_TRANSACTION *el);
01502 AQBANKING_API void AB_Transaction_SetType(AB_TRANSACTION *el, AB_TRANSACTION_TYPE d);
01503
01507 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_GetSubType(const AB_TRANSACTION *el);
01511 AQBANKING_API void AB_Transaction_SetSubType(AB_TRANSACTION *el, AB_TRANSACTION_SUBTYPE d);
01512
01516 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_GetStatus(const AB_TRANSACTION *el);
01520 AQBANKING_API void AB_Transaction_SetStatus(AB_TRANSACTION *el, AB_TRANSACTION_STATUS d);
01521
01525 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_GetCharge(const AB_TRANSACTION *el);
01529 AQBANKING_API void AB_Transaction_SetCharge(AB_TRANSACTION *el, AB_TRANSACTION_CHARGE d);
01530
01540
01544 AQBANKING_API const char *AB_Transaction_GetRemoteAddrStreet(const AB_TRANSACTION *el);
01548 AQBANKING_API void AB_Transaction_SetRemoteAddrStreet(AB_TRANSACTION *el, const char *d);
01549
01553 AQBANKING_API const char *AB_Transaction_GetRemoteAddrZipcode(const AB_TRANSACTION *el);
01557 AQBANKING_API void AB_Transaction_SetRemoteAddrZipcode(AB_TRANSACTION *el, const char *d);
01558
01562 AQBANKING_API const char *AB_Transaction_GetRemoteAddrCity(const AB_TRANSACTION *el);
01566 AQBANKING_API void AB_Transaction_SetRemoteAddrCity(AB_TRANSACTION *el, const char *d);
01567
01571 AQBANKING_API const char *AB_Transaction_GetRemotePhone(const AB_TRANSACTION *el);
01575 AQBANKING_API void AB_Transaction_SetRemotePhone(AB_TRANSACTION *el, const char *d);
01576
01586
01590 AQBANKING_API const char *AB_Transaction_GetUnitId(const AB_TRANSACTION *el);
01594 AQBANKING_API void AB_Transaction_SetUnitId(AB_TRANSACTION *el, const char *d);
01595
01599 AQBANKING_API const char *AB_Transaction_GetUnitIdNameSpace(const AB_TRANSACTION *el);
01603 AQBANKING_API void AB_Transaction_SetUnitIdNameSpace(AB_TRANSACTION *el, const char *d);
01604
01608 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnits(const AB_TRANSACTION *el);
01612 AQBANKING_API void AB_Transaction_SetUnits(AB_TRANSACTION *el, const AB_VALUE *d);
01613
01617 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnitPrice(const AB_TRANSACTION *el);
01621 AQBANKING_API void AB_Transaction_SetUnitPrice(AB_TRANSACTION *el, const AB_VALUE *d);
01622
01626 AQBANKING_API const AB_VALUE *AB_Transaction_GetCommission(const AB_TRANSACTION *el);
01630 AQBANKING_API void AB_Transaction_SetCommission(AB_TRANSACTION *el, const AB_VALUE *d);
01631
01635 #ifdef __cplusplus
01636 }
01637 #endif
01638
01639
01640 #endif