libpurple/protocols/msn/httpconn.h

changeset 34262
3b8ce83bac96
parent 30956
74ba2cc3e760
child 34861
18e775fc0412
--- a/libpurple/protocols/msn/httpconn.h	Sun Jul 21 20:53:40 2013 +0200
+++ b/libpurple/protocols/msn/httpconn.h	Mon Jul 22 18:37:34 2013 +0200
@@ -1,5 +1,5 @@
 /**
- * @file httpconn.h HTTP connection
+ * @file httpconn.h HTTP-tunnelled connections
  *
  * purple
  *
@@ -19,94 +19,63 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301  USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
  */
 #ifndef MSN_HTTPCONN_H
 #define MSN_HTTPCONN_H
 
 typedef struct _MsnHttpConn MsnHttpConn;
 
-#include "circbuffer.h"
-#include "servconn.h"
-#include "session.h"
-
-/**
- * An HTTP Connection.
- */
-struct _MsnHttpConn
-{
-	MsnSession *session; /**< The MSN Session. */
-	MsnServConn *servconn; /**< The connection object. */
-
-	PurpleProxyConnectData *connect_data;
-
-	char *full_session_id; /**< The full session id. */
-	char *session_id; /**< The trimmed session id. */
-
-	int timer; /**< The timer for polling. */
+#include "internal.h"
 
-	gboolean waiting_response; /**< The flag that states if we are waiting
-								 a response from the server. */
-	gboolean connected;        /**< The flag that states if the connection is on. */
-	gboolean virgin;           /**< The flag that states if this connection
-								 should specify the host (not gateway) to
-								 connect to. */
-
-	char *host; /**< The HTTP gateway host. */
-	GList *queue; /**< The queue of data chunks to write. */
-
-	int fd; /**< The connection's file descriptor. */
-	guint inpa; /**< The connection's input handler. */
-
-	char *rx_buf; /**< The receive buffer. */
-	int rx_len; /**< The receive buffer length. */
-
-	PurpleCircBuffer *tx_buf;
-	guint tx_handler;
-};
+#include "msn.h"
 
 /**
  * Creates a new HTTP connection object.
  *
  * @param servconn The connection object.
  *
- * @return The new object.
+ * @return The new HTTP connection object.
  */
-MsnHttpConn *msn_httpconn_new(MsnServConn *servconn);
+MsnHttpConn *
+msn_httpconn_new(MsnServConn *servconn);
 
 /**
  * Destroys an HTTP connection object.
  *
  * @param httpconn The HTTP connection object.
  */
-void msn_httpconn_destroy(MsnHttpConn *httpconn);
+void
+msn_httpconn_destroy(MsnHttpConn *httpconn);
 
 /**
- * Writes a chunk of data to the HTTP connection.
- *
- * @param servconn    The server connection.
- * @param data        The data to write.
- * @param data_len    The size of the data to write.
- *
- * @return The number of bytes written.
- */
-gssize msn_httpconn_write(MsnHttpConn *httpconn, const char *data, size_t data_len);
-
-/**
- * Connects the HTTP connection object to a host.
+ * Virtually estabilishes the HTTP connection with a host.
  *
  * @param httpconn The HTTP connection object.
- * @param host The host to connect to.
- * @param port The port to connect to.
+ * @param host     The host to connect to.
+ * @param port     The port to connect to (currently ignored).
  */
-gboolean msn_httpconn_connect(MsnHttpConn *httpconn,
-							  const char *host, int port);
+void
+msn_httpconn_connect(MsnHttpConn *httpconn, const gchar *host, int port);
 
 /**
  * Disconnects the HTTP connection object.
  *
  * @param httpconn The HTTP connection object.
  */
-void msn_httpconn_disconnect(MsnHttpConn *httpconn);
+void
+msn_httpconn_disconnect(MsnHttpConn *httpconn);
+
+/**
+ * Writes a chunk of data to the HTTP connection.
+ *
+ * @param servconn The server connection.
+ * @param data     The data to write.
+ * @param data_len The size of the data to write.
+ *
+ * @return The number of bytes written.
+ */
+ssize_t
+msn_httpconn_write(MsnHttpConn *httpconn, const gchar *data, size_t data_len);
 
 #endif /* MSN_HTTPCONN_H */

mercurial