00001
00002
00003
00004 #ifndef TRANSACTION_H
00005 #define TRANSACTION_H
00006
00768 #ifdef __cplusplus
00769 extern "C" {
00770 #endif
00771
00772 typedef struct AB_TRANSACTION AB_TRANSACTION;
00773
00774 #ifdef __cplusplus
00775 }
00776 #endif
00777
00778 #include <gwenhywfar/db.h>
00779 #include <gwenhywfar/inherit.h>
00780 #include <gwenhywfar/list2.h>
00781
00782 #include <gwenhywfar/types.h>
00783 #include <gwenhywfar/gwentime.h>
00784 #include <gwenhywfar/stringlist.h>
00785 #include <aqbanking/value.h>
00786 #include <aqbanking/transactionlimits.h>
00787 #include <aqbanking/transactionfns.h>
00788
00789 #ifdef __cplusplus
00790 extern "C" {
00791 #endif
00792
00793 typedef enum {
00794 AB_Transaction_PeriodUnknown=-1,
00797 AB_Transaction_PeriodNone=0,
00800 AB_Transaction_PeriodMonthly,
00803 AB_Transaction_PeriodWeekly
00804 } AB_TRANSACTION_PERIOD;
00805
00806 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_Period_fromString(const char *s);
00807 AQBANKING_API const char *AB_Transaction_Period_toString(AB_TRANSACTION_PERIOD v);
00808
00809 typedef enum {
00810 AB_Transaction_TypeUnknown=-1,
00813 AB_Transaction_TypeTransaction=0,
00816 AB_Transaction_TypeTransfer,
00819 AB_Transaction_TypeDebitNote,
00822 AB_Transaction_TypeEuTransfer
00823 } AB_TRANSACTION_TYPE;
00824
00825 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_Type_fromString(const char *s);
00826 AQBANKING_API const char *AB_Transaction_Type_toString(AB_TRANSACTION_TYPE v);
00827
00828 typedef enum {
00829 AB_Transaction_SubTypeUnknown=-1,
00832 AB_Transaction_SubTypeNone=0,
00835 AB_Transaction_SubTypeStandard,
00838 AB_Transaction_SubTypeCheck,
00841 AB_Transaction_SubTypeBookedDebitNote,
00844 AB_Transaction_SubTypeDrawnDebitNote,
00847 AB_Transaction_SubTypeStandingOrder,
00850 AB_Transaction_SubTypeLoan,
00853 AB_Transaction_SubTypeEuStandard,
00856 AB_Transaction_SubTypeEuASAP,
00859 AB_Transaction_SubTypeBuy,
00862 AB_Transaction_SubTypeSell,
00865 AB_Transaction_SubTypeReinvest,
00868 AB_Transaction_SubTypeDividend
00869 } AB_TRANSACTION_SUBTYPE;
00870
00871 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_SubType_fromString(const char *s);
00872 AQBANKING_API const char *AB_Transaction_SubType_toString(AB_TRANSACTION_SUBTYPE v);
00873
00874 typedef enum {
00875 AB_Transaction_StatusUnknown=-1,
00878 AB_Transaction_StatusNone=0,
00881 AB_Transaction_StatusAccepted,
00884 AB_Transaction_StatusRejected,
00887 AB_Transaction_StatusPending,
00890 AB_Transaction_StatusSending,
00893 AB_Transaction_StatusAutoReconciled,
00896 AB_Transaction_StatusManuallyReconciled,
00899 AB_Transaction_StatusRevoked,
00902 AB_Transaction_StatusAborted
00903 } AB_TRANSACTION_STATUS;
00904
00905 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_Status_fromString(const char *s);
00906 AQBANKING_API const char *AB_Transaction_Status_toString(AB_TRANSACTION_STATUS v);
00907
00908 typedef enum {
00909 AB_Transaction_ChargeUnknown=-1,
00912 AB_Transaction_ChargeNobody=0,
00915 AB_Transaction_ChargeLocal,
00918 AB_Transaction_ChargeRemote,
00921 AB_Transaction_ChargeShare
00922 } AB_TRANSACTION_CHARGE;
00923
00924 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_Charge_fromString(const char *s);
00925 AQBANKING_API const char *AB_Transaction_Charge_toString(AB_TRANSACTION_CHARGE v);
00926
00927
00928 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_TRANSACTION, AQBANKING_API)
00929 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_TRANSACTION, AB_Transaction, AQBANKING_API)
00930
00933 AQBANKING_API void AB_Transaction_List2_freeAll(AB_TRANSACTION_LIST2 *stl);
00934
00937 AQBANKING_API AB_TRANSACTION *AB_Transaction_new();
00940 AQBANKING_API AB_TRANSACTION *AB_Transaction_fromDb(GWEN_DB_NODE *db);
00943 AQBANKING_API AB_TRANSACTION *AB_Transaction_dup(const AB_TRANSACTION*st);
00946 AQBANKING_API void AB_Transaction_free(AB_TRANSACTION *st);
00949 AQBANKING_API void AB_Transaction_Attach(AB_TRANSACTION *st);
00952 AQBANKING_API int AB_Transaction_ReadDb(AB_TRANSACTION *st, GWEN_DB_NODE *db);
00955 AQBANKING_API int AB_Transaction_toDb(const AB_TRANSACTION*st, GWEN_DB_NODE *db);
00958 AQBANKING_API int AB_Transaction_IsModified(const AB_TRANSACTION *st);
00961 AQBANKING_API void AB_Transaction_SetModified(AB_TRANSACTION *st, int i);
00962
00963
00964
00970
00974 AQBANKING_API const char *AB_Transaction_GetLocalCountry(const AB_TRANSACTION *el);
00978 AQBANKING_API void AB_Transaction_SetLocalCountry(AB_TRANSACTION *el, const char *d);
00979
00983 AQBANKING_API const char *AB_Transaction_GetLocalBankCode(const AB_TRANSACTION *el);
00987 AQBANKING_API void AB_Transaction_SetLocalBankCode(AB_TRANSACTION *el, const char *d);
00988
00992 AQBANKING_API const char *AB_Transaction_GetLocalBranchId(const AB_TRANSACTION *el);
00996 AQBANKING_API void AB_Transaction_SetLocalBranchId(AB_TRANSACTION *el, const char *d);
00997
01001 AQBANKING_API const char *AB_Transaction_GetLocalAccountNumber(const AB_TRANSACTION *el);
01005 AQBANKING_API void AB_Transaction_SetLocalAccountNumber(AB_TRANSACTION *el, const char *d);
01006
01010 AQBANKING_API const char *AB_Transaction_GetLocalSuffix(const AB_TRANSACTION *el);
01014 AQBANKING_API void AB_Transaction_SetLocalSuffix(AB_TRANSACTION *el, const char *d);
01015
01019 AQBANKING_API const char *AB_Transaction_GetLocalIban(const AB_TRANSACTION *el);
01023 AQBANKING_API void AB_Transaction_SetLocalIban(AB_TRANSACTION *el, const char *d);
01024
01028 AQBANKING_API const char *AB_Transaction_GetLocalName(const AB_TRANSACTION *el);
01032 AQBANKING_API void AB_Transaction_SetLocalName(AB_TRANSACTION *el, const char *d);
01033
01037 AQBANKING_API const char *AB_Transaction_GetLocalBic(const AB_TRANSACTION *el);
01041 AQBANKING_API void AB_Transaction_SetLocalBic(AB_TRANSACTION *el, const char *d);
01042
01050
01054 AQBANKING_API const char *AB_Transaction_GetRemoteCountry(const AB_TRANSACTION *el);
01058 AQBANKING_API void AB_Transaction_SetRemoteCountry(AB_TRANSACTION *el, const char *d);
01059
01063 AQBANKING_API const char *AB_Transaction_GetRemoteBankName(const AB_TRANSACTION *el);
01067 AQBANKING_API void AB_Transaction_SetRemoteBankName(AB_TRANSACTION *el, const char *d);
01068
01072 AQBANKING_API const char *AB_Transaction_GetRemoteBankLocation(const AB_TRANSACTION *el);
01076 AQBANKING_API void AB_Transaction_SetRemoteBankLocation(AB_TRANSACTION *el, const char *d);
01077
01081 AQBANKING_API const char *AB_Transaction_GetRemoteBankCode(const AB_TRANSACTION *el);
01085 AQBANKING_API void AB_Transaction_SetRemoteBankCode(AB_TRANSACTION *el, const char *d);
01086
01090 AQBANKING_API const char *AB_Transaction_GetRemoteBranchId(const AB_TRANSACTION *el);
01094 AQBANKING_API void AB_Transaction_SetRemoteBranchId(AB_TRANSACTION *el, const char *d);
01095
01099 AQBANKING_API const char *AB_Transaction_GetRemoteAccountNumber(const AB_TRANSACTION *el);
01103 AQBANKING_API void AB_Transaction_SetRemoteAccountNumber(AB_TRANSACTION *el, const char *d);
01104
01108 AQBANKING_API const char *AB_Transaction_GetRemoteSuffix(const AB_TRANSACTION *el);
01112 AQBANKING_API void AB_Transaction_SetRemoteSuffix(AB_TRANSACTION *el, const char *d);
01113
01117 AQBANKING_API const char *AB_Transaction_GetRemoteIban(const AB_TRANSACTION *el);
01121 AQBANKING_API void AB_Transaction_SetRemoteIban(AB_TRANSACTION *el, const char *d);
01122
01126 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetRemoteName(const AB_TRANSACTION *el);
01130 AQBANKING_API void AB_Transaction_SetRemoteName(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01131 AQBANKING_API void AB_Transaction_AddRemoteName(AB_TRANSACTION *st, const char *d, int chk);
01132 AQBANKING_API void AB_Transaction_RemoveRemoteName(AB_TRANSACTION *st, const char *d);
01133 AQBANKING_API void AB_Transaction_ClearRemoteName(AB_TRANSACTION *st);
01134 AQBANKING_API int AB_Transaction_HasRemoteName(const AB_TRANSACTION *st, const char *d);
01135
01139 AQBANKING_API const char *AB_Transaction_GetRemoteBic(const AB_TRANSACTION *el);
01143 AQBANKING_API void AB_Transaction_SetRemoteBic(AB_TRANSACTION *el, const char *d);
01144
01150 AQBANKING_API uint32_t AB_Transaction_GetUniqueId(const AB_TRANSACTION *el);
01154 AQBANKING_API void AB_Transaction_SetUniqueId(AB_TRANSACTION *el, uint32_t d);
01155
01159 AQBANKING_API uint32_t AB_Transaction_GetIdForApplication(const AB_TRANSACTION *el);
01163 AQBANKING_API void AB_Transaction_SetIdForApplication(AB_TRANSACTION *el, uint32_t d);
01164
01168 AQBANKING_API uint32_t AB_Transaction_GetGroupId(const AB_TRANSACTION *el);
01172 AQBANKING_API void AB_Transaction_SetGroupId(AB_TRANSACTION *el, uint32_t d);
01173
01180 AQBANKING_API const GWEN_TIME *AB_Transaction_GetValutaDate(const AB_TRANSACTION *el);
01184 AQBANKING_API void AB_Transaction_SetValutaDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01185
01189 AQBANKING_API const GWEN_TIME *AB_Transaction_GetDate(const AB_TRANSACTION *el);
01193 AQBANKING_API void AB_Transaction_SetDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01194
01201
01205 AQBANKING_API const AB_VALUE *AB_Transaction_GetValue(const AB_TRANSACTION *el);
01209 AQBANKING_API void AB_Transaction_SetValue(AB_TRANSACTION *el, const AB_VALUE *d);
01210
01216 AQBANKING_API const AB_VALUE *AB_Transaction_GetFees(const AB_TRANSACTION *el);
01220 AQBANKING_API void AB_Transaction_SetFees(AB_TRANSACTION *el, const AB_VALUE *d);
01221
01237
01241 AQBANKING_API int AB_Transaction_GetTextKey(const AB_TRANSACTION *el);
01245 AQBANKING_API void AB_Transaction_SetTextKey(AB_TRANSACTION *el, int d);
01246
01250 AQBANKING_API int AB_Transaction_GetTextKeyExt(const AB_TRANSACTION *el);
01254 AQBANKING_API void AB_Transaction_SetTextKeyExt(AB_TRANSACTION *el, int d);
01255
01259 AQBANKING_API const char *AB_Transaction_GetTransactionKey(const AB_TRANSACTION *el);
01263 AQBANKING_API void AB_Transaction_SetTransactionKey(AB_TRANSACTION *el, const char *d);
01264
01268 AQBANKING_API const char *AB_Transaction_GetCustomerReference(const AB_TRANSACTION *el);
01272 AQBANKING_API void AB_Transaction_SetCustomerReference(AB_TRANSACTION *el, const char *d);
01273
01277 AQBANKING_API const char *AB_Transaction_GetBankReference(const AB_TRANSACTION *el);
01281 AQBANKING_API void AB_Transaction_SetBankReference(AB_TRANSACTION *el, const char *d);
01282
01286 AQBANKING_API int AB_Transaction_GetTransactionCode(const AB_TRANSACTION *el);
01290 AQBANKING_API void AB_Transaction_SetTransactionCode(AB_TRANSACTION *el, int d);
01291
01295 AQBANKING_API const char *AB_Transaction_GetTransactionText(const AB_TRANSACTION *el);
01299 AQBANKING_API void AB_Transaction_SetTransactionText(AB_TRANSACTION *el, const char *d);
01300
01304 AQBANKING_API const char *AB_Transaction_GetPrimanota(const AB_TRANSACTION *el);
01308 AQBANKING_API void AB_Transaction_SetPrimanota(AB_TRANSACTION *el, const char *d);
01309
01313 AQBANKING_API const char *AB_Transaction_GetFiId(const AB_TRANSACTION *el);
01317 AQBANKING_API void AB_Transaction_SetFiId(AB_TRANSACTION *el, const char *d);
01318
01322 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetPurpose(const AB_TRANSACTION *el);
01326 AQBANKING_API void AB_Transaction_SetPurpose(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01327 AQBANKING_API void AB_Transaction_AddPurpose(AB_TRANSACTION *st, const char *d, int chk);
01328 AQBANKING_API void AB_Transaction_RemovePurpose(AB_TRANSACTION *st, const char *d);
01329 AQBANKING_API void AB_Transaction_ClearPurpose(AB_TRANSACTION *st);
01330 AQBANKING_API int AB_Transaction_HasPurpose(const AB_TRANSACTION *st, const char *d);
01331
01335 AQBANKING_API const GWEN_STRINGLIST *AB_Transaction_GetCategory(const AB_TRANSACTION *el);
01339 AQBANKING_API void AB_Transaction_SetCategory(AB_TRANSACTION *el, const GWEN_STRINGLIST *d);
01340 AQBANKING_API void AB_Transaction_AddCategory(AB_TRANSACTION *st, const char *d, int chk);
01341 AQBANKING_API void AB_Transaction_RemoveCategory(AB_TRANSACTION *st, const char *d);
01342 AQBANKING_API void AB_Transaction_ClearCategory(AB_TRANSACTION *st);
01343 AQBANKING_API int AB_Transaction_HasCategory(const AB_TRANSACTION *st, const char *d);
01344
01354
01358 AQBANKING_API AB_TRANSACTION_PERIOD AB_Transaction_GetPeriod(const AB_TRANSACTION *el);
01362 AQBANKING_API void AB_Transaction_SetPeriod(AB_TRANSACTION *el, AB_TRANSACTION_PERIOD d);
01363
01367 AQBANKING_API int AB_Transaction_GetCycle(const AB_TRANSACTION *el);
01371 AQBANKING_API void AB_Transaction_SetCycle(AB_TRANSACTION *el, int d);
01372
01376 AQBANKING_API int AB_Transaction_GetExecutionDay(const AB_TRANSACTION *el);
01380 AQBANKING_API void AB_Transaction_SetExecutionDay(AB_TRANSACTION *el, int d);
01381
01385 AQBANKING_API const GWEN_TIME *AB_Transaction_GetFirstExecutionDate(const AB_TRANSACTION *el);
01389 AQBANKING_API void AB_Transaction_SetFirstExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01390
01394 AQBANKING_API const GWEN_TIME *AB_Transaction_GetLastExecutionDate(const AB_TRANSACTION *el);
01398 AQBANKING_API void AB_Transaction_SetLastExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01399
01403 AQBANKING_API const GWEN_TIME *AB_Transaction_GetNextExecutionDate(const AB_TRANSACTION *el);
01407 AQBANKING_API void AB_Transaction_SetNextExecutionDate(AB_TRANSACTION *el, const GWEN_TIME *d);
01408
01418
01422 AQBANKING_API AB_TRANSACTION_TYPE AB_Transaction_GetType(const AB_TRANSACTION *el);
01426 AQBANKING_API void AB_Transaction_SetType(AB_TRANSACTION *el, AB_TRANSACTION_TYPE d);
01427
01431 AQBANKING_API AB_TRANSACTION_SUBTYPE AB_Transaction_GetSubType(const AB_TRANSACTION *el);
01435 AQBANKING_API void AB_Transaction_SetSubType(AB_TRANSACTION *el, AB_TRANSACTION_SUBTYPE d);
01436
01440 AQBANKING_API AB_TRANSACTION_STATUS AB_Transaction_GetStatus(const AB_TRANSACTION *el);
01444 AQBANKING_API void AB_Transaction_SetStatus(AB_TRANSACTION *el, AB_TRANSACTION_STATUS d);
01445
01449 AQBANKING_API AB_TRANSACTION_CHARGE AB_Transaction_GetCharge(const AB_TRANSACTION *el);
01453 AQBANKING_API void AB_Transaction_SetCharge(AB_TRANSACTION *el, AB_TRANSACTION_CHARGE d);
01454
01464
01468 AQBANKING_API const char *AB_Transaction_GetRemoteAddrStreet(const AB_TRANSACTION *el);
01472 AQBANKING_API void AB_Transaction_SetRemoteAddrStreet(AB_TRANSACTION *el, const char *d);
01473
01477 AQBANKING_API const char *AB_Transaction_GetRemoteAddrZipcode(const AB_TRANSACTION *el);
01481 AQBANKING_API void AB_Transaction_SetRemoteAddrZipcode(AB_TRANSACTION *el, const char *d);
01482
01486 AQBANKING_API const char *AB_Transaction_GetRemoteAddrCity(const AB_TRANSACTION *el);
01490 AQBANKING_API void AB_Transaction_SetRemoteAddrCity(AB_TRANSACTION *el, const char *d);
01491
01495 AQBANKING_API const char *AB_Transaction_GetRemotePhone(const AB_TRANSACTION *el);
01499 AQBANKING_API void AB_Transaction_SetRemotePhone(AB_TRANSACTION *el, const char *d);
01500
01510
01514 AQBANKING_API const char *AB_Transaction_GetUnitId(const AB_TRANSACTION *el);
01518 AQBANKING_API void AB_Transaction_SetUnitId(AB_TRANSACTION *el, const char *d);
01519
01523 AQBANKING_API const char *AB_Transaction_GetUnitIdNameSpace(const AB_TRANSACTION *el);
01527 AQBANKING_API void AB_Transaction_SetUnitIdNameSpace(AB_TRANSACTION *el, const char *d);
01528
01532 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnits(const AB_TRANSACTION *el);
01536 AQBANKING_API void AB_Transaction_SetUnits(AB_TRANSACTION *el, const AB_VALUE *d);
01537
01541 AQBANKING_API const AB_VALUE *AB_Transaction_GetUnitPrice(const AB_TRANSACTION *el);
01545 AQBANKING_API void AB_Transaction_SetUnitPrice(AB_TRANSACTION *el, const AB_VALUE *d);
01546
01550 AQBANKING_API const AB_VALUE *AB_Transaction_GetCommission(const AB_TRANSACTION *el);
01554 AQBANKING_API void AB_Transaction_SetCommission(AB_TRANSACTION *el, const AB_VALUE *d);
01555
01559 #ifdef __cplusplus
01560 }
01561 #endif
01562
01563
01564 #endif