Mercurial > pidgin.yaz
comparison 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 |
comparison
equal
deleted
inserted
replaced
20526:915e11fbaeb0 | 20527:0034d7e89032 |
---|---|
32 | 32 |
33 #include <glib.h> | 33 #include <glib.h> |
34 | 34 |
35 typedef struct _MsnSoapMessage MsnSoapMessage; | 35 typedef struct _MsnSoapMessage MsnSoapMessage; |
36 typedef struct _MsnSoapConnection2 MsnSoapConnection2; | 36 typedef struct _MsnSoapConnection2 MsnSoapConnection2; |
37 typedef struct _MsnSoapRequest MsnSoapRequest; | |
38 typedef struct _MsnSoapResponse MsnSoapResponse; | |
37 | 39 |
38 typedef void (*MsnSoapCallback)(MsnSoapConnection2 *conn, | 40 typedef void (*MsnSoapCallback)(MsnSoapConnection2 *conn, |
39 MsnSoapMessage *req, MsnSoapMessage *resp, gpointer cb_data); | 41 MsnSoapRequest *req, MsnSoapResponse *resp, gpointer cb_data); |
40 | 42 |
41 struct _MsnSoapMessage { | 43 struct _MsnSoapMessage { |
44 xmlnode *xml; | |
45 GSList *headers; | |
46 | |
47 char *buf; | |
48 gsize buf_len; | |
49 gsize buf_count; | |
50 }; | |
51 | |
52 struct _MsnSoapRequest { | |
53 MsnSoapMessage *message; | |
42 char *action; | 54 char *action; |
43 xmlnode *message; | |
44 GSList *headers; | |
45 | 55 |
46 MsnSoapCallback cb; | 56 MsnSoapCallback cb; |
47 gpointer data; | 57 gpointer data; |
48 | 58 |
49 char *host; | 59 char *host; |
50 char *path; | 60 char *path; |
61 }; | |
62 | |
63 struct _MsnSoapResponse { | |
64 MsnSoapMessage *message; | |
65 int code; | |
66 gboolean seen_newline; | |
67 int body_len; | |
51 }; | 68 }; |
52 | 69 |
53 struct _MsnSoapConnection2 { | 70 struct _MsnSoapConnection2 { |
54 MsnSession *session; | 71 MsnSession *session; |
55 | 72 |
60 | 77 |
61 guint idle_handle; | 78 guint idle_handle; |
62 guint io_handle; | 79 guint io_handle; |
63 GQueue *queue; | 80 GQueue *queue; |
64 | 81 |
65 MsnSoapMessage *current; | 82 MsnSoapRequest *request; |
66 MsnSoapMessage *response; | 83 MsnSoapResponse *response; |
67 char *buf; | |
68 gsize buf_len; | |
69 gsize buf_count; | |
70 }; | 84 }; |
71 | 85 |
72 MsnSoapConnection2 *msn_soap_connection2_new(MsnSession *session); | 86 MsnSoapConnection2 *msn_soap_connection2_new(MsnSession *session); |
73 | 87 |
74 void msn_soap_connection2_post(MsnSoapConnection2 *conn, MsnSoapMessage *req, | 88 void msn_soap_connection2_post(MsnSoapConnection2 *conn, MsnSoapRequest *req, |
75 const char *host, const char *path, MsnSoapCallback cb, gpointer data); | 89 MsnSoapCallback cb, gpointer data); |
76 | 90 |
77 void msn_soap_connection2_destroy(MsnSoapConnection2 *conn); | 91 void msn_soap_connection2_destroy(MsnSoapConnection2 *conn); |
78 | 92 |
79 MsnSoapMessage *msn_soap_message_new(const char *action, xmlnode *message); | 93 MsnSoapMessage *msn_soap_message_new(void); |
80 | 94 |
81 void msn_soap_message_destroy(MsnSoapMessage *req); | 95 void msn_soap_message_destroy(MsnSoapMessage *req); |
82 | 96 |
83 void msn_soap_message_add_header(MsnSoapMessage *req, | 97 void msn_soap_message_add_header(MsnSoapMessage *req, |
84 const char *name, const char *value); | 98 const char *name, const char *value); |
85 | 99 |
100 MsnSoapRequest *msn_soap_request2_new(const char *host, const char *path, | |
101 const char *action); | |
102 | |
103 void msn_soap_request2_destroy(MsnSoapRequest *req); | |
104 | |
105 MsnSoapResponse *msn_soap_response_new(void); | |
106 | |
107 void msn_soap_response_destroy(MsnSoapResponse *resp); | |
108 | |
86 #endif | 109 #endif |