00001
00002
00003
00004 #ifndef TRANSACTION_H
00005 #define TRANSACTION_H
00006
00515 #ifdef __cplusplus
00516 extern "C" {
00517 #endif
00518
00519 typedef struct AB_TRANSACTION AB_TRANSACTION;
00520
00521 #ifdef __cplusplus
00522 }
00523 #endif
00524
00525 #include <gwenhywfar/db.h>
00526 #include <gwenhywfar/inherit.h>
00527 #include <gwenhywfar/list2.h>
00528
00529 #include <gwenhywfar/types.h>
00530 #include <gwenhywfar/gwentime.h>
00531 #include <gwenhywfar/stringlist.h>
00532 #include <aqbanking/value.h>
00533 #include <aqbanking/split.h>
00534 #include <aqbanking/transactionlimits.h>
00535 #include <aqbanking/transactionfns.h>
00536
00537 #ifdef __cplusplus
00538 extern "C" {
00539 #endif
00540
00541 typedef enum {
00542 AB_Transaction_PeriodUnknown=-1,
00544 AB_Transaction_PeriodNone=0,
00546 AB_Transaction_PeriodMonthly,
00548 AB_Transaction_PeriodWeekly
00549 } AB_TRANSACTION_PERIOD;
00550
00551 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_Period_fromString(const char *s);
00552 AQBANKING_API const char *AB_Transaction_Period_toString(AB_TRANSACTION_PERIOD v);
00553
00554 typedef enum {
00555 AB_Transaction_TypeUnknown=-1,
00557 AB_Transaction_TypeTransaction=0,
00559 AB_Transaction_TypeTransfer,
00561 AB_Transaction_TypeDebitNote,
00563 AB_Transaction_TypeEuTransfer
00564 } AB_TRANSACTION_TYPE;
00565
00566 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_Type_fromString(const char *s);
00567 AQBANKING_API const char *AB_Transaction_Type_toString(AB_TRANSACTION_TYPE v);
00568
00569 typedef enum {
00570 AB_Transaction_SubTypeUnknown=-1,
00572 AB_Transaction_SubTypeNone=0,
00574 AB_Transaction_SubTypeStandard,
00576 AB_Transaction_SubTypeCheck,
00578 AB_Transaction_SubTypeBookedDebitNote,
00580 AB_Transaction_SubTypeDrawnDebitNote,
00582 AB_Transaction_SubTypeStandingOrder,
00584 AB_Transaction_SubTypeLoan,
00586 AB_Transaction_SubTypeEuStandard,
00588 AB_Transaction_SubTypeEuASAP,
00590 AB_Transaction_SubTypeBuy,
00592 AB_Transaction_SubTypeSell,
00594 AB_Transaction_SubTypeReinvest,
00596 AB_Transaction_SubTypeDividend
00597 } AB_TRANSACTION_SUBTYPE;
00598
00599 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_SubType_fromString(const char *s);
00600 AQBANKING_API const char *AB_Transaction_SubType_toString(AB_TRANSACTION_SUBTYPE v);
00601
00602 typedef enum {
00603 AB_Transaction_StatusUnknown=-1,
00605 AB_Transaction_StatusNone=0,
00607 AB_Transaction_StatusAccepted,
00609 AB_Transaction_StatusRejected,
00611 AB_Transaction_StatusPending
00612 } AB_TRANSACTION_STATUS;
00613
00614 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_Status_fromString(const char *s);
00615 AQBANKING_API const char *AB_Transaction_Status_toString(AB_TRANSACTION_STATUS v);
00616
00617 typedef enum {
00618 AB_Transaction_ChargeUnknown=-1,
00620 AB_Transaction_ChargeNobody=0,
00622 AB_Transaction_ChargeLocal,
00624 AB_Transaction_ChargeRemote,
00626 AB_Transaction_ChargeShare
00627 } AB_TRANSACTION_CHARGE;
00628
00629 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_Charge_fromString(const char *s);
00630 AQBANKING_API const char *AB_Transaction_Charge_toString(AB_TRANSACTION_CHARGE v);
00631
00632
00633 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_TRANSACTION, AQBANKING_API)
00634 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_TRANSACTION, AB_Transaction, AQBANKING_API)
00635
00638 AQBANKING_API void AB_Transaction_List2_freeAll(AB_TRANSACTION_LIST2 *stl);
00639
00642 AQBANKING_API AB_TRANSACTION *AB_Transaction_new();
00645 AQBANKING_API AB_TRANSACTION *AB_Transaction_fromDb(GWEN_DB_NODE *db);
00648 AQBANKING_API AB_TRANSACTION *AB_Transaction_dup(const AB_TRANSACTION*st);
00651 AQBANKING_API void AB_Transaction_free(AB_TRANSACTION *st);
00654 AQBANKING_API void AB_Transaction_Attach(AB_TRANSACTION *st);
00657 AQBANKING_API int AB_Transaction_ReadDb(AB_TRANSACTION *st, GWEN_DB_NODE *db);
00660 AQBANKING_API int AB_Transaction_toDb(const AB_TRANSACTION*st, GWEN_DB_NODE *db);
00663 AQBANKING_API int AB_Transaction_IsModified(const AB_TRANSACTION *st);
00666 AQBANKING_API void AB_Transaction_SetModified(AB_TRANSACTION *st, int i);
00667
00668
00669
00674
00678 AQBANKING_API const char *AB_Transaction_GetLocalCountry(const AB_TRANSACTION *el);
00682 AQBANKING_API void AB_Transaction_SetLocalCountry(AB_TRANSACTION *el, const char *d);
00683
00687 AQBANKING_API const char *AB_Transaction_GetLocalBankCode(const AB_TRANSACTION *el);
00691 AQBANKING_API void AB_Transaction_SetLocalBankCode(AB_TRANSACTION *el, const char *d);
00692
00696 AQBANKING_API const char *AB_Transaction_GetLocalBranchId(const AB_TRANSACTION *el);
00700 AQBANKING_API void AB_Transaction_SetLocalBranchId(AB_TRANSACTION *el, const char *d);
00701
00705 AQBANKING_API const char *AB_Transaction_GetLocalAccountNumber(const AB_TRANSACTION *el);
00709 AQBANKING_API void AB_Transaction_SetLocalAccountNumber(AB_TRANSACTION *el, const char *d);
00710
00714 AQBANKING_API const char *AB_Transaction_GetLocalSuffix(const AB_TRANSACTION *el);
00718 AQBANKING_API void AB_Transaction_SetLocalSuffix(AB_TRANSACTION *el, const char *d);
00719
00723 AQBANKING_API const char *AB_Transaction_GetLocalName(const AB_TRANSACTION *el);
00727 AQBANKING_API void AB_Transaction_SetLocalName(AB_TRANSACTION *el, const char *d);
00728
00735
00739 AQBANKING_API const char *AB_Transaction_GetRemoteCountry(const AB_TRANSACTION *el);
00743 AQBANKING_API void AB_Transaction_SetRemoteCountry(AB_TRANSACTION *el, const char *d);
00744
00748 AQBANKING_API const char *AB_Transaction_GetRemoteBankName(const AB_TRANSACTION *el);
00752 AQBANKING_API void AB_Transaction_SetRemoteBankName(AB_TRANSACTION *el, const char *d);
00753
00757 AQBANKING_API const char *AB_Transaction_GetRemoteBankLocation(const AB_TRANSACTION *el);
00761 AQBANKING_API void AB_Transaction_SetRemoteBankLocation(AB_TRANSACTION *el, const char *d);
00762
00766 AQBANKING_API const char *AB_Transaction_GetRemoteBankCode(const AB_TRANSACTION *el);
00770 AQBANKING_API void AB_Transaction_SetRemoteBankCode(AB_TRANSACTION *el, const char *d);
00771
00775 AQBANKING_API const char *AB_Transaction_GetRemoteBranchId(const AB_TRANSACTION *el);
00779 AQBANKING_API void AB_Transaction_SetRemoteBranchId(AB_TRANSACTION *el, const char *d);
00780
00784 AQBANKING_API const char *AB_Transaction_GetRemoteAccountNumber(const AB_TRANSACTION *el);
00788 AQBANKING_API void AB_Transaction_SetRemoteAccountNumber(AB_TRANSACTION *el, const char *d);
00789
00793 AQBANKING_API const char *AB_Transaction_GetRemoteSuffix(const AB_TRANSACTION *el);
00797 AQBANKING_API void AB_Transaction_SetRemoteSuffix(AB_TRANSACTION *el, const char *d);
00798
00802 AQBANKING_API const char *AB_Transaction_GetRemoteIban(const AB_TRANSACTION *el);
00806 AQBANKING_API void AB_Transaction_SetRemoteIban(AB_TRANSACTION *el, const char *d);
00807
00811 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetRemoteName(const AB_TRANSACTION *el);
00815 AQBANKING_API void AB_Transaction_SetRemoteName(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
00816 AQBANKING_API void AB_Transaction_AddRemoteName(AB_TRANSACTION *st, const char *d, int chk);
00817 AQBANKING_API void AB_Transaction_RemoveRemoteName(AB_TRANSACTION *st, const char *d);
00818 AQBANKING_API void AB_Transaction_ClearRemoteName(AB_TRANSACTION *st);
00819 AQBANKING_API int AB_Transaction_HasRemoteName(const AB_TRANSACTION *st, const char *d);
00820
00826 AQBANKING_API GWEN_TYPE_UINT32 AB_Transaction_GetUniqueId(const AB_TRANSACTION *el);
00830 AQBANKING_API void AB_Transaction_SetUniqueId(AB_TRANSACTION *el, GWEN_TYPE_UINT32 d);
00831
00838 AQBANKING_API const GWEN_TIME *AB_Transaction_GetValutaDate(const AB_TRANSACTION *el);
00842 AQBANKING_API void AB_Transaction_SetValutaDate(AB_TRANSACTION *el, const GWEN_TIME *d);
00843
00847 AQBANKING_API const GWEN_TIME *AB_Transaction_GetDate(const AB_TRANSACTION *el);
00851 AQBANKING_API void AB_Transaction_SetDate(AB_TRANSACTION *el, const GWEN_TIME *d);
00852
00859
00863 AQBANKING_API const AB_VALUE *AB_Transaction_GetValue(const AB_TRANSACTION *el);
00867 AQBANKING_API void AB_Transaction_SetValue(AB_TRANSACTION *el, const AB_VALUE *d);
00868
00874 AQBANKING_API const AB_VALUE *AB_Transaction_GetFees(const AB_TRANSACTION *el);
00878 AQBANKING_API void AB_Transaction_SetFees(AB_TRANSACTION *el, const AB_VALUE *d);
00879
00883 AQBANKING_API AB_SPLIT_LIST *AB_Transaction_GetSplits(const AB_TRANSACTION *el);
00887 AQBANKING_API void AB_Transaction_SetSplits(AB_TRANSACTION *el, AB_SPLIT_LIST *d);
00888
00896
00900 AQBANKING_API int AB_Transaction_GetTextKey(const AB_TRANSACTION *el);
00904 AQBANKING_API void AB_Transaction_SetTextKey(AB_TRANSACTION *el, int d);
00905
00909 AQBANKING_API const char *AB_Transaction_GetTransactionKey(const AB_TRANSACTION *el);
00913 AQBANKING_API void AB_Transaction_SetTransactionKey(AB_TRANSACTION *el, const char *d);
00914
00918 AQBANKING_API const char *AB_Transaction_GetCustomerReference(const AB_TRANSACTION *el);
00922 AQBANKING_API void AB_Transaction_SetCustomerReference(AB_TRANSACTION *el, const char *d);
00923
00927 AQBANKING_API const char *AB_Transaction_GetBankReference(const AB_TRANSACTION *el);
00931 AQBANKING_API void AB_Transaction_SetBankReference(AB_TRANSACTION *el, const char *d);
00932
00936 AQBANKING_API int AB_Transaction_GetTransactionCode(const AB_TRANSACTION *el);
00940 AQBANKING_API void AB_Transaction_SetTransactionCode(AB_TRANSACTION *el, int d);
00941
00945 AQBANKING_API const char *AB_Transaction_GetTransactionText(const AB_TRANSACTION *el);
00949 AQBANKING_API void AB_Transaction_SetTransactionText(AB_TRANSACTION *el, const char *d);
00950
00954 AQBANKING_API const char *AB_Transaction_GetPrimanota(const AB_TRANSACTION *el);
00958 AQBANKING_API void AB_Transaction_SetPrimanota(AB_TRANSACTION *el, const char *d);
00959
00963 AQBANKING_API const char *AB_Transaction_GetFiId(const AB_TRANSACTION *el);
00967 AQBANKING_API void AB_Transaction_SetFiId(AB_TRANSACTION *el, const char *d);
00968
00972 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetPurpose(const AB_TRANSACTION *el);
00976 AQBANKING_API void AB_Transaction_SetPurpose(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
00977 AQBANKING_API void AB_Transaction_AddPurpose(AB_TRANSACTION *st, const char *d, int chk);
00978 AQBANKING_API void AB_Transaction_RemovePurpose(AB_TRANSACTION *st, const char *d);
00979 AQBANKING_API void AB_Transaction_ClearPurpose(AB_TRANSACTION *st);
00980 AQBANKING_API int AB_Transaction_HasPurpose(const AB_TRANSACTION *st, const char *d);
00981
00985 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetCategory(const AB_TRANSACTION *el);
00989 AQBANKING_API void AB_Transaction_SetCategory(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
00990 AQBANKING_API void AB_Transaction_AddCategory(AB_TRANSACTION *st, const char *d, int chk);
00991 AQBANKING_API void AB_Transaction_RemoveCategory(AB_TRANSACTION *st, const char *d);
00992 AQBANKING_API void AB_Transaction_ClearCategory(AB_TRANSACTION *st);
00993 AQBANKING_API int AB_Transaction_HasCategory(const AB_TRANSACTION *st, const char *d);
00994
01001
01005 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_GetPeriod(const AB_TRANSACTION *el);
01009 AQBANKING_API void AB_Transaction_SetPeriod(AB_TRANSACTION *el, AB_TRANSACTION_PERIOD d);
01010
01014 AQBANKING_API int AB_Transaction_GetCycle(const AB_TRANSACTION *el);
01018 AQBANKING_API void AB_Transaction_SetCycle(AB_TRANSACTION *el, int d);
01019
01023 AQBANKING_API int AB_Transaction_GetExecutionDay(const AB_TRANSACTION *el);
01027 AQBANKING_API void AB_Transaction_SetExecutionDay(AB_TRANSACTION *el, int d);
01028
01032 AQBANKING_API const GWEN_TIME *AB_Transaction_GetFirstExecutionDate(const AB_TRANSACTION *el);
01036 AQBANKING_API void AB_Transaction_SetFirstExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01037
01041 AQBANKING_API const GWEN_TIME *AB_Transaction_GetLastExecutionDate(const AB_TRANSACTION *el);
01045 AQBANKING_API void AB_Transaction_SetLastExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01046
01050 AQBANKING_API const GWEN_TIME *AB_Transaction_GetNextExecutionDate(const AB_TRANSACTION *el);
01054 AQBANKING_API void AB_Transaction_SetNextExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01055
01062
01066 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_GetType(const AB_TRANSACTION *el);
01070 AQBANKING_API void AB_Transaction_SetType(AB_TRANSACTION *el, AB_TRANSACTION_TYPE d);
01071
01075 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_GetSubType(const AB_TRANSACTION *el);
01079 AQBANKING_API void AB_Transaction_SetSubType(AB_TRANSACTION *el, AB_TRANSACTION_SUBTYPE d);
01080
01084 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_GetStatus(const AB_TRANSACTION *el);
01088 AQBANKING_API void AB_Transaction_SetStatus(AB_TRANSACTION *el, AB_TRANSACTION_STATUS d);
01089
01093 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_GetCharge(const AB_TRANSACTION *el);
01097 AQBANKING_API void AB_Transaction_SetCharge(AB_TRANSACTION *el, AB_TRANSACTION_CHARGE d);
01098
01105
01109 AQBANKING_API const char *AB_Transaction_GetRemoteAddrStreet(const AB_TRANSACTION *el);
01113 AQBANKING_API void AB_Transaction_SetRemoteAddrStreet(AB_TRANSACTION *el, const char *d);
01114
01118 AQBANKING_API const char *AB_Transaction_GetRemoteAddrZipcode(const AB_TRANSACTION *el);
01122 AQBANKING_API void AB_Transaction_SetRemoteAddrZipcode(AB_TRANSACTION *el, const char *d);
01123
01127 AQBANKING_API const char *AB_Transaction_GetRemoteAddrCity(const AB_TRANSACTION *el);
01131 AQBANKING_API void AB_Transaction_SetRemoteAddrCity(AB_TRANSACTION *el, const char *d);
01132
01136 AQBANKING_API const char *AB_Transaction_GetRemotePhone(const AB_TRANSACTION *el);
01140 AQBANKING_API void AB_Transaction_SetRemotePhone(AB_TRANSACTION *el, const char *d);
01141
01148
01152 AQBANKING_API int AB_Transaction_GetUnits(const AB_TRANSACTION *el);
01156 AQBANKING_API void AB_Transaction_SetUnits(AB_TRANSACTION *el, int d);
01157
01161 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnitPrice(const AB_TRANSACTION *el);
01165 AQBANKING_API void AB_Transaction_SetUnitPrice(AB_TRANSACTION *el, const AB_VALUE *d);
01166
01170 #ifdef __cplusplus
01171 }
01172 #endif
01173
01174
01175 #endif