00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef GWEN_HTTP_SESSION_H
00014 #define GWEN_HTTP_SESSION_H
00015
00016
00017 #include <gwenhywfar/inherit.h>
00018
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00023 typedef struct GWEN_HTTP_SESSION GWEN_HTTP_SESSION;
00024 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_HTTP_SESSION, GWENHYWFAR_API)
00025
00026 #ifdef __cplusplus
00027 }
00028 #endif
00029
00030
00031 #include <gwenhywfar/url.h>
00032 #include <gwenhywfar/iolayer.h>
00033 #include <gwenhywfar/buffer.h>
00034
00035
00039 #define GWEN_HTTP_SESSION_FLAGS_FORCE_SSL3 0x00000001
00040
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00046
00052
00057
00058 GWENHYWFAR_API
00059 GWEN_HTTP_SESSION *GWEN_HttpSession_new(const char *url,
00060 uint32_t guiid);
00061
00062 GWENHYWFAR_API
00063 void GWEN_HttpSession_Attach(GWEN_HTTP_SESSION *sess);
00064
00065 GWENHYWFAR_API
00066 void GWEN_HttpSession_free(GWEN_HTTP_SESSION *sess);
00075 GWENHYWFAR_API
00076 uint32_t GWEN_HttpSession_GetGuiId(const GWEN_HTTP_SESSION *sess);
00088
00089 GWENHYWFAR_API
00090 uint32_t GWEN_HttpSession_GetFlags(const GWEN_HTTP_SESSION *sess);
00091
00092 GWENHYWFAR_API
00093 void GWEN_HttpSession_SetFlags(GWEN_HTTP_SESSION *sess, uint32_t fl);
00094
00095 GWENHYWFAR_API
00096 void GWEN_HttpSession_AddFlags(GWEN_HTTP_SESSION *sess, uint32_t fl);
00097
00098 GWENHYWFAR_API
00099 void GWEN_HttpSession_SubFlags(GWEN_HTTP_SESSION *sess, uint32_t fl);
00100
00101 GWENHYWFAR_API
00102 const char *GWEN_HttpSession_GetHttpUserAgent(const GWEN_HTTP_SESSION *sess);
00103
00104 GWENHYWFAR_API
00105 void GWEN_HttpSession_SetHttpUserAgent(GWEN_HTTP_SESSION *sess, const char *s);
00106
00107 GWENHYWFAR_API
00108 const char *GWEN_HttpSession_GetHttpContentType(const GWEN_HTTP_SESSION *sess);
00109
00110 GWENHYWFAR_API
00111 void GWEN_HttpSession_SetHttpContentType(GWEN_HTTP_SESSION *sess, const char *s);
00112
00113
00114 GWENHYWFAR_API
00115 int GWEN_HttpSession_GetHttpVMajor(const GWEN_HTTP_SESSION *sess);
00116
00117 GWENHYWFAR_API
00118 void GWEN_HttpSession_SetHttpVMajor(GWEN_HTTP_SESSION *sess, int i);
00119
00120 GWENHYWFAR_API
00121 int GWEN_HttpSession_GetHttpVMinor(const GWEN_HTTP_SESSION *sess);
00122
00123 GWENHYWFAR_API
00124 void GWEN_HttpSession_SetHttpVMinor(GWEN_HTTP_SESSION *sess, int i);
00133 GWENHYWFAR_API
00134 int GWEN_HttpSession_Init(GWEN_HTTP_SESSION *sess);
00135
00136 GWENHYWFAR_API
00137 int GWEN_HttpSession_Fini(GWEN_HTTP_SESSION *sess);
00138
00146 GWENHYWFAR_API
00147 GWEN_IO_LAYER *GWEN_HttpSession_GetIoLayer(const GWEN_HTTP_SESSION *sess);
00156
00167 GWENHYWFAR_API
00168 int GWEN_HttpSession_SendPacket(GWEN_HTTP_SESSION *sess,
00169 const char *httpCommand,
00170 const uint8_t *buf, uint32_t blen,
00171 int timeout);
00172
00178 GWENHYWFAR_API
00179 int GWEN_HttpSession_RecvPacket(GWEN_HTTP_SESSION *sess,
00180 GWEN_BUFFER *buf, int timeout);
00184
00185
00186
00187 #ifdef __cplusplus
00188 }
00189 #endif
00190
00191
00192 #endif
00193