account.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id: account.h 950 2006-02-22 19:39:02Z aquamaniac $
00005  begin       : Mon Mar 01 2004
00006  copyright   : (C) 2004 by Martin Preuss
00007  email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *          Please see toplevel file COPYING for license details           *
00011  ***************************************************************************/
00012 
00013 
00014 #ifndef AQBANKING_ACCOUNT_H
00015 #define AQBANKING_ACCOUNT_H
00016 
00017 #include <gwenhywfar/misc.h>
00018 #include <gwenhywfar/list2.h>
00019 #include <gwenhywfar/inherit.h>
00020 #include <gwenhywfar/types.h>
00021 #include <gwenhywfar/db.h>
00022 #include <gwenhywfar/stringlist.h>
00023 #include <aqbanking/error.h> /* for AQBANKING_API */
00024 
00025 
00033 
00034 
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038 
00039 
00040 typedef struct AB_ACCOUNT AB_ACCOUNT;
00041 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_ACCOUNT, AQBANKING_API)
00042 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_ACCOUNT, AB_Account, AQBANKING_API)
00043 /* Do not terminate these lines with semicolon because they are
00044    macros, not functions, and ISO C89 does not allow a semicolon
00045    there. */
00046 void AB_Account_List2_FreeAll(AB_ACCOUNT_LIST2 *al);
00047 
00048 typedef enum {
00049   AB_AccountType_Unknown=0,
00050   AB_AccountType_Bank,
00051   AB_AccountType_CreditCard,
00052   AB_AccountType_Checking,
00053   AB_AccountType_Savings,
00054   AB_AccountType_Investment,
00055   AB_AccountType_Cash
00056 } AB_ACCOUNT_TYPE;
00057 
00058 #ifdef __cplusplus
00059 }
00060 #endif
00061 
00062 
00063 #include <aqbanking/banking.h>
00064 #include <aqbanking/provider.h>
00065 #include <aqbanking/job.h>
00066 #include <aqbanking/user.h>
00067 
00068 
00069 #ifdef __cplusplus
00070 extern "C" {
00071 #endif
00072 
00073 AQBANKING_API 
00074 void AB_Account_free(AB_ACCOUNT *acc);
00075 
00076 AQBANKING_API 
00077 AB_BANKING *AB_Account_GetBanking(const AB_ACCOUNT *acc);
00078 
00079 AQBANKING_API 
00080 AB_ACCOUNT_TYPE AB_Account_GetAccountType(const AB_ACCOUNT *acc);
00081 AQBANKING_API 
00082 void AB_Account_SetAccountType(AB_ACCOUNT *acc, AB_ACCOUNT_TYPE t);
00083 
00084 AQBANKING_API 
00085 GWEN_TYPE_UINT32 AB_Account_GetUniqueId(const AB_ACCOUNT *acc);
00086 
00087 AQBANKING_API
00088 void AB_Account_SetUniqueId(AB_ACCOUNT *acc, GWEN_TYPE_UINT32 id);
00089 
00090 AQBANKING_API 
00091 const char *AB_Account_GetBackendName(const AB_ACCOUNT *acc);
00092 
00093 
00094 AQBANKING_API 
00095 AB_PROVIDER *AB_Account_GetProvider(const AB_ACCOUNT *acc);
00096 
00097 AQBANKING_API 
00098 GWEN_DB_NODE *AB_Account_GetAppData(const AB_ACCOUNT *acc);
00099 AQBANKING_API 
00100 GWEN_DB_NODE *AB_Account_GetProviderData(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 AQBANKING_API 
00108 const char *AB_Account_GetBankCode(const AB_ACCOUNT *acc);
00109 AQBANKING_API 
00110 void AB_Account_SetBankCode(AB_ACCOUNT *acc, const char *s);
00111 
00116 AQBANKING_API 
00117 const char *AB_Account_GetAccountName(const AB_ACCOUNT *acc);
00118 AQBANKING_API 
00119 void AB_Account_SetAccountName(AB_ACCOUNT *acc, const char *s);
00120 
00122 AQBANKING_API 
00123 const char *AB_Account_GetBankName(const AB_ACCOUNT *acc);
00124 AQBANKING_API 
00125 void AB_Account_SetBankName(AB_ACCOUNT *acc, const char *s);
00126 
00127 AQBANKING_API 
00128 const char *AB_Account_GetOwnerName(const AB_ACCOUNT *acc);
00129 AQBANKING_API 
00130 void AB_Account_SetOwnerName(AB_ACCOUNT *acc, const char *s);
00131 
00132 AQBANKING_API 
00133 const char *AB_Account_GetCurrency(const AB_ACCOUNT *acc);
00134 
00135 AQBANKING_API 
00136 void AB_Account_SetCurrency(AB_ACCOUNT *acc, const char *s);
00137 
00141 AQBANKING_API 
00142 const char *AB_Account_GetCountry(const AB_ACCOUNT *acc);
00143 
00144 AQBANKING_API
00145 void AB_Account_SetCountry(AB_ACCOUNT *acc, const char *s);
00146 
00152 AQBANKING_API
00153 AB_USER_LIST2 *AB_Account_GetUsers(const AB_ACCOUNT *acc);
00154 
00155 AQBANKING_API
00156 AB_USER *AB_Account_GetFirstUser(const AB_ACCOUNT *acc);
00157 
00158 AQBANKING_API
00159 void AB_Account_SetUsers(AB_ACCOUNT *acc, const AB_USER_LIST2 *ul);
00160 
00161 AQBANKING_API
00162 void AB_Account_SetUser(AB_ACCOUNT *acc, const AB_USER *u);
00163 
00164 
00165 AQBANKING_API
00166 AB_USER_LIST2 *AB_Account_GetSelectedUsers(const AB_ACCOUNT *acc);
00167 
00168 AQBANKING_API
00169 AB_USER *AB_Account_GetFirstSelectedUser(const AB_ACCOUNT *acc);
00170 
00171 AQBANKING_API
00172 void AB_Account_SetSelectedUsers(AB_ACCOUNT *acc, const AB_USER_LIST2 *ul);
00173 
00174 AQBANKING_API
00175 void AB_Account_SetSelectedUser(AB_ACCOUNT *a, const AB_USER *u);
00176 
00177 
00178 
00179 
00180 #ifdef __cplusplus
00181 }
00182 #endif
00183 
00184  /* defgroup */
00186 
00187 
00188 #endif /* AQBANKING_ACCOUNT_H */

Generated on Fri Nov 10 03:56:53 2006 for aqbanking by  doxygen 1.5.1