diff libpurple/protocols/jabber/bosh.h @ 25776:7de1f124f95a

Jabber BOSH: Many fixes * Move most of the function and structure definitions into bosh.c * Made js->bosh a pointer, the init function allocates and returns the pointer, etc. * Drop the account member of PurpleHTTPConnection * Fix many, many warnings, including a few bug-related things
author Paul Aurich <paul@darkrain42.org>
date Mon, 01 Dec 2008 05:47:04 +0000
parents 0a8484372312
children 17b60b844803
line wrap: on
line diff
--- a/libpurple/protocols/jabber/bosh.h	Mon Dec 01 04:00:41 2008 +0000
+++ b/libpurple/protocols/jabber/bosh.h	Mon Dec 01 05:47:04 2008 +0000
@@ -22,95 +22,11 @@
 #ifndef _PURPLE_JABBER_BOSH_H_
 #define _PURPLE_JABBER_BOSH_H_
 
-#include <glib.h>
-
-typedef struct _PurpleHTTPRequest PurpleHTTPRequest;
-typedef struct _PurpleHTTPResponse PurpleHTTPResponse;
-typedef struct _PurpleHTTPConnection PurpleHTTPConnection;
 typedef struct _PurpleBOSHConnection PurpleBOSHConnection;
 
-typedef void (*PurpleHTTPConnectionConnectFunction)(PurpleHTTPConnection *conn);
-typedef void (*PurpleHTTPConnectionDisconnectFunction)(PurpleHTTPConnection *conn);
-typedef void (*PurpleHTTPRequestCallback)(PurpleHTTPRequest *req, PurpleHTTPResponse *res, void *userdata);
-typedef void (*PurpleBOSHConnectionConnectFunction)(PurpleBOSHConnection *conn);
-typedef void (*PurpleBOSHConnectionReciveFunction)(PurpleBOSHConnection *conn, xmlnode *node);
-
-struct _PurpleBOSHConnection {
-    /* decoded URL */
-    char *host;
-    int port;
-    char *path; 
-    char *user;
-    char *passwd;
-    
-    int rid;
-    char *sid;
-    int wait;
-        
-    JabberStream *js;
-    void *userdata;
-    PurpleAccount *account;
-    gboolean pipelining;
-    PurpleHTTPConnection *conn_a;
-    PurpleHTTPConnection *conn_b;
-    
-    gboolean ready;
-    PurpleBOSHConnectionConnectFunction connect_cb;
-    PurpleBOSHConnectionReciveFunction receive_cb;
-};
+#include "jabber.h"
 
-struct _PurpleHTTPConnection {
-    int fd;
-    char *host;
-    int port;
-    int handle;
-    int ie_handle;
-    PurpleConnection *conn;
-    PurpleAccount *account;
-    GQueue *requests;
-    
-    PurpleHTTPResponse *current_response;
-    char *current_data;
-    int current_len;
-    
-    int pih;
-    PurpleHTTPConnectionConnectFunction connect_cb;
-    PurpleHTTPConnectionConnectFunction disconnect_cb;
-    void *userdata;
-};
-
-struct _PurpleHTTPRequest {
-    PurpleHTTPRequestCallback cb;
-    char *method;
-    char *path;
-    GHashTable *header;
-    char *data;
-    int data_len;
-    void *userdata;
-};
-
-struct _PurpleHTTPResponse {
-    int status;
-    GHashTable *header;
-    char *data;
-    int data_len;
-};
-
-void jabber_bosh_connection_init(PurpleBOSHConnection *conn, PurpleAccount *account, JabberStream *js, char *url);
+PurpleBOSHConnection* jabber_bosh_connection_init(JabberStream *js, const char *url);
 void jabber_bosh_connection_connect(PurpleBOSHConnection *conn);
-void jabber_bosh_connection_send_native(PurpleBOSHConnection *conn, xmlnode *node);
 void jabber_bosh_connection_send(PurpleBOSHConnection *conn, xmlnode *node);
-
-void jabber_bosh_http_connection_init(PurpleHTTPConnection *conn, PurpleAccount *account, char *host, int port);
-void jabber_bosh_http_connection_connect(PurpleHTTPConnection *conn);
-void jabber_bosh_http_connection_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 *path, PurpleHTTPRequestCallback cb, void *userdata);
-void jabber_bosh_http_request_add_to_header(PurpleHTTPRequest *req, const char *field, const char *value);
-void jabber_bosh_http_request_set_data(PurpleHTTPRequest *req, char *data, int len);
-void jabber_bosh_http_request_clean(PurpleHTTPRequest *req);
-
-void jabber_bosh_http_response_init(PurpleHTTPResponse *res);
-void jabber_bosh_http_response_clean(PurpleHTTPResponse *res);
 #endif /* _PURPLE_JABBER_BOSH_H_ */