pidgin/pidgin

Bump the version for release
release-2.x.y v2.10.12
2015-12-31, Gary Kramlich
2ac1dcb9eb2e
Bump the version for release
/**
* @file httpconn.h HTTP connection
*
* purple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
* source distribution.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* 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
*/
#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. */
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;
};
/**
* Creates a new HTTP connection object.
*
* @param servconn The connection object.
*
* @return The new object.
*/
MsnHttpConn *msn_httpconn_new(MsnServConn *servconn);
/**
* Destroys an HTTP connection object.
*
* @param httpconn The HTTP connection object.
*/
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.
*
* @param httpconn The HTTP connection object.
* @param host The host to connect to.
* @param port The port to connect to.
*/
gboolean msn_httpconn_connect(MsnHttpConn *httpconn,
const char *host, int port);
/**
* Disconnects the HTTP connection object.
*
* @param httpconn The HTTP connection object.
*/
void msn_httpconn_disconnect(MsnHttpConn *httpconn);
#endif /* MSN_HTTPCONN_H */