glibmm 2.31.2
Public Member Functions | Related Functions
Gio::SocketAddressEnumerator Class Reference

Enumerator type for objects that contain or generate SocketAddresses. More...

#include <giomm/socketaddressenumerator.h>

Inheritance diagram for Gio::SocketAddressEnumerator:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~SocketAddressEnumerator ()
GSocketAddressEnumerator* gobj ()
 Provides access to the underlying C GObject.
const GSocketAddressEnumerator* gobj () const
 Provides access to the underlying C GObject.
GSocketAddressEnumerator* gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Glib::RefPtr< SocketAddressnext (const Glib::RefPtr< Cancellable >& cancellable)
 Retrieves the next SocketAddress from enumerator.
Glib::RefPtr< SocketAddressnext ()
 Retrieves the next SocketAddress from the enumerator.
void next_async (const Glib::RefPtr< Cancellable >& cancellable, const SlotAsyncReady& slot)
 Asynchronously retrieves the next SocketAddress from the enumerator and then calls slot, which must call next_finish() to get the result.
void next_async (const SlotAsyncReady& slot)
 Asynchronously retrieves the next SocketAddress from the enumerator and then calls slot, which must call next_finish() to get the result.
Glib::RefPtr< SocketAddressnext_finish (const Glib::RefPtr< AsyncResult >& result)
 Retrieves the result of a completed call to g_socket_address_enumerator_next_async().

Related Functions

(Note that these are not member functions.)

Glib::RefPtr
< Gio::SocketAddressEnumerator
wrap (GSocketAddressEnumerator* object, bool take_copy=false)
 A Glib::wrap() method for this object.

Detailed Description

Enumerator type for objects that contain or generate SocketAddresses.

Since glibmm 2.24:

Constructor & Destructor Documentation

virtual Gio::SocketAddressEnumerator::~SocketAddressEnumerator ( ) [virtual]

Member Function Documentation

GSocketAddressEnumerator* Gio::SocketAddressEnumerator::gobj ( ) [inline]

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

const GSocketAddressEnumerator* Gio::SocketAddressEnumerator::gobj ( ) const [inline]

Provides access to the underlying C GObject.

Reimplemented from Glib::ObjectBase.

GSocketAddressEnumerator* Gio::SocketAddressEnumerator::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

Glib::RefPtr<SocketAddress> Gio::SocketAddressEnumerator::next ( const Glib::RefPtr< Cancellable >&  cancellable)

Retrieves the next SocketAddress from enumerator.

Note that this may block for some amount of time. (Eg, a NetworkAddress 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:
cancellableOptional Cancellable object, 0 to ignore.
Returns:
A SocketAddress (owned by the caller), or 0 on error (in which case* error will be set) or if there are no more addresses.
Glib::RefPtr<SocketAddress> Gio::SocketAddressEnumerator::next ( )

Retrieves the next SocketAddress from the enumerator.

Note that this may block for some amount of time. (Eg, a NetworkAddress may need to do a DNS lookup before it can return an address.) Use next_async() if you need to avoid blocking.

If this enumerator is expected to yield addresses, but for some reason is unable to (eg, because of a DNS error), then the first call to next() will throw an exception. However, if the first call to next() succeeds, then any further internal errors will be ignored.

When there are no further addresses, an exception will be thrown.

Returns:
A SocketAddress
void Gio::SocketAddressEnumerator::next_async ( const Glib::RefPtr< Cancellable >&  cancellable,
const SlotAsyncReady slot 
)

Asynchronously retrieves the next SocketAddress from the enumerator and then calls slot, which must call next_finish() to get the result.

Parameters:
cancellableA Cancellable object which can be used to cancel the operation.
slotA callback slot to call after the resolution completes.
void Gio::SocketAddressEnumerator::next_async ( const SlotAsyncReady slot)

Asynchronously retrieves the next SocketAddress from the enumerator and then calls slot, which must call next_finish() to get the result.

Parameters:
slotA callback slot to call after the resolution completes.
Glib::RefPtr<SocketAddress> Gio::SocketAddressEnumerator::next_finish ( const Glib::RefPtr< AsyncResult >&  result)

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:
resultA AsyncResult.
Returns:
A SocketAddress (owned by the caller), or 0 on error (in which case* error will be set) or if there are no more addresses.

Friends And Related Function Documentation

Glib::RefPtr< Gio::SocketAddressEnumerator > wrap ( GSocketAddressEnumerator *  object,
bool  take_copy = false 
) [related]

A Glib::wrap() method for this object.

Parameters:
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns:
A C++ instance that wraps this C instance.