Gio.SocketConnectable¶
| Implementations: | |
|---|---|
Gio.NetworkAddress, Gio.NetworkService, Gio.SocketAddress |
|
Methods¶
enumerate () |
|
proxy_enumerate () |
|
to_string () |
Virtual Methods¶
do_enumerate () |
|
do_proxy_enumerate () |
|
do_to_string () |
Properties¶
None
Signals¶
None
Fields¶
None
Class Details¶
-
class
Gio.SocketConnectable¶ Bases: GObject.GInterfaceStructure: Gio.SocketConnectableIfaceObjects that describe one or more potential socket endpoints implement
Gio.SocketConnectable. Callers can then useGio.SocketConnectable.enumerate() to get aGio.SocketAddressEnumeratorto try out each socket address in turn until one succeeds, as shown in the sample code below.MyConnectionType * connect_to_host (const char *hostname, guint16 port, GCancellable *cancellable, GError **error) { MyConnection *conn = NULL; GSocketConnectable *addr; GSocketAddressEnumerator *enumerator; GSocketAddress *sockaddr; GError *conn_error = NULL; addr = g_network_address_new (hostname, port); enumerator = g_socket_connectable_enumerate (addr); g_object_unref (addr); // Try each sockaddr until we succeed. Record the first connection error, // but not any further ones (since they'll probably be basically the same // as the first). while (!conn && (sockaddr = g_socket_address_enumerator_next (enumerator, cancellable, error)) { conn = connect_to_sockaddr (sockaddr, conn_error ? NULL : &conn_error); g_object_unref (sockaddr); } g_object_unref (enumerator); if (conn) { if (conn_error) { // We couldn't connect to the first address, but we succeeded // in connecting to a later address. g_error_free (conn_error); } return conn; } else if (error) { /// Either initial lookup failed, or else the caller cancelled us. if (conn_error) g_error_free (conn_error); return NULL; } else { g_error_propagate (error, conn_error); return NULL; } }
-
enumerate()[source]¶ Returns: a new Gio.SocketAddressEnumerator.Return type: Gio.SocketAddressEnumeratorCreates a
Gio.SocketAddressEnumeratorfor self.New in version 2.22.
-
proxy_enumerate()[source]¶ Returns: a new Gio.SocketAddressEnumerator.Return type: Gio.SocketAddressEnumeratorCreates a
Gio.SocketAddressEnumeratorfor self that will return aGio.ProxyAddressfor each of its addresses that you must connect to via a proxy.If self does not implement
Gio.SocketConnectable.proxy_enumerate(), this will fall back to callingGio.SocketConnectable.enumerate().New in version 2.26.
-
to_string()[source]¶ Returns: the formatted string Return type: strFormat a
Gio.SocketConnectableas a string. This is a human-readable format for use in debugging output, and is not a stable serialization format. It is not suitable for use in user interfaces as it exposes too much information for a user.If the
Gio.SocketConnectableimplementation does not support string formatting, the implementation’s type name will be returned as a fallback.New in version 2.48.
-
do_enumerate() virtual¶ Returns: a new Gio.SocketAddressEnumerator.Return type: Gio.SocketAddressEnumeratorCreates a
Gio.SocketAddressEnumeratorfor connectable.New in version 2.22.
-
do_proxy_enumerate() virtual¶ Returns: a new Gio.SocketAddressEnumerator.Return type: Gio.SocketAddressEnumeratorCreates a
Gio.SocketAddressEnumeratorfor connectable that will return aGio.ProxyAddressfor each of its addresses that you must connect to via a proxy.If connectable does not implement
Gio.SocketConnectable.proxy_enumerate(), this will fall back to callingGio.SocketConnectable.enumerate().New in version 2.26.
-
do_to_string() virtual¶ Returns: the formatted string Return type: strFormat a
Gio.SocketConnectableas a string. This is a human-readable format for use in debugging output, and is not a stable serialization format. It is not suitable for use in user interfaces as it exposes too much information for a user.If the
Gio.SocketConnectableimplementation does not support string formatting, the implementation’s type name will be returned as a fallback.New in version 2.48.
-