00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef AO_BANK_H
00014 #define AO_BANK_H
00015
00016
00017 #include <gwenhywfar/misc.h>
00018 #include <gwenhywfar/db.h>
00019
00020 #include <aqofxconnect/aqofxconnect.h>
00021
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025
00026 typedef struct AO_BANK AO_BANK;
00027 GWEN_LIST_FUNCTION_LIB_DEFS(AO_BANK, AO_Bank, AQOFXCONNECT_API)
00028
00029 #ifdef __cplusplus
00030 }
00031 #endif
00032
00033 #include <aqofxconnect/account.h>
00034 #include <aqofxconnect/user.h>
00035 #include <aqbanking/banking.h>
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00041 typedef enum {
00042 AO_Bank_ServerTypeUnknown=0,
00043 AO_Bank_ServerTypeHTTP,
00044 AO_Bank_ServerTypeHTTPS
00045 } AO_BANK_SERVERTYPE;
00046
00047
00048 AO_BANK *AO_Bank_new(AB_PROVIDER *pro,
00049 const char *country, const char *bankId);
00050 void AO_Bank_free(AO_BANK *b);
00051
00052 AB_PROVIDER *AO_Bank_GetProvider(const AO_BANK *b);
00053
00054 const char *AO_Bank_GetCountry(const AO_BANK *b);
00055 const char *AO_Bank_GetBankId(const AO_BANK *b);
00056
00057 const char *AO_Bank_GetBankName(const AO_BANK *b);
00058 void AO_Bank_SetBankName(AO_BANK *b, const char *s);
00059
00060 const char *AO_Bank_GetBrokerId(const AO_BANK *b);
00061 void AO_Bank_SetBrokerId(AO_BANK *b, const char *s);
00062
00063 const char *AO_Bank_GetOrg(const AO_BANK *b);
00064 void AO_Bank_SetOrg(AO_BANK *b, const char *s);
00065
00066 const char *AO_Bank_GetFid(const AO_BANK *b);
00067 void AO_Bank_SetFid(AO_BANK *b, const char *s);
00068
00069 AO_BANK_SERVERTYPE AO_Bank_GetServerType(const AO_BANK *b);
00070 void AO_Bank_SetServerType(AO_BANK *b, AO_BANK_SERVERTYPE t);
00071
00072 const char *AO_Bank_GetServerAddr(const AO_BANK *b);
00073 void AO_Bank_SetServerAddr(AO_BANK *b, const char *s);
00074
00075 int AO_Bank_GetServerPort(const AO_BANK *b);
00076 void AO_Bank_SetServerPort(AO_BANK *b, int i);
00077
00078 const char *AO_Bank_GetHttpHost(const AO_BANK *b);
00079 void AO_Bank_SetHttpHost(AO_BANK *b, const char *s);
00080
00081 int AO_Bank_GetHttpVMajor(const AO_BANK *b);
00082 void AO_Bank_SetHttpVMajor(AO_BANK *b, int i);
00083
00084 int AO_Bank_GetHttpVMinor(const AO_BANK *b);
00085 void AO_Bank_SetHttpVMinor(AO_BANK *b, int i);
00086
00087 AO_BANK *AO_Bank_fromDb(AB_PROVIDER *pro, GWEN_DB_NODE *db);
00088 int AO_Bank_toDb(const AO_BANK *b, GWEN_DB_NODE *db);
00089
00090 AB_ACCOUNT_LIST *AO_Bank_GetAccounts(const AO_BANK *b);
00091 AB_ACCOUNT *AO_Bank_FindAccount(AO_BANK *b, const char *id);
00092 int AO_Bank_AddAccount(AO_BANK *b, AB_ACCOUNT *a);
00093
00094 AO_USER_LIST *AO_Bank_GetUsers(const AO_BANK *b);
00095 AO_USER *AO_Bank_FindUser(AO_BANK *b, const char *id);
00096 int AO_Bank_AddUser(AO_BANK *b, AO_USER *u);
00097
00098 #ifdef __cplusplus
00099 }
00100 #endif
00101
00102
00103 #endif