# HG changeset patch # User Tobias Markmann # Date 1217803813 0 # Node ID b238da95f39a2c5b434d0526fe97ac3be233abb1 # Parent 9f8951284a2eef5d94cd0876f4b2f12c76be7d0c * some refactoring diff -r 9f8951284a2e -r b238da95f39a libpurple/protocols/jabber/bosh.c --- a/libpurple/protocols/jabber/bosh.c Sun Aug 03 22:21:49 2008 +0000 +++ b/libpurple/protocols/jabber/bosh.c Sun Aug 03 22:50:13 2008 +0000 @@ -37,3 +37,13 @@ #include "pep.h" #include "adhoccommands.h" +PurpleHTTPHeaderField* jabber_bosh_http_header_field(const char *name, *const char *value) { + PurpleHTTPHeaderField *tmp = g_new0(PurpleHTTPHeaderField, 0); + tmp->name = g_strdup(name); + tmp->value = g_strdup(value); + return tmp; +} + +void jabber_bosh_http_connection_connect(PurpleHTTPConnection *conn) { + +} \ No newline at end of file diff -r 9f8951284a2e -r b238da95f39a libpurple/protocols/jabber/bosh.h --- a/libpurple/protocols/jabber/bosh.h Sun Aug 03 22:21:49 2008 +0000 +++ b/libpurple/protocols/jabber/bosh.h Sun Aug 03 22:50:13 2008 +0000 @@ -22,13 +22,54 @@ #ifndef _PURPLE_JABBER_BOSH_H_ #define _PURPLE_JABBER_BOSH_H_ +#include + +typedef struct _PurpleHTTPRequest PurpleHTTPRequest; +typedef struct _PurpleHTTPResponse PurpleHTTPResponse; +typedef struct _PurpleHTTPHeaderField PurpleHTTPHeaderField; + +typedef void (*PurpleHTTPRequestCallback)(PurpleHTTPRequest *req, PurpleHTTPResponse *res, void *userdata); + +typedef struct { + int fd; + PurpleConnection *conn; + GQueue *requests; + void *userdata; +} PurpleHTTPConnection; + typedef struct { char *url; gboolean pipelining; + PurpleHTTPConnection *conn_a; + PurpleHTTPConnection *conn_b; } PurpleBOSHConnection; -typedef struct { - -} PurpleHTTPRequest; +struct _PurpleHTTPRequest { + PurpleHTTPRequestCallback cb; + char *method; + char *url; + GList *header; + char *data; + void *userdata; +}; + +struct _PurpleHTTPResponse { + int status; + GList *header; + char *data; +}; +struct _PurpleHTTPHeaderField { + char *name; + char *value; +}; + +PurpleHTTPHeaderField *jabber_bosh_http_header_field(const char *name, const char *value); + +void jabber_bosh_http_connection_connect(PurpleHTTPConnection *conn); +void jabber_bosh_http_send_request(PurpleHTTPConnection *conn, PurpleHTTPRequest *req); +void jabber_bosh_http_connection_clean(PurpleHTTPConnection *conn); + +void jabber_bosh_http_request_init(PurpleHTTPRequest *req, const char *method, const char *url, PurpleHTTPRequestCallback cb, void *userdata); +void jabber_bosh_http_request_clean(PurpleHTTPRequest *req); #endif /* _PURPLE_JABBER_BOSH_H_ */