aqbanking 5.0.2

account.h

Go to the documentation of this file.
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 */