27#ifndef _PURPLE_CONNECTION_H_
28#define _PURPLE_CONNECTION_H_
212 void (*network_connected)(void);
218 void (*network_disconnected)(void);
238 void (*_purple_reserved1)(void);
239 void (*_purple_reserved2)(void);
240 void (*_purple_reserved3)(void);
287#if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_CONNECTION_C_)
308 const char *password);
311#if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_CONNECTION_C_)
329#if !(defined PURPLE_DISABLE_DEPRECATED) || (defined _PURPLE_CONNECTION_C_)
396#define PURPLE_CONNECTION_IS_CONNECTED(gc) \
397 (purple_connection_get_state(gc) == PURPLE_CONNECTED)
457 size_t step,
size_t count);
497 const char *description);
572#define PURPLE_CONNECTION_IS_VALID(gc) (g_list_find(purple_connections_get_all(), (gc)) != NULL)
void purple_connection_error_reason(PurpleConnection *gc, PurpleConnectionError reason, const char *description)
Closes a connection with an error and a human-readable description of the error.
void purple_connections_set_ui_ops(PurpleConnectionUiOps *ops)
Sets the UI operations structure to be used for connections.
void purple_connection_new_unregister(PurpleAccount *account, const char *password, PurpleAccountUnregistrationCb cb, void *user_data)
This function should only be called by purple_account_unregister() in account.c.
void purple_connection_set_protocol_data(PurpleConnection *connection, void *proto_data)
Sets the protocol data for a connection.
GList * purple_connections_get_all(void)
Returns a list of all active connections.
void * purple_connection_get_protocol_data(const PurpleConnection *connection)
Gets the protocol data from a connection.
void purple_connection_update_progress(PurpleConnection *gc, const char *text, size_t step, size_t count)
Updates the connection progress.
void purple_connection_set_display_name(PurpleConnection *gc, const char *name)
Sets the connection's displayed name.
void purple_connection_notice(PurpleConnection *gc, const char *text)
Displays a connection-specific notice.
PurpleConnectionFlags
Flags to change behavior of the client for a given connection.
@ PURPLE_CONNECTION_AUTO_RESP
Send auto responses when away.
@ PURPLE_CONNECTION_FORMATTING_WBFO
The text buffer must be formatted as a whole.
@ PURPLE_CONNECTION_NO_IMAGES
Connection does not support sending of images.
@ PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY
Connection supports sending and receiving custom smileys.
@ PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES
Connection supports setting a message on moods.
@ PURPLE_CONNECTION_SUPPORT_MOODS
Connection supports setting moods.
@ PURPLE_CONNECTION_HTML
Connection sends/receives in 'HTML'.
@ PURPLE_CONNECTION_NO_BGCOLOR
Connection does not send/receive background colors.
@ PURPLE_CONNECTION_NO_NEWLINES
No new lines are allowed in outgoing messages.
@ PURPLE_CONNECTION_NO_FONTSIZE
Connection does not send/receive font sizes.
@ PURPLE_CONNECTION_NO_URLDESC
Connection does not support descriptions with links.
PurpleAccount * purple_connection_get_account(const PurpleConnection *gc)
Returns the connection's account.
PurpleConnectionUiOps * purple_connections_get_ui_ops(void)
Returns the UI operations structure used for connections.
void purple_connection_set_state(PurpleConnection *gc, PurpleConnectionState state)
Sets the connection state.
GList * purple_connections_get_connecting(void)
Returns a list of all connections in the process of connecting.
void purple_connection_new(PurpleAccount *account, gboolean regist, const char *password)
This function should only be called by purple_account_connect() in account.c.
void purple_connection_set_account(PurpleConnection *gc, PurpleAccount *account)
Sets the connection's account.
void purple_connection_error(PurpleConnection *gc, const char *reason)
Closes a connection with an error.
gboolean purple_connection_error_is_fatal(PurpleConnectionError reason)
Reports whether a disconnection reason is fatal (in which case the account should probably not be aut...
PurpleConnectionState purple_connection_get_state(const PurpleConnection *gc)
Returns the connection state.
void purple_connection_ssl_error(PurpleConnection *gc, PurpleSslErrorType ssl_error)
Closes a connection due to an SSL error; this is basically a shortcut to turning the PurpleSslErrorTy...
void purple_connections_uninit(void)
Uninitializes the connections subsystem.
PurpleConnectionError
Possible errors that can cause a connection to be closed.
@ PURPLE_CONNECTION_ERROR_NAME_IN_USE
Someone is already connected to the server using the name you are trying to connect with.
@ PURPLE_CONNECTION_ERROR_INVALID_USERNAME
The username supplied was not valid.
@ PURPLE_CONNECTION_ERROR_CERT_NOT_ACTIVATED
The server's SSL certificate is not yet valid.
@ PURPLE_CONNECTION_ERROR_CERT_EXPIRED
The server's SSL certificate has expired.
@ PURPLE_CONNECTION_ERROR_CERT_HOSTNAME_MISMATCH
The server's SSL certificate did not match its hostname.
@ PURPLE_CONNECTION_ERROR_INVALID_SETTINGS
The username/server/other preference for the account isn't valid.
@ PURPLE_CONNECTION_ERROR_OTHER_ERROR
Some other error occurred which fits into none of the other categories.
@ PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE
libpurple doesn't speak any of the authentication methods the server offered.
@ PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR
There was some other error validating the server's SSL certificate.
@ PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED
The server's SSL certificate could not be trusted.
@ PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH
The server's SSL certificate does not have the expected fingerprint.
@ PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED
The server's SSL certificate is self-signed.
@ PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED
The username, password or some other credential was incorrect.
@ PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR
There was an error negotiating SSL on this connection, or the server does not support encryption but ...
@ PURPLE_CONNECTION_ERROR_NETWORK_ERROR
There was an error sending or receiving on the network socket, or there was some protocol error (such...
@ PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED
The server did not provide a SSL certificate.
@ PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT
libpurple was built without SSL support, and the connection needs SSL.
const char * purple_connection_get_password(const PurpleConnection *gc)
Returns the connection's password.
void * purple_connections_get_handle(void)
Returns the handle to the connections subsystem.
void purple_connections_disconnect_all(void)
Disconnects from all connections.
const char * purple_connection_get_display_name(const PurpleConnection *gc)
Returns the connection's displayed name.
void purple_connection_destroy(PurpleConnection *gc)
Disconnects and destroys a PurpleConnection.
@ PURPLE_CONNECTING
Connecting.
@ PURPLE_DISCONNECTED
Disconnected.
@ PURPLE_CONNECTED
Connected.
void purple_connections_init(void)
Initializes the connections subsystem.
PurplePlugin * purple_connection_get_prpl(const PurpleConnection *gc)
Returns the protocol plugin managing a connection.
PurpleSslErrorType
Possible SSL errors.
Holds the type of an error along with its description.
char * description
A localised, human-readable description of the error.
PurpleConnectionError type
The type of error.
Connection UI operations.
Structure representing an account.
PurplePlugin * prpl
The protocol plugin.
gboolean wants_to_die
Wants to Die state.
int inpa
The input watcher.
void * proto_data
Protocol-specific data.
GSList * buddy_chats
A list of active chats (PurpleConversation structs of type PURPLE_CONV_TYPE_CHAT).
char * display_name
How you appear to other people.
PurpleConnectionState state
The connection state.
PurpleConnectionFlags flags
Connection flags.
char * password
The password used.
guint keepalive
Keep-alive.
PurpleAccount * account
The account being connected to.
time_t last_received
When we last received a packet.
guint disconnect_timeout
Timer used for nasty stack tricks