00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef AB_HTTPSESS_H
00015 #define AB_HTTPSESS_H
00016
00017 #include <aqbanking/banking.h>
00018
00019 #include <gwenhywfar/inherit.h>
00020 #include <gwenhywfar/misc.h>
00021 #include <gwenhywfar/url.h>
00022 #include <gwenhywfar/nl_http.h>
00023
00031
00036 #define AB_HTTPSESSION_FLAGS_ALLOW_REDIRECT 0x00000001
00037 #define AB_HTTPSESSION_FLAGS_REUSE 0x00000002
00038 #define AB_HTTPSESSION_FLAGS_SECURE_SSL 0x00000004
00039
00040 #define AB_HTTPSESSION_DEFAULT_CONNECT_TIMEOUT 30
00041 #define AB_HTTPSESSION_DEFAULT_TRANSFER_TIMEOUT 60
00042
00046 typedef struct AB_HTTPSESSION AB_HTTPSESSION;
00047 GWEN_INHERIT_FUNCTION_LIB_DEFS(AB_HTTPSESSION, AQBANKING_API)
00048 GWEN_LIST_FUNCTION_LIB_DEFS(AB_HTTPSESSION, AB_HttpSession, AQBANKING_API)
00049
00050
00055 AQBANKING_API
00056 AB_HTTPSESSION *AB_HttpSession_new(AB_PROVIDER *pro, AB_USER *u);
00057
00058 AQBANKING_API
00059 void AB_HttpSession_free(AB_HTTPSESSION *hc);
00068 AQBANKING_API
00069 AB_USER *AB_HttpSession_GetUser(const AB_HTTPSESSION *hc);
00070
00071 AQBANKING_API
00072 AB_PROVIDER *AB_HttpSession_GetProvider(const AB_HTTPSESSION *hc);
00081 AQBANKING_API
00082 GWEN_TYPE_UINT32 AB_HttpSession_GetSessionId(const AB_HTTPSESSION *hc);
00083
00084
00085 AQBANKING_API GWEN_NETLAYER_HTTP_VERSION
00086 AB_HttpSession_GetHttpVersion(const AB_HTTPSESSION *hc);
00087
00088 AQBANKING_API
00089 void AB_HttpSession_SetHttpVersion(AB_HTTPSESSION *hc,
00090 GWEN_NETLAYER_HTTP_VERSION v);
00091
00092 AQBANKING_API
00093 GWEN_TYPE_UINT32 AB_HttpSession_GetFlags(const AB_HTTPSESSION *hc);
00094
00095 AQBANKING_API
00096 void AB_HttpSession_SetFlags(AB_HTTPSESSION *hc, GWEN_TYPE_UINT32 f);
00097
00098 AQBANKING_API
00099 void AB_HttpSession_AddFlags(AB_HTTPSESSION *hc, GWEN_TYPE_UINT32 f);
00100
00101 AQBANKING_API
00102 void AB_HttpSession_SubFlags(AB_HTTPSESSION *hc, GWEN_TYPE_UINT32 f);
00103
00104 AQBANKING_API
00105 int AB_HttpSession_GetConnectTimeout(const AB_HTTPSESSION *hc);
00106
00107 AQBANKING_API
00108 void AB_HttpSession_SetConnectTimeout(AB_HTTPSESSION *hc, int i);
00109
00110 AQBANKING_API
00111 int AB_HttpSession_GetTransferTimeout(const AB_HTTPSESSION *hc);
00112
00113 AQBANKING_API
00114 void AB_HttpSession_SetTransferTimeout(AB_HTTPSESSION *hc, int i);
00123 AQBANKING_API
00124 int AB_HttpSession_Open(AB_HTTPSESSION *hc);
00125
00126 AQBANKING_API
00127 void AB_HttpSession_Close(AB_HTTPSESSION *hc);
00128
00129 AQBANKING_API
00130 int AB_HttpSession_SendRequest(AB_HTTPSESSION *hc,
00131 const char *command,
00132 const GWEN_URL *url,
00133 GWEN_DB_NODE *dbSendHeader,
00134 const char *pSendBody,
00135 int lSendBody,
00136 GWEN_BUFFER *recvBuf);
00140
00141
00142
00143
00144 #endif
00145