gi-gio
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gio.Objects.SocketAddressEnumerator

Description

GSocketAddressEnumerator is an enumerator type for SocketAddress instances. It is returned by enumeration functions such as socketConnectableEnumerate, which returns a GSocketAddressEnumerator to list each SocketAddress which could be used to connect to that SocketConnectable.

Enumeration is typically a blocking operation, so the asynchronous methods socketAddressEnumeratorNextAsync and socketAddressEnumeratorNextFinish should be used where possible.

Each GSocketAddressEnumerator can only be enumerated once. Once socketAddressEnumeratorNext has returned NULL, further enumeration with that GSocketAddressEnumerator is not possible, and it can be unreffed.

Synopsis

Exported types

newtype SocketAddressEnumerator Source #

Memory-managed wrapper type.

Instances

Instances details
Eq SocketAddressEnumerator Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

GObject SocketAddressEnumerator Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

ManagedPtrNewtype SocketAddressEnumerator Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

TypedObject SocketAddressEnumerator Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

Methods

glibType :: IO GType #

HasParentTypes SocketAddressEnumerator Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

HasAttributeList SocketAddressEnumerator Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

(info ~ ResolveSocketAddressEnumeratorMethod t SocketAddressEnumerator, OverloadedMethod info SocketAddressEnumerator p, HasField t SocketAddressEnumerator p) => HasField (t :: Symbol) SocketAddressEnumerator (p :: Type) Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

(info ~ ResolveSocketAddressEnumeratorMethod t SocketAddressEnumerator, OverloadedMethodInfo info SocketAddressEnumerator) => IsLabel t (MethodProxy info SocketAddressEnumerator) Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

(info ~ ResolveSocketAddressEnumeratorMethod t SocketAddressEnumerator, OverloadedMethod info SocketAddressEnumerator p) => IsLabel t (SocketAddressEnumerator -> p) Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

IsGValue (Maybe SocketAddressEnumerator) Source #

Convert SocketAddressEnumerator to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

type AttributeList SocketAddressEnumerator Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

type ParentTypes SocketAddressEnumerator Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

type SignalList SocketAddressEnumerator Source # 
Instance details

Defined in GI.Gio.Objects.SocketAddressEnumerator

class (GObject o, IsDescendantOf SocketAddressEnumerator o) => IsSocketAddressEnumerator o Source #

Type class for types which can be safely cast to SocketAddressEnumerator, for instance with toSocketAddressEnumerator.

toSocketAddressEnumerator :: (MonadIO m, IsSocketAddressEnumerator o) => o -> m SocketAddressEnumerator Source #

Cast to SocketAddressEnumerator, for types for which this is known to be safe. For general casts, use castTo.

Methods

type family ResolveSocketAddressEnumeratorMethod (t :: Symbol) o where ... Source #

Equations

ResolveSocketAddressEnumeratorMethod "bindProperty" o = ObjectBindPropertyMethodInfo 
ResolveSocketAddressEnumeratorMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo 
ResolveSocketAddressEnumeratorMethod "forceFloating" o = ObjectForceFloatingMethodInfo 
ResolveSocketAddressEnumeratorMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo 
ResolveSocketAddressEnumeratorMethod "getv" o = ObjectGetvMethodInfo 
ResolveSocketAddressEnumeratorMethod "isFloating" o = ObjectIsFloatingMethodInfo 
ResolveSocketAddressEnumeratorMethod "next" o = SocketAddressEnumeratorNextMethodInfo 
ResolveSocketAddressEnumeratorMethod "nextAsync" o = SocketAddressEnumeratorNextAsyncMethodInfo 
ResolveSocketAddressEnumeratorMethod "nextFinish" o = SocketAddressEnumeratorNextFinishMethodInfo 
ResolveSocketAddressEnumeratorMethod "notify" o = ObjectNotifyMethodInfo 
ResolveSocketAddressEnumeratorMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo 
ResolveSocketAddressEnumeratorMethod "ref" o = ObjectRefMethodInfo 
ResolveSocketAddressEnumeratorMethod "refSink" o = ObjectRefSinkMethodInfo 
ResolveSocketAddressEnumeratorMethod "runDispose" o = ObjectRunDisposeMethodInfo 
ResolveSocketAddressEnumeratorMethod "stealData" o = ObjectStealDataMethodInfo 
ResolveSocketAddressEnumeratorMethod "stealQdata" o = ObjectStealQdataMethodInfo 
ResolveSocketAddressEnumeratorMethod "thawNotify" o = ObjectThawNotifyMethodInfo 
ResolveSocketAddressEnumeratorMethod "unref" o = ObjectUnrefMethodInfo 
ResolveSocketAddressEnumeratorMethod "watchClosure" o = ObjectWatchClosureMethodInfo 
ResolveSocketAddressEnumeratorMethod "getData" o = ObjectGetDataMethodInfo 
ResolveSocketAddressEnumeratorMethod "getProperty" o = ObjectGetPropertyMethodInfo 
ResolveSocketAddressEnumeratorMethod "getQdata" o = ObjectGetQdataMethodInfo 
ResolveSocketAddressEnumeratorMethod "setData" o = ObjectSetDataMethodInfo 
ResolveSocketAddressEnumeratorMethod "setDataFull" o = ObjectSetDataFullMethodInfo 
ResolveSocketAddressEnumeratorMethod "setProperty" o = ObjectSetPropertyMethodInfo 
ResolveSocketAddressEnumeratorMethod l o = MethodResolutionFailed l o :: Type 

next

socketAddressEnumeratorNext Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketAddressEnumerator a, IsCancellable b) 
=> a

enumerator: a SocketAddressEnumerator

-> Maybe b

cancellable: optional Cancellable object, Nothing to ignore.

-> m (Maybe SocketAddress)

Returns: a SocketAddress (owned by the caller), or Nothing on error (in which case *error will be set) or if there are no more addresses. (Can throw GError)

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 socketAddressEnumeratorNextAsync 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 socketAddressEnumeratorNext will return an appropriate error in *error. However, if the first call to socketAddressEnumeratorNext succeeds, then any further internal errors (other than cancellable being triggered) will be ignored.

nextAsync

socketAddressEnumeratorNextAsync Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketAddressEnumerator a, IsCancellable b) 
=> a

enumerator: a SocketAddressEnumerator

-> Maybe b

cancellable: optional Cancellable object, Nothing to ignore.

-> Maybe AsyncReadyCallback

callback: a AsyncReadyCallback to call when the request is satisfied

-> m () 

Asynchronously retrieves the next SocketAddress from enumerator and then calls callback, which must call socketAddressEnumeratorNextFinish to get the result.

It is an error to call this multiple times before the previous callback has finished.

nextFinish

socketAddressEnumeratorNextFinish Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketAddressEnumerator a, IsAsyncResult b) 
=> a

enumerator: a SocketAddressEnumerator

-> b

result: a AsyncResult

-> m (Maybe SocketAddress)

Returns: a SocketAddress (owned by the caller), or Nothing on error (in which case *error will be set) or if there are no more addresses. (Can throw GError)

Retrieves the result of a completed call to socketAddressEnumeratorNextAsync. See socketAddressEnumeratorNext for more information about error handling.