Signal

GioSocketClient::event

since: 2.32

Declaration

void
event (
  GSocketClient* self,
  GSocketClientEvent event,
  GSocketConnectable* connectable,
  GIOStream* connection,
  gpointer user_data
)

Description

Emitted when clients activity on connectable changes state. Among other things, this can be used to provide progress information about a network connection in the UI. The meanings of the different event values are as follows:

  • G_SOCKET_CLIENT_RESOLVING: client is about to look up connectable in DNS. connection will be NULL.

  • G_SOCKET_CLIENT_RESOLVED: client has successfully resolved connectable in DNS. connection will be NULL.

  • G_SOCKET_CLIENT_CONNECTING: client is about to make a connection to a remote host; either a proxy server or the destination server itself. connection is the GSocketConnection, which is not yet connected. Since GLib 2.40, you can access the remote address via g_socket_connection_get_remote_address().

  • G_SOCKET_CLIENT_CONNECTED: client has successfully connected to a remote host. connection is the connected GSocketConnection.

  • G_SOCKET_CLIENT_PROXY_NEGOTIATING: client is about to negotiate with a proxy to get it to connect to connectable. connection is the GSocketConnection to the proxy server.

  • G_SOCKET_CLIENT_PROXY_NEGOTIATED: client has negotiated a connection to connectable through a proxy server. connection is the stream returned from g_proxy_connect(), which may or may not be a GSocketConnection.

  • G_SOCKET_CLIENT_TLS_HANDSHAKING: client is about to begin a TLS handshake. connection is a GTlsClientConnection.

  • G_SOCKET_CLIENT_TLS_HANDSHAKED: client has successfully completed the TLS handshake. connection is a GTlsClientConnection.

  • G_SOCKET_CLIENT_COMPLETE: client has either successfully connected to connectable (in which case connection is the GSocketConnection that it will be returning to the caller) or has failed (in which case connection is NULL and the client is about to return an error).

Each event except G_SOCKET_CLIENT_COMPLETE may be emitted multiple times (or not at all) for a given connectable (in particular, if client ends up attempting to connect to more than one address). However, if client emits the GSocketClient::event signal at all for a given connectable, then it will always emit it with G_SOCKET_CLIENT_COMPLETE when it is done.

Note that there may be additional GSocketClientEvent values in the future; unrecognized event values should be ignored.

Default handler:

The default handler is called after the handlers added via g_signal_connect().

Available since: 2.32

Parameters

event

Type: GSocketClientEvent

The event that is occurring.

connectable

Type: GSocketConnectable

The GSocketConnectable that event is occurring on.

The data is owned by the caller of the function.
connection

Type: GIOStream

The current representation of the connection.

The argument can be NULL.
The data is owned by the caller of the function.