00001
00002
00003
00004 #ifndef TRANSACTION_H
00005 #define TRANSACTION_H
00006
00547 #ifdef __cplusplus
00548 extern "C" {
00549 #endif
00550
00551 typedef struct AB_TRANSACTION AB_TRANSACTION;
00552
00553 #ifdef __cplusplus
00554 }
00555 #endif
00556
00557 #include <gwenhywfar/db.h>
00558 #include <gwenhywfar/inherit.h>
00559 #include <gwenhywfar/list2.h>
00560
00561 #include <gwenhywfar/types.h>
00562 #include <gwenhywfar/gwentime.h>
00563 #include <gwenhywfar/stringlist.h>
00564 #include <aqbanking/value.h>
00565 #include <aqbanking/split.h>
00566 #include <aqbanking/transactionlimits.h>
00567 #include <aqbanking/transactionfns.h>
00568
00569 #ifdef __cplusplus
00570 extern "C" {
00571 #endif
00572
00573 typedef enum {
00574 AB_Transaction_PeriodUnknown=-1,
00576 AB_Transaction_PeriodNone=0,
00578 AB_Transaction_PeriodMonthly,
00580 AB_Transaction_PeriodWeekly
00581 } AB_TRANSACTION_PERIOD;
00582
00583 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_Period_fromString(const char *s);
00584 AQBANKING_API const char *AB_Transaction_Period_toString(AB_TRANSACTION_PERIOD v);
00585
00586 typedef enum {
00587 AB_Transaction_TypeUnknown=-1,
00589 AB_Transaction_TypeTransaction=0,
00591 AB_Transaction_TypeTransfer,
00593 AB_Transaction_TypeDebitNote,
00595 AB_Transaction_TypeEuTransfer
00596 } AB_TRANSACTION_TYPE;
00597
00598 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_Type_fromString(const char *s);
00599 AQBANKING_API const char *AB_Transaction_Type_toString(AB_TRANSACTION_TYPE v);
00600
00601 typedef enum {
00602 AB_Transaction_SubTypeUnknown=-1,
00604 AB_Transaction_SubTypeNone=0,
00606 AB_Transaction_SubTypeStandard,
00608 AB_Transaction_SubTypeCheck,
00610 AB_Transaction_SubTypeBookedDebitNote,
00612 AB_Transaction_SubTypeDrawnDebitNote,
00614 AB_Transaction_SubTypeStandingOrder,
00616 AB_Transaction_SubTypeLoan,
00618 AB_Transaction_SubTypeEuStandard,
00620 AB_Transaction_SubTypeEuASAP,
00622 AB_Transaction_SubTypeBuy,
00624 AB_Transaction_SubTypeSell,
00626 AB_Transaction_SubTypeReinvest,
00628 AB_Transaction_SubTypeDividend
00629 } AB_TRANSACTION_SUBTYPE;
00630
00631 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_SubType_fromString(const char *s);
00632 AQBANKING_API const char *AB_Transaction_SubType_toString(AB_TRANSACTION_SUBTYPE v);
00633
00634 typedef enum {
00635 AB_Transaction_StatusUnknown=-1,
00637 AB_Transaction_StatusNone=0,
00639 AB_Transaction_StatusAccepted,
00641 AB_Transaction_StatusRejected,
00643 AB_Transaction_StatusPending
00644 } AB_TRANSACTION_STATUS;
00645
00646 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_Status_fromString(const char *s);
00647 AQBANKING_API const char *AB_Transaction_Status_toString(AB_TRANSACTION_STATUS v);
00648
00649 typedef enum {
00650 AB_Transaction_ChargeUnknown=-1,
00652 AB_Transaction_ChargeNobody=0,
00654 AB_Transaction_ChargeLocal,
00656 AB_Transaction_ChargeRemote,
00658 AB_Transaction_ChargeShare
00659 } AB_TRANSACTION_CHARGE;
00660
00661 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_Charge_fromString(const char *s);
00662 AQBANKING_API const char *AB_Transaction_Charge_toString(AB_TRANSACTION_CHARGE v);
00663
00664
00665 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_TRANSACTION, AQBANKING_API)
00666 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_TRANSACTION, AB_Transaction, AQBANKING_API)
00667
00670 AQBANKING_API void AB_Transaction_List2_freeAll(AB_TRANSACTION_LIST2 *stl);
00671
00674 AQBANKING_API AB_TRANSACTION *AB_Transaction_new();
00677 AQBANKING_API AB_TRANSACTION *AB_Transaction_fromDb(GWEN_DB_NODE *db);
00680 AQBANKING_API AB_TRANSACTION *AB_Transaction_dup(const AB_TRANSACTION*st);
00683 AQBANKING_API void AB_Transaction_free(AB_TRANSACTION *st);
00686 AQBANKING_API void AB_Transaction_Attach(AB_TRANSACTION *st);
00689 AQBANKING_API int AB_Transaction_ReadDb(AB_TRANSACTION *st, GWEN_DB_NODE *db);
00692 AQBANKING_API int AB_Transaction_toDb(const AB_TRANSACTION*st, GWEN_DB_NODE *db);
00695 AQBANKING_API int AB_Transaction_IsModified(const AB_TRANSACTION *st);
00698 AQBANKING_API void AB_Transaction_SetModified(AB_TRANSACTION *st, int i);
00699
00700
00701
00706
00710 AQBANKING_API const char *AB_Transaction_GetLocalCountry(const AB_TRANSACTION *el);
00714 AQBANKING_API void AB_Transaction_SetLocalCountry(AB_TRANSACTION *el, const char *d);
00715
00719 AQBANKING_API const char *AB_Transaction_GetLocalBankCode(const AB_TRANSACTION *el);
00723 AQBANKING_API void AB_Transaction_SetLocalBankCode(AB_TRANSACTION *el, const char *d);
00724
00728 AQBANKING_API const char *AB_Transaction_GetLocalBranchId(const AB_TRANSACTION *el);
00732 AQBANKING_API void AB_Transaction_SetLocalBranchId(AB_TRANSACTION *el, const char *d);
00733
00737 AQBANKING_API const char *AB_Transaction_GetLocalAccountNumber(const AB_TRANSACTION *el);
00741 AQBANKING_API void AB_Transaction_SetLocalAccountNumber(AB_TRANSACTION *el, const char *d);
00742
00746 AQBANKING_API const char *AB_Transaction_GetLocalSuffix(const AB_TRANSACTION *el);
00750 AQBANKING_API void AB_Transaction_SetLocalSuffix(AB_TRANSACTION *el, const char *d);
00751
00755 AQBANKING_API const char *AB_Transaction_GetLocalIban(const AB_TRANSACTION *el);
00759 AQBANKING_API void AB_Transaction_SetLocalIban(AB_TRANSACTION *el, const char *d);
00760
00764 AQBANKING_API const char *AB_Transaction_GetLocalName(const AB_TRANSACTION *el);
00768 AQBANKING_API void AB_Transaction_SetLocalName(AB_TRANSACTION *el, const char *d);
00769
00776
00780 AQBANKING_API const char *AB_Transaction_GetRemoteCountry(const AB_TRANSACTION *el);
00784 AQBANKING_API void AB_Transaction_SetRemoteCountry(AB_TRANSACTION *el, const char *d);
00785
00789 AQBANKING_API const char *AB_Transaction_GetRemoteBankName(const AB_TRANSACTION *el);
00793 AQBANKING_API void AB_Transaction_SetRemoteBankName(AB_TRANSACTION *el, const char *d);
00794
00798 AQBANKING_API const char *AB_Transaction_GetRemoteBankLocation(const AB_TRANSACTION *el);
00802 AQBANKING_API void AB_Transaction_SetRemoteBankLocation(AB_TRANSACTION *el, const char *d);
00803
00807 AQBANKING_API const char *AB_Transaction_GetRemoteBankCode(const AB_TRANSACTION *el);
00811 AQBANKING_API void AB_Transaction_SetRemoteBankCode(AB_TRANSACTION *el, const char *d);
00812
00816 AQBANKING_API const char *AB_Transaction_GetRemoteBranchId(const AB_TRANSACTION *el);
00820 AQBANKING_API void AB_Transaction_SetRemoteBranchId(AB_TRANSACTION *el, const char *d);
00821
00825 AQBANKING_API const char *AB_Transaction_GetRemoteAccountNumber(const AB_TRANSACTION *el);
00829 AQBANKING_API void AB_Transaction_SetRemoteAccountNumber(AB_TRANSACTION *el, const char *d);
00830
00834 AQBANKING_API const char *AB_Transaction_GetRemoteSuffix(const AB_TRANSACTION *el);
00838 AQBANKING_API void AB_Transaction_SetRemoteSuffix(AB_TRANSACTION *el, const char *d);
00839
00843 AQBANKING_API const char *AB_Transaction_GetRemoteIban(const AB_TRANSACTION *el);
00847 AQBANKING_API void AB_Transaction_SetRemoteIban(AB_TRANSACTION *el, const char *d);
00848
00852 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetRemoteName(const AB_TRANSACTION *el);
00856 AQBANKING_API void AB_Transaction_SetRemoteName(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
00857 AQBANKING_API void AB_Transaction_AddRemoteName(AB_TRANSACTION *st, const char *d, int chk);
00858 AQBANKING_API void AB_Transaction_RemoveRemoteName(AB_TRANSACTION *st, const char *d);
00859 AQBANKING_API void AB_Transaction_ClearRemoteName(AB_TRANSACTION *st);
00860 AQBANKING_API int AB_Transaction_HasRemoteName(const AB_TRANSACTION *st, const char *d);
00861
00867 AQBANKING_API GWEN_TYPE_UINT32 AB_Transaction_GetUniqueId(const AB_TRANSACTION *el);
00871 AQBANKING_API void AB_Transaction_SetUniqueId(AB_TRANSACTION *el, GWEN_TYPE_UINT32 d);
00872
00879 AQBANKING_API const GWEN_TIME *AB_Transaction_GetValutaDate(const AB_TRANSACTION *el);
00883 AQBANKING_API void AB_Transaction_SetValutaDate(AB_TRANSACTION *el, const GWEN_TIME *d);
00884
00888 AQBANKING_API const GWEN_TIME *AB_Transaction_GetDate(const AB_TRANSACTION *el);
00892 AQBANKING_API void AB_Transaction_SetDate(AB_TRANSACTION *el, const GWEN_TIME *d);
00893
00900
00904 AQBANKING_API const AB_VALUE *AB_Transaction_GetValue(const AB_TRANSACTION *el);
00908 AQBANKING_API void AB_Transaction_SetValue(AB_TRANSACTION *el, const AB_VALUE *d);
00909
00915 AQBANKING_API const AB_VALUE *AB_Transaction_GetFees(const AB_TRANSACTION *el);
00919 AQBANKING_API void AB_Transaction_SetFees(AB_TRANSACTION *el, const AB_VALUE *d);
00920
00924 AQBANKING_API AB_SPLIT_LIST *AB_Transaction_GetSplits(const AB_TRANSACTION *el);
00928 AQBANKING_API void AB_Transaction_SetSplits(AB_TRANSACTION *el, AB_SPLIT_LIST *d);
00929
00937
00941 AQBANKING_API int AB_Transaction_GetTextKey(const AB_TRANSACTION *el);
00945 AQBANKING_API void AB_Transaction_SetTextKey(AB_TRANSACTION *el, int d);
00946
00950 AQBANKING_API const char *AB_Transaction_GetTransactionKey(const AB_TRANSACTION *el);
00954 AQBANKING_API void AB_Transaction_SetTransactionKey(AB_TRANSACTION *el, const char *d);
00955
00959 AQBANKING_API const char *AB_Transaction_GetCustomerReference(const AB_TRANSACTION *el);
00963 AQBANKING_API void AB_Transaction_SetCustomerReference(AB_TRANSACTION *el, const char *d);
00964
00968 AQBANKING_API const char *AB_Transaction_GetBankReference(const AB_TRANSACTION *el);
00972 AQBANKING_API void AB_Transaction_SetBankReference(AB_TRANSACTION *el, const char *d);
00973
00977 AQBANKING_API int AB_Transaction_GetTransactionCode(const AB_TRANSACTION *el);
00981 AQBANKING_API void AB_Transaction_SetTransactionCode(AB_TRANSACTION *el, int d);
00982
00986 AQBANKING_API const char *AB_Transaction_GetTransactionText(const AB_TRANSACTION *el);
00990 AQBANKING_API void AB_Transaction_SetTransactionText(AB_TRANSACTION *el, const char *d);
00991
00995 AQBANKING_API const char *AB_Transaction_GetPrimanota(const AB_TRANSACTION *el);
00999 AQBANKING_API void AB_Transaction_SetPrimanota(AB_TRANSACTION *el, const char *d);
01000
01004 AQBANKING_API const char *AB_Transaction_GetFiId(const AB_TRANSACTION *el);
01008 AQBANKING_API void AB_Transaction_SetFiId(AB_TRANSACTION *el, const char *d);
01009
01013 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetPurpose(const AB_TRANSACTION *el);
01017 AQBANKING_API void AB_Transaction_SetPurpose(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01018 AQBANKING_API void AB_Transaction_AddPurpose(AB_TRANSACTION *st, const char *d, int chk);
01019 AQBANKING_API void AB_Transaction_RemovePurpose(AB_TRANSACTION *st, const char *d);
01020 AQBANKING_API void AB_Transaction_ClearPurpose(AB_TRANSACTION *st);
01021 AQBANKING_API int AB_Transaction_HasPurpose(const AB_TRANSACTION *st, const char *d);
01022
01026 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetCategory(const AB_TRANSACTION *el);
01030 AQBANKING_API void AB_Transaction_SetCategory(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01031 AQBANKING_API void AB_Transaction_AddCategory(AB_TRANSACTION *st, const char *d, int chk);
01032 AQBANKING_API void AB_Transaction_RemoveCategory(AB_TRANSACTION *st, const char *d);
01033 AQBANKING_API void AB_Transaction_ClearCategory(AB_TRANSACTION *st);
01034 AQBANKING_API int AB_Transaction_HasCategory(const AB_TRANSACTION *st, const char *d);
01035
01042
01046 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_GetPeriod(const AB_TRANSACTION *el);
01050 AQBANKING_API void AB_Transaction_SetPeriod(AB_TRANSACTION *el, AB_TRANSACTION_PERIOD d);
01051
01055 AQBANKING_API int AB_Transaction_GetCycle(const AB_TRANSACTION *el);
01059 AQBANKING_API void AB_Transaction_SetCycle(AB_TRANSACTION *el, int d);
01060
01064 AQBANKING_API int AB_Transaction_GetExecutionDay(const AB_TRANSACTION *el);
01068 AQBANKING_API void AB_Transaction_SetExecutionDay(AB_TRANSACTION *el, int d);
01069
01073 AQBANKING_API const GWEN_TIME *AB_Transaction_GetFirstExecutionDate(const AB_TRANSACTION *el);
01077 AQBANKING_API void AB_Transaction_SetFirstExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01078
01082 AQBANKING_API const GWEN_TIME *AB_Transaction_GetLastExecutionDate(const AB_TRANSACTION *el);
01086 AQBANKING_API void AB_Transaction_SetLastExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01087
01091 AQBANKING_API const GWEN_TIME *AB_Transaction_GetNextExecutionDate(const AB_TRANSACTION *el);
01095 AQBANKING_API void AB_Transaction_SetNextExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01096
01103
01107 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_GetType(const AB_TRANSACTION *el);
01111 AQBANKING_API void AB_Transaction_SetType(AB_TRANSACTION *el, AB_TRANSACTION_TYPE d);
01112
01116 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_GetSubType(const AB_TRANSACTION *el);
01120 AQBANKING_API void AB_Transaction_SetSubType(AB_TRANSACTION *el, AB_TRANSACTION_SUBTYPE d);
01121
01125 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_GetStatus(const AB_TRANSACTION *el);
01129 AQBANKING_API void AB_Transaction_SetStatus(AB_TRANSACTION *el, AB_TRANSACTION_STATUS d);
01130
01134 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_GetCharge(const AB_TRANSACTION *el);
01138 AQBANKING_API void AB_Transaction_SetCharge(AB_TRANSACTION *el, AB_TRANSACTION_CHARGE d);
01139
01146
01150 AQBANKING_API const char *AB_Transaction_GetRemoteAddrStreet(const AB_TRANSACTION *el);
01154 AQBANKING_API void AB_Transaction_SetRemoteAddrStreet(AB_TRANSACTION *el, const char *d);
01155
01159 AQBANKING_API const char *AB_Transaction_GetRemoteAddrZipcode(const AB_TRANSACTION *el);
01163 AQBANKING_API void AB_Transaction_SetRemoteAddrZipcode(AB_TRANSACTION *el, const char *d);
01164
01168 AQBANKING_API const char *AB_Transaction_GetRemoteAddrCity(const AB_TRANSACTION *el);
01172 AQBANKING_API void AB_Transaction_SetRemoteAddrCity(AB_TRANSACTION *el, const char *d);
01173
01177 AQBANKING_API const char *AB_Transaction_GetRemotePhone(const AB_TRANSACTION *el);
01181 AQBANKING_API void AB_Transaction_SetRemotePhone(AB_TRANSACTION *el, const char *d);
01182
01189
01193 AQBANKING_API int AB_Transaction_GetUnits(const AB_TRANSACTION *el);
01197 AQBANKING_API void AB_Transaction_SetUnits(AB_TRANSACTION *el, int d);
01198
01202 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnitPrice(const AB_TRANSACTION *el);
01206 AQBANKING_API void AB_Transaction_SetUnitPrice(AB_TRANSACTION *el, const AB_VALUE *d);
01207
01211 #ifdef __cplusplus
01212 }
01213 #endif
01214
01215
01216 #endif