00001
00002
00003
00004 #ifndef TRANSACTION_H
00005 #define TRANSACTION_H
00006
00712 #ifdef __cplusplus
00713 extern "C" {
00714 #endif
00715
00716 typedef struct AB_TRANSACTION AB_TRANSACTION;
00717
00718 #ifdef __cplusplus
00719 }
00720 #endif
00721
00722 #include <gwenhywfar/db.h>
00723 #include <gwenhywfar/inherit.h>
00724 #include <gwenhywfar/list2.h>
00725
00726 #include <gwenhywfar/types.h>
00727 #include <gwenhywfar/gwentime.h>
00728 #include <gwenhywfar/stringlist.h>
00729 #include <aqbanking/value.h>
00730 #include <aqbanking/transactionlimits.h>
00731 #include <aqbanking/transactionfns.h>
00732
00733 #ifdef __cplusplus
00734 extern "C" {
00735 #endif
00736
00737 typedef enum {
00738 AB_Transaction_PeriodUnknown=-1,
00741 AB_Transaction_PeriodNone=0,
00744 AB_Transaction_PeriodMonthly,
00747 AB_Transaction_PeriodWeekly
00748 } AB_TRANSACTION_PERIOD;
00749
00750 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_Period_fromString(const char *s);
00751 AQBANKING_API const char *AB_Transaction_Period_toString(AB_TRANSACTION_PERIOD v);
00752
00753 typedef enum {
00754 AB_Transaction_TypeUnknown=-1,
00757 AB_Transaction_TypeTransaction=0,
00760 AB_Transaction_TypeTransfer,
00763 AB_Transaction_TypeDebitNote,
00766 AB_Transaction_TypeEuTransfer
00767 } AB_TRANSACTION_TYPE;
00768
00769 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_Type_fromString(const char *s);
00770 AQBANKING_API const char *AB_Transaction_Type_toString(AB_TRANSACTION_TYPE v);
00771
00772 typedef enum {
00773 AB_Transaction_SubTypeUnknown=-1,
00776 AB_Transaction_SubTypeNone=0,
00779 AB_Transaction_SubTypeStandard,
00782 AB_Transaction_SubTypeCheck,
00785 AB_Transaction_SubTypeBookedDebitNote,
00788 AB_Transaction_SubTypeDrawnDebitNote,
00791 AB_Transaction_SubTypeStandingOrder,
00794 AB_Transaction_SubTypeLoan,
00797 AB_Transaction_SubTypeEuStandard,
00800 AB_Transaction_SubTypeEuASAP,
00803 AB_Transaction_SubTypeBuy,
00806 AB_Transaction_SubTypeSell,
00809 AB_Transaction_SubTypeReinvest,
00812 AB_Transaction_SubTypeDividend
00813 } AB_TRANSACTION_SUBTYPE;
00814
00815 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_SubType_fromString(const char *s);
00816 AQBANKING_API const char *AB_Transaction_SubType_toString(AB_TRANSACTION_SUBTYPE v);
00817
00818 typedef enum {
00819 AB_Transaction_StatusUnknown=-1,
00822 AB_Transaction_StatusNone=0,
00825 AB_Transaction_StatusAccepted,
00828 AB_Transaction_StatusRejected,
00831 AB_Transaction_StatusPending
00832 } AB_TRANSACTION_STATUS;
00833
00834 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_Status_fromString(const char *s);
00835 AQBANKING_API const char *AB_Transaction_Status_toString(AB_TRANSACTION_STATUS v);
00836
00837 typedef enum {
00838 AB_Transaction_ChargeUnknown=-1,
00841 AB_Transaction_ChargeNobody=0,
00844 AB_Transaction_ChargeLocal,
00847 AB_Transaction_ChargeRemote,
00850 AB_Transaction_ChargeShare
00851 } AB_TRANSACTION_CHARGE;
00852
00853 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_Charge_fromString(const char *s);
00854 AQBANKING_API const char *AB_Transaction_Charge_toString(AB_TRANSACTION_CHARGE v);
00855
00856
00857 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_TRANSACTION, AQBANKING_API)
00858 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_TRANSACTION, AB_Transaction, AQBANKING_API)
00859
00862 AQBANKING_API void AB_Transaction_List2_freeAll(AB_TRANSACTION_LIST2 *stl);
00863
00866 AQBANKING_API AB_TRANSACTION *AB_Transaction_new();
00869 AQBANKING_API AB_TRANSACTION *AB_Transaction_fromDb(GWEN_DB_NODE *db);
00872 AQBANKING_API AB_TRANSACTION *AB_Transaction_dup(const AB_TRANSACTION*st);
00875 AQBANKING_API void AB_Transaction_free(AB_TRANSACTION *st);
00878 AQBANKING_API void AB_Transaction_Attach(AB_TRANSACTION *st);
00881 AQBANKING_API int AB_Transaction_ReadDb(AB_TRANSACTION *st, GWEN_DB_NODE *db);
00884 AQBANKING_API int AB_Transaction_toDb(const AB_TRANSACTION*st, GWEN_DB_NODE *db);
00887 AQBANKING_API int AB_Transaction_IsModified(const AB_TRANSACTION *st);
00890 AQBANKING_API void AB_Transaction_SetModified(AB_TRANSACTION *st, int i);
00891
00892
00893
00899
00903 AQBANKING_API const char *AB_Transaction_GetLocalCountry(const AB_TRANSACTION *el);
00907 AQBANKING_API void AB_Transaction_SetLocalCountry(AB_TRANSACTION *el, const char *d);
00908
00912 AQBANKING_API const char *AB_Transaction_GetLocalBankCode(const AB_TRANSACTION *el);
00916 AQBANKING_API void AB_Transaction_SetLocalBankCode(AB_TRANSACTION *el, const char *d);
00917
00921 AQBANKING_API const char *AB_Transaction_GetLocalBranchId(const AB_TRANSACTION *el);
00925 AQBANKING_API void AB_Transaction_SetLocalBranchId(AB_TRANSACTION *el, const char *d);
00926
00930 AQBANKING_API const char *AB_Transaction_GetLocalAccountNumber(const AB_TRANSACTION *el);
00934 AQBANKING_API void AB_Transaction_SetLocalAccountNumber(AB_TRANSACTION *el, const char *d);
00935
00939 AQBANKING_API const char *AB_Transaction_GetLocalSuffix(const AB_TRANSACTION *el);
00943 AQBANKING_API void AB_Transaction_SetLocalSuffix(AB_TRANSACTION *el, const char *d);
00944
00948 AQBANKING_API const char *AB_Transaction_GetLocalIban(const AB_TRANSACTION *el);
00952 AQBANKING_API void AB_Transaction_SetLocalIban(AB_TRANSACTION *el, const char *d);
00953
00957 AQBANKING_API const char *AB_Transaction_GetLocalName(const AB_TRANSACTION *el);
00961 AQBANKING_API void AB_Transaction_SetLocalName(AB_TRANSACTION *el, const char *d);
00962
00970
00974 AQBANKING_API const char *AB_Transaction_GetRemoteCountry(const AB_TRANSACTION *el);
00978 AQBANKING_API void AB_Transaction_SetRemoteCountry(AB_TRANSACTION *el, const char *d);
00979
00983 AQBANKING_API const char *AB_Transaction_GetRemoteBankName(const AB_TRANSACTION *el);
00987 AQBANKING_API void AB_Transaction_SetRemoteBankName(AB_TRANSACTION *el, const char *d);
00988
00992 AQBANKING_API const char *AB_Transaction_GetRemoteBankLocation(const AB_TRANSACTION *el);
00996 AQBANKING_API void AB_Transaction_SetRemoteBankLocation(AB_TRANSACTION *el, const char *d);
00997
01001 AQBANKING_API const char *AB_Transaction_GetRemoteBankCode(const AB_TRANSACTION *el);
01005 AQBANKING_API void AB_Transaction_SetRemoteBankCode(AB_TRANSACTION *el, const char *d);
01006
01010 AQBANKING_API const char *AB_Transaction_GetRemoteBranchId(const AB_TRANSACTION *el);
01014 AQBANKING_API void AB_Transaction_SetRemoteBranchId(AB_TRANSACTION *el, const char *d);
01015
01019 AQBANKING_API const char *AB_Transaction_GetRemoteAccountNumber(const AB_TRANSACTION *el);
01023 AQBANKING_API void AB_Transaction_SetRemoteAccountNumber(AB_TRANSACTION *el, const char *d);
01024
01028 AQBANKING_API const char *AB_Transaction_GetRemoteSuffix(const AB_TRANSACTION *el);
01032 AQBANKING_API void AB_Transaction_SetRemoteSuffix(AB_TRANSACTION *el, const char *d);
01033
01037 AQBANKING_API const char *AB_Transaction_GetRemoteIban(const AB_TRANSACTION *el);
01041 AQBANKING_API void AB_Transaction_SetRemoteIban(AB_TRANSACTION *el, const char *d);
01042
01046 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetRemoteName(const AB_TRANSACTION *el);
01050 AQBANKING_API void AB_Transaction_SetRemoteName(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01051 AQBANKING_API void AB_Transaction_AddRemoteName(AB_TRANSACTION *st, const char *d, int chk);
01052 AQBANKING_API void AB_Transaction_RemoveRemoteName(AB_TRANSACTION *st, const char *d);
01053 AQBANKING_API void AB_Transaction_ClearRemoteName(AB_TRANSACTION *st);
01054 AQBANKING_API int AB_Transaction_HasRemoteName(const AB_TRANSACTION *st, const char *d);
01055
01061 AQBANKING_API uint32_t AB_Transaction_GetUniqueId(const AB_TRANSACTION *el);
01065 AQBANKING_API void AB_Transaction_SetUniqueId(AB_TRANSACTION *el, uint32_t d);
01066
01073 AQBANKING_API const GWEN_TIME *AB_Transaction_GetValutaDate(const AB_TRANSACTION *el);
01077 AQBANKING_API void AB_Transaction_SetValutaDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01078
01082 AQBANKING_API const GWEN_TIME *AB_Transaction_GetDate(const AB_TRANSACTION *el);
01086 AQBANKING_API void AB_Transaction_SetDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01087
01094
01098 AQBANKING_API const AB_VALUE *AB_Transaction_GetValue(const AB_TRANSACTION *el);
01102 AQBANKING_API void AB_Transaction_SetValue(AB_TRANSACTION *el, const AB_VALUE *d);
01103
01109 AQBANKING_API const AB_VALUE *AB_Transaction_GetFees(const AB_TRANSACTION *el);
01113 AQBANKING_API void AB_Transaction_SetFees(AB_TRANSACTION *el, const AB_VALUE *d);
01114
01130
01134 AQBANKING_API int AB_Transaction_GetTextKey(const AB_TRANSACTION *el);
01138 AQBANKING_API void AB_Transaction_SetTextKey(AB_TRANSACTION *el, int d);
01139
01143 AQBANKING_API const char *AB_Transaction_GetTransactionKey(const AB_TRANSACTION *el);
01147 AQBANKING_API void AB_Transaction_SetTransactionKey(AB_TRANSACTION *el, const char *d);
01148
01152 AQBANKING_API const char *AB_Transaction_GetCustomerReference(const AB_TRANSACTION *el);
01156 AQBANKING_API void AB_Transaction_SetCustomerReference(AB_TRANSACTION *el, const char *d);
01157
01161 AQBANKING_API const char *AB_Transaction_GetBankReference(const AB_TRANSACTION *el);
01165 AQBANKING_API void AB_Transaction_SetBankReference(AB_TRANSACTION *el, const char *d);
01166
01170 AQBANKING_API int AB_Transaction_GetTransactionCode(const AB_TRANSACTION *el);
01174 AQBANKING_API void AB_Transaction_SetTransactionCode(AB_TRANSACTION *el, int d);
01175
01179 AQBANKING_API const char *AB_Transaction_GetTransactionText(const AB_TRANSACTION *el);
01183 AQBANKING_API void AB_Transaction_SetTransactionText(AB_TRANSACTION *el, const char *d);
01184
01188 AQBANKING_API const char *AB_Transaction_GetPrimanota(const AB_TRANSACTION *el);
01192 AQBANKING_API void AB_Transaction_SetPrimanota(AB_TRANSACTION *el, const char *d);
01193
01197 AQBANKING_API const char *AB_Transaction_GetFiId(const AB_TRANSACTION *el);
01201 AQBANKING_API void AB_Transaction_SetFiId(AB_TRANSACTION *el, const char *d);
01202
01206 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetPurpose(const AB_TRANSACTION *el);
01210 AQBANKING_API void AB_Transaction_SetPurpose(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01211 AQBANKING_API void AB_Transaction_AddPurpose(AB_TRANSACTION *st, const char *d, int chk);
01212 AQBANKING_API void AB_Transaction_RemovePurpose(AB_TRANSACTION *st, const char *d);
01213 AQBANKING_API void AB_Transaction_ClearPurpose(AB_TRANSACTION *st);
01214 AQBANKING_API int AB_Transaction_HasPurpose(const AB_TRANSACTION *st, const char *d);
01215
01219 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetCategory(const AB_TRANSACTION *el);
01223 AQBANKING_API void AB_Transaction_SetCategory(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01224 AQBANKING_API void AB_Transaction_AddCategory(AB_TRANSACTION *st, const char *d, int chk);
01225 AQBANKING_API void AB_Transaction_RemoveCategory(AB_TRANSACTION *st, const char *d);
01226 AQBANKING_API void AB_Transaction_ClearCategory(AB_TRANSACTION *st);
01227 AQBANKING_API int AB_Transaction_HasCategory(const AB_TRANSACTION *st, const char *d);
01228
01238
01242 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_GetPeriod(const AB_TRANSACTION *el);
01246 AQBANKING_API void AB_Transaction_SetPeriod(AB_TRANSACTION *el, AB_TRANSACTION_PERIOD d);
01247
01251 AQBANKING_API int AB_Transaction_GetCycle(const AB_TRANSACTION *el);
01255 AQBANKING_API void AB_Transaction_SetCycle(AB_TRANSACTION *el, int d);
01256
01260 AQBANKING_API int AB_Transaction_GetExecutionDay(const AB_TRANSACTION *el);
01264 AQBANKING_API void AB_Transaction_SetExecutionDay(AB_TRANSACTION *el, int d);
01265
01269 AQBANKING_API const GWEN_TIME *AB_Transaction_GetFirstExecutionDate(const AB_TRANSACTION *el);
01273 AQBANKING_API void AB_Transaction_SetFirstExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01274
01278 AQBANKING_API const GWEN_TIME *AB_Transaction_GetLastExecutionDate(const AB_TRANSACTION *el);
01282 AQBANKING_API void AB_Transaction_SetLastExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01283
01287 AQBANKING_API const GWEN_TIME *AB_Transaction_GetNextExecutionDate(const AB_TRANSACTION *el);
01291 AQBANKING_API void AB_Transaction_SetNextExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01292
01302
01306 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_GetType(const AB_TRANSACTION *el);
01310 AQBANKING_API void AB_Transaction_SetType(AB_TRANSACTION *el, AB_TRANSACTION_TYPE d);
01311
01315 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_GetSubType(const AB_TRANSACTION *el);
01319 AQBANKING_API void AB_Transaction_SetSubType(AB_TRANSACTION *el, AB_TRANSACTION_SUBTYPE d);
01320
01324 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_GetStatus(const AB_TRANSACTION *el);
01328 AQBANKING_API void AB_Transaction_SetStatus(AB_TRANSACTION *el, AB_TRANSACTION_STATUS d);
01329
01333 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_GetCharge(const AB_TRANSACTION *el);
01337 AQBANKING_API void AB_Transaction_SetCharge(AB_TRANSACTION *el, AB_TRANSACTION_CHARGE d);
01338
01348
01352 AQBANKING_API const char *AB_Transaction_GetRemoteAddrStreet(const AB_TRANSACTION *el);
01356 AQBANKING_API void AB_Transaction_SetRemoteAddrStreet(AB_TRANSACTION *el, const char *d);
01357
01361 AQBANKING_API const char *AB_Transaction_GetRemoteAddrZipcode(const AB_TRANSACTION *el);
01365 AQBANKING_API void AB_Transaction_SetRemoteAddrZipcode(AB_TRANSACTION *el, const char *d);
01366
01370 AQBANKING_API const char *AB_Transaction_GetRemoteAddrCity(const AB_TRANSACTION *el);
01374 AQBANKING_API void AB_Transaction_SetRemoteAddrCity(AB_TRANSACTION *el, const char *d);
01375
01379 AQBANKING_API const char *AB_Transaction_GetRemotePhone(const AB_TRANSACTION *el);
01383 AQBANKING_API void AB_Transaction_SetRemotePhone(AB_TRANSACTION *el, const char *d);
01384
01394
01398 AQBANKING_API const char *AB_Transaction_GetUnitId(const AB_TRANSACTION *el);
01402 AQBANKING_API void AB_Transaction_SetUnitId(AB_TRANSACTION *el, const char *d);
01403
01407 AQBANKING_API const char *AB_Transaction_GetUnitIdNameSpace(const AB_TRANSACTION *el);
01411 AQBANKING_API void AB_Transaction_SetUnitIdNameSpace(AB_TRANSACTION *el, const char *d);
01412
01416 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnits(const AB_TRANSACTION *el);
01420 AQBANKING_API void AB_Transaction_SetUnits(AB_TRANSACTION *el, const AB_VALUE *d);
01421
01425 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnitPrice(const AB_TRANSACTION *el);
01429 AQBANKING_API void AB_Transaction_SetUnitPrice(AB_TRANSACTION *el, const AB_VALUE *d);
01430
01434 AQBANKING_API const AB_VALUE *AB_Transaction_GetCommission(const AB_TRANSACTION *el);
01438 AQBANKING_API void AB_Transaction_SetCommission(AB_TRANSACTION *el, const AB_VALUE *d);
01439
01443 #ifdef __cplusplus
01444 }
01445 #endif
01446
01447
01448 #endif