GSocketAddressEnumerator

GSocketAddressEnumerator

Object Hierarchy

    GObject
    ╰── GSocketAddressEnumerator
        ╰── GProxyAddressEnumerator

Description

Functions

g_socket_address_enumerator_next ()

GSocketAddress *
g_socket_address_enumerator_next (GSocketAddressEnumerator *enumerator,
                                  GCancellable *cancellable,
                                  GError **error);

Retrieves the next GSocketAddress from enumerator . Note that this may block for some amount of time. (Eg, a GNetworkAddress may need to do a DNS lookup before it can return an address.) Use g_socket_address_enumerator_next_async() if you need to avoid blocking.

If enumerator is expected to yield addresses, but for some reason is unable to (eg, because of a DNS error), then the first call to g_socket_address_enumerator_next() will return an appropriate error in *error . However, if the first call to g_socket_address_enumerator_next() succeeds, then any further internal errors (other than cancellable being triggered) will be ignored.

Parameters

enumerator

a GSocketAddressEnumerator

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

error

a GError.

 

Returns

a GSocketAddress (owned by the caller), or NULL on error (in which case *error will be set) or if there are no more addresses.

[transfer full]


g_socket_address_enumerator_next_async ()

void
g_socket_address_enumerator_next_async
                               (GSocketAddressEnumerator *enumerator,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

Asynchronously retrieves the next GSocketAddress from enumerator and then calls callback , which must call g_socket_address_enumerator_next_finish() to get the result.

Parameters

enumerator

a GSocketAddressEnumerator

 

cancellable

optional GCancellable object, NULL to ignore.

[nullable]

callback

a GAsyncReadyCallback to call when the request is satisfied.

[scope async]

user_data

the data to pass to callback function.

[closure]

g_socket_address_enumerator_next_finish ()

GSocketAddress *
g_socket_address_enumerator_next_finish
                               (GSocketAddressEnumerator *enumerator,
                                GAsyncResult *result,
                                GError **error);

Retrieves the result of a completed call to g_socket_address_enumerator_next_async(). See g_socket_address_enumerator_next() for more information about error handling.

Parameters

enumerator

a GSocketAddressEnumerator

 

result

a GAsyncResult

 

error

a GError

 

Returns

a GSocketAddress (owned by the caller), or NULL on error (in which case *error will be set) or if there are no more addresses.

[transfer full]

Types and Values

GSocketAddressEnumerator

typedef struct _GSocketAddressEnumerator GSocketAddressEnumerator;

Enumerator type for objects that contain or generate GSocketAddress<!-- -->es.


struct GSocketAddressEnumeratorClass

struct GSocketAddressEnumeratorClass {
  GObjectClass parent_class;

  /* Virtual Table */

  GSocketAddress * (* next)        (GSocketAddressEnumerator  *enumerator,
				    GCancellable              *cancellable,
				    GError                   **error);

  void             (* next_async)  (GSocketAddressEnumerator  *enumerator,
				    GCancellable              *cancellable,
				    GAsyncReadyCallback        callback,
				    gpointer                   user_data);
  GSocketAddress * (* next_finish) (GSocketAddressEnumerator  *enumerator,
				    GAsyncResult              *result,
				    GError                   **error);
};