Mercurial > pidgin
diff libpurple/protocols/msn/soap2.h @ 20527:0034d7e89032
mostly done with soap level parsing, compiles
author | Ka-Hing Cheung <khc@hxbc.us> |
---|---|
date | Fri, 21 Sep 2007 06:50:40 +0000 |
parents | 915e11fbaeb0 |
children | 06527cc0f79b |
line wrap: on
line diff
--- a/libpurple/protocols/msn/soap2.h Wed Sep 19 06:20:08 2007 +0000 +++ b/libpurple/protocols/msn/soap2.h Fri Sep 21 06:50:40 2007 +0000 @@ -34,14 +34,24 @@ typedef struct _MsnSoapMessage MsnSoapMessage; typedef struct _MsnSoapConnection2 MsnSoapConnection2; +typedef struct _MsnSoapRequest MsnSoapRequest; +typedef struct _MsnSoapResponse MsnSoapResponse; typedef void (*MsnSoapCallback)(MsnSoapConnection2 *conn, - MsnSoapMessage *req, MsnSoapMessage *resp, gpointer cb_data); + MsnSoapRequest *req, MsnSoapResponse *resp, gpointer cb_data); struct _MsnSoapMessage { + xmlnode *xml; + GSList *headers; + + char *buf; + gsize buf_len; + gsize buf_count; +}; + +struct _MsnSoapRequest { + MsnSoapMessage *message; char *action; - xmlnode *message; - GSList *headers; MsnSoapCallback cb; gpointer data; @@ -50,6 +60,13 @@ char *path; }; +struct _MsnSoapResponse { + MsnSoapMessage *message; + int code; + gboolean seen_newline; + int body_len; +}; + struct _MsnSoapConnection2 { MsnSession *session; @@ -62,25 +79,31 @@ guint io_handle; GQueue *queue; - MsnSoapMessage *current; - MsnSoapMessage *response; - char *buf; - gsize buf_len; - gsize buf_count; + MsnSoapRequest *request; + MsnSoapResponse *response; }; MsnSoapConnection2 *msn_soap_connection2_new(MsnSession *session); -void msn_soap_connection2_post(MsnSoapConnection2 *conn, MsnSoapMessage *req, - const char *host, const char *path, MsnSoapCallback cb, gpointer data); +void msn_soap_connection2_post(MsnSoapConnection2 *conn, MsnSoapRequest *req, + MsnSoapCallback cb, gpointer data); void msn_soap_connection2_destroy(MsnSoapConnection2 *conn); -MsnSoapMessage *msn_soap_message_new(const char *action, xmlnode *message); +MsnSoapMessage *msn_soap_message_new(void); void msn_soap_message_destroy(MsnSoapMessage *req); void msn_soap_message_add_header(MsnSoapMessage *req, const char *name, const char *value); +MsnSoapRequest *msn_soap_request2_new(const char *host, const char *path, + const char *action); + +void msn_soap_request2_destroy(MsnSoapRequest *req); + +MsnSoapResponse *msn_soap_response_new(void); + +void msn_soap_response_destroy(MsnSoapResponse *resp); + #endif