Go to the documentation of this file.
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)
PurpleConnectionState purple_connection_get_state(const PurpleConnection *gc)
Returns the connection state.
PurplePlugin * purple_connection_get_prpl(const PurpleConnection *gc)
Returns the protocol plugin managing a connection.
void purple_connection_destroy(PurpleConnection *gc)
Disconnects and destroys a PurpleConnection.
PurpleConnectionUiOps * purple_connections_get_ui_ops(void)
Returns the UI operations structure used for connections.
@ PURPLE_CONNECTION_ERROR_INVALID_SETTINGS
The username/server/other preference for the account isn't valid.
time_t last_received
When we last received a packet.
GList * purple_connections_get_all(void)
Returns a list of all active connections.
@ PURPLE_CONNECTION_ERROR_OTHER_ERROR
Some other error occurred which fits into none of the other categories.
const char * purple_connection_get_password(const PurpleConnection *gc)
Returns the connection's password.
@ PURPLE_CONNECTION_NO_FONTSIZE
Connection does not send/receive font sizes.
char * description
A localised, human-readable description of the error.
char * password
The password used.
PurplePlugin * prpl
The protocol plugin.
@ PURPLE_CONNECTION_HTML
Connection sends/receives in 'HTML'.
@ PURPLE_CONNECTION_ERROR_NETWORK_ERROR
There was an error sending or receiving on the network socket, or there was some protocol error (such...
@ PURPLE_CONNECTING
Connecting.
@ PURPLE_CONNECTED
Connected.
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.
Connection UI operations.
void purple_connection_set_account(PurpleConnection *gc, PurpleAccount *account)
Sets the connection's account.
@ PURPLE_CONNECTION_AUTO_RESP
Send auto responses when away.
@ PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED
The server's SSL certificate is self-signed.
@ PURPLE_CONNECTION_FORMATTING_WBFO
The text buffer must be formatted as a whole.
void * purple_connection_get_protocol_data(const PurpleConnection *connection)
Gets the protocol data from a connection.
void * purple_connections_get_handle(void)
Returns the handle to the connections subsystem.
@ PURPLE_DISCONNECTED
Disconnected.
GList * purple_connections_get_connecting(void)
Returns a list of all connections in the process of connecting.
@ PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED
The server did not provide a SSL certificate.
@ PURPLE_CONNECTION_ERROR_CERT_NOT_ACTIVATED
The server's SSL certificate is not yet valid.
PurpleConnectionFlags flags
Connection flags.
@ PURPLE_CONNECTION_NO_NEWLINES
No new lines are allowed in outgoing messages.
@ PURPLE_CONNECTION_ERROR_INVALID_USERNAME
The username supplied was not valid.
void purple_connection_set_protocol_data(PurpleConnection *connection, void *proto_data)
Sets the protocol data for a connection.
void purple_connection_notice(PurpleConnection *gc, const char *text)
Displays a connection-specific notice.
int inpa
The input watcher.
@ PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT
libpurple was built without SSL support, and the connection needs SSL.
@ PURPLE_CONNECTION_ERROR_CERT_HOSTNAME_MISMATCH
The server's SSL certificate did not match its hostname.
guint disconnect_timeout
Timer used for nasty stack tricks
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...
@ PURPLE_CONNECTION_SUPPORT_MOOD_MESSAGES
Connection supports setting a message on moods.
void purple_connection_set_state(PurpleConnection *gc, PurpleConnectionState state)
Sets the connection state.
void * proto_data
Protocol-specific data.
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_connections_set_ui_ops(PurpleConnectionUiOps *ops)
Sets the UI operations structure to be used for connections.
@ PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED
The username, password or some other credential was incorrect.
char * display_name
How you appear to other people.
void purple_connection_update_progress(PurpleConnection *gc, const char *text, size_t step, size_t count)
Updates the connection progress.
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.
Structure representing an account.
void purple_connection_set_display_name(PurpleConnection *gc, const char *name)
Sets the connection's displayed name.
PurpleSslErrorType
Possible SSL errors.
void purple_connection_error(PurpleConnection *gc, const char *reason)
Closes a connection with an error.
@ PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY
Connection supports sending and receiving custom smileys.
Holds the type of an error along with its description.
PurpleConnectionError type
The type of error.
PurpleConnectionFlags
Flags to change behavior of the client for a given connection.
void purple_connections_init(void)
Initializes the connections subsystem.
void purple_connections_disconnect_all(void)
Disconnects from all connections.
@ 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_CERT_EXPIRED
The server's SSL certificate has expired.
const char * purple_connection_get_display_name(const PurpleConnection *gc)
Returns the connection's displayed name.
@ PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED
The server's SSL certificate could not be trusted.
@ PURPLE_CONNECTION_NO_BGCOLOR
Connection does not send/receive background colors.
GSList * buddy_chats
A list of active chats (PurpleConversation structs of type PURPLE_CONV_TYPE_CHAT).
PurpleConnectionError
Possible errors that can cause a connection to be closed.
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...
guint keepalive
Keep-alive.
@ PURPLE_CONNECTION_NO_URLDESC
Connection does not support descriptions with links.
void purple_connections_uninit(void)
Uninitializes the connections subsystem.
@ PURPLE_CONNECTION_ERROR_NAME_IN_USE
Someone is already connected to the server using the name you are trying to connect with.
gboolean wants_to_die
Wants to Die state.
PurpleAccount * purple_connection_get_account(const PurpleConnection *gc)
Returns the connection's account.
PurpleAccount * account
The account being connected to.
PurpleConnectionState state
The connection state.
@ PURPLE_CONNECTION_NO_IMAGES
Connection does not support sending of images.
@ 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_FINGERPRINT_MISMATCH
The server's SSL certificate does not have the expected fingerprint.
@ PURPLE_CONNECTION_SUPPORT_MOODS
Connection supports setting moods.