aqbanking 5.0.2
|
00001 /*************************************************************************** 00002 begin : Mon Mar 01 2004 00003 copyright : (C) 2004 by Martin Preuss 00004 email : martin@libchipcard.de 00005 00006 *************************************************************************** 00007 * This file is part of the project "AqBanking". * 00008 * Please see toplevel file COPYING of that project for license details. * 00009 ***************************************************************************/ 00010 00011 00012 #ifndef AQBANKING_ACCOUNT_H 00013 #define AQBANKING_ACCOUNT_H 00014 00015 #include <gwenhywfar/misc.h> 00016 #include <gwenhywfar/list2.h> 00017 #include <gwenhywfar/inherit.h> 00018 #include <gwenhywfar/types.h> 00019 #include <gwenhywfar/db.h> 00020 #include <gwenhywfar/stringlist.h> 00021 #include <aqbanking/error.h> /* for AQBANKING_API */ 00022 00023 00037 00038 00039 #ifdef __cplusplus 00040 extern "C" { 00041 #endif 00042 00043 00044 typedef struct AB_ACCOUNT AB_ACCOUNT; 00045 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_ACCOUNT, AQBANKING_API) 00046 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_ACCOUNT, AB_Account, AQBANKING_API) 00047 /* Do not terminate these lines with semicolon because they are 00048 macros, not functions, and ISO C89 does not allow a semicolon 00049 there. */ 00050 void AB_Account_List2_FreeAll(AB_ACCOUNT_LIST2 *al); 00051 00052 typedef enum { 00053 AB_AccountType_Unknown=0, 00054 AB_AccountType_Bank, 00055 AB_AccountType_CreditCard, 00056 AB_AccountType_Checking, 00057 AB_AccountType_Savings, 00058 AB_AccountType_Investment, 00059 AB_AccountType_Cash, 00060 AB_AccountType_MoneyMarket 00061 } AB_ACCOUNT_TYPE; 00062 00063 #ifdef __cplusplus 00064 } 00065 #endif 00066 00067 00068 #include <aqbanking/banking.h> 00069 #include <aqbanking/provider.h> 00070 #include <aqbanking/job.h> 00071 #include <aqbanking/user.h> 00072 00073 00074 #ifdef __cplusplus 00075 extern "C" { 00076 #endif 00077 00078 AQBANKING_API 00079 void AB_Account_free(AB_ACCOUNT *acc); 00080 00081 AQBANKING_API 00082 AB_BANKING *AB_Account_GetBanking(const AB_ACCOUNT *acc); 00083 00084 AQBANKING_API 00085 AB_ACCOUNT_TYPE AB_Account_GetAccountType(const AB_ACCOUNT *acc); 00086 AQBANKING_API 00087 void AB_Account_SetAccountType(AB_ACCOUNT *acc, AB_ACCOUNT_TYPE t); 00088 00089 AQBANKING_API 00090 uint32_t AB_Account_GetUniqueId(const AB_ACCOUNT *acc); 00091 00092 AQBANKING_API 00093 void AB_Account_SetUniqueId(AB_ACCOUNT *acc, uint32_t id); 00094 00095 AQBANKING_API 00096 const char *AB_Account_GetBackendName(const AB_ACCOUNT *acc); 00097 00098 00099 AQBANKING_API 00100 AB_PROVIDER *AB_Account_GetProvider(const AB_ACCOUNT *acc); 00101 00102 AQBANKING_API 00103 const char *AB_Account_GetAccountNumber(const AB_ACCOUNT *acc); 00104 AQBANKING_API 00105 void AB_Account_SetAccountNumber(AB_ACCOUNT *acc, const char *s); 00106 00107 00108 AQBANKING_API 00109 const char *AB_Account_GetSubAccountId(const AB_ACCOUNT *acc); 00110 AQBANKING_API 00111 void AB_Account_SetSubAccountId(AB_ACCOUNT *acc, const char *s); 00112 00113 AQBANKING_API 00114 const char *AB_Account_GetBankCode(const AB_ACCOUNT *acc); 00115 AQBANKING_API 00116 void AB_Account_SetBankCode(AB_ACCOUNT *acc, const char *s); 00117 00122 AQBANKING_API 00123 const char *AB_Account_GetAccountName(const AB_ACCOUNT *acc); 00124 AQBANKING_API 00125 void AB_Account_SetAccountName(AB_ACCOUNT *acc, const char *s); 00126 00128 AQBANKING_API 00129 const char *AB_Account_GetBankName(const AB_ACCOUNT *acc); 00130 AQBANKING_API 00131 void AB_Account_SetBankName(AB_ACCOUNT *acc, const char *s); 00132 00133 AQBANKING_API 00134 const char *AB_Account_GetIBAN(const AB_ACCOUNT *a); 00135 AQBANKING_API 00136 void AB_Account_SetIBAN(AB_ACCOUNT *a, const char *s); 00137 00138 00139 AQBANKING_API 00140 const char *AB_Account_GetBIC(const AB_ACCOUNT *a); 00141 AQBANKING_API 00142 void AB_Account_SetBIC(AB_ACCOUNT *a, const char *s); 00143 00144 00145 AQBANKING_API 00146 const char *AB_Account_GetOwnerName(const AB_ACCOUNT *acc); 00147 AQBANKING_API 00148 void AB_Account_SetOwnerName(AB_ACCOUNT *acc, const char *s); 00149 00150 AQBANKING_API 00151 const char *AB_Account_GetCurrency(const AB_ACCOUNT *acc); 00152 00153 AQBANKING_API 00154 void AB_Account_SetCurrency(AB_ACCOUNT *acc, const char *s); 00155 00159 AQBANKING_API 00160 const char *AB_Account_GetCountry(const AB_ACCOUNT *acc); 00161 00162 AQBANKING_API 00163 void AB_Account_SetCountry(AB_ACCOUNT *acc, const char *s); 00164 00170 AQBANKING_API 00171 AB_USER_LIST2 *AB_Account_GetUsers(const AB_ACCOUNT *acc); 00172 00173 AQBANKING_API 00174 AB_USER *AB_Account_GetFirstUser(const AB_ACCOUNT *acc); 00175 00176 AQBANKING_API 00177 void AB_Account_SetUsers(AB_ACCOUNT *acc, const AB_USER_LIST2 *ul); 00178 00179 AQBANKING_API 00180 void AB_Account_SetUser(AB_ACCOUNT *acc, const AB_USER *u); 00181 00182 00183 AQBANKING_API 00184 AB_USER_LIST2 *AB_Account_GetSelectedUsers(const AB_ACCOUNT *acc); 00185 00186 AQBANKING_API 00187 AB_USER *AB_Account_GetFirstSelectedUser(const AB_ACCOUNT *acc); 00188 00189 AQBANKING_API 00190 void AB_Account_SetSelectedUsers(AB_ACCOUNT *acc, const AB_USER_LIST2 *ul); 00191 00192 AQBANKING_API 00193 void AB_Account_SetSelectedUser(AB_ACCOUNT *a, const AB_USER *u); 00194 00195 00196 #ifdef __cplusplus 00197 } 00198 #endif 00199 00200 /* defgroup */ 00202 00203 00204 #endif /* AQBANKING_ACCOUNT_H */