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

GI.Gio.Objects.SocketClient

Description

GSocketClient is a lightweight high-level utility class for connecting to a network host using a connection oriented socket type.

You create a GSocketClient object, set any options you want, and then call a sync or async connect operation, which returns a SocketConnection subclass on success.

The type of the SocketConnection object returned depends on the type of the underlying socket that is in use. For instance, for a TCP/IP connection it will be a TcpConnection.

As GSocketClient is a lightweight object, you don't need to cache it. You can just create a new one any time you need one.

Since: 2.22

Synopsis

Exported types

newtype SocketClient Source #

Memory-managed wrapper type.

Instances

Instances details
Eq SocketClient Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

GObject SocketClient Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

ManagedPtrNewtype SocketClient Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

TypedObject SocketClient Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

Methods

glibType :: IO GType #

HasParentTypes SocketClient Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

HasAttributeList SocketClient Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

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

Defined in GI.Gio.Objects.SocketClient

Methods

getField :: SocketClient -> p #

(info ~ ResolveSocketClientMethod t SocketClient, OverloadedMethodInfo info SocketClient) => IsLabel t (MethodProxy info SocketClient) Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

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

Defined in GI.Gio.Objects.SocketClient

Methods

fromLabel :: SocketClient -> p #

IsGValue (Maybe SocketClient) Source #

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

Instance details

Defined in GI.Gio.Objects.SocketClient

type AttributeList SocketClient Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type ParentTypes SocketClient Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type SignalList SocketClient Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

class (GObject o, IsDescendantOf SocketClient o) => IsSocketClient o Source #

Type class for types which can be safely cast to SocketClient, for instance with toSocketClient.

Instances

Instances details
(GObject o, IsDescendantOf SocketClient o) => IsSocketClient o Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

toSocketClient :: (MonadIO m, IsSocketClient o) => o -> m SocketClient Source #

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

Methods

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

Equations

ResolveSocketClientMethod "addApplicationProxy" o = SocketClientAddApplicationProxyMethodInfo 
ResolveSocketClientMethod "bindProperty" o = ObjectBindPropertyMethodInfo 
ResolveSocketClientMethod "bindPropertyFull" o = ObjectBindPropertyFullMethodInfo 
ResolveSocketClientMethod "connect" o = SocketClientConnectMethodInfo 
ResolveSocketClientMethod "connectAsync" o = SocketClientConnectAsyncMethodInfo 
ResolveSocketClientMethod "connectFinish" o = SocketClientConnectFinishMethodInfo 
ResolveSocketClientMethod "connectToHost" o = SocketClientConnectToHostMethodInfo 
ResolveSocketClientMethod "connectToHostAsync" o = SocketClientConnectToHostAsyncMethodInfo 
ResolveSocketClientMethod "connectToHostFinish" o = SocketClientConnectToHostFinishMethodInfo 
ResolveSocketClientMethod "connectToService" o = SocketClientConnectToServiceMethodInfo 
ResolveSocketClientMethod "connectToServiceAsync" o = SocketClientConnectToServiceAsyncMethodInfo 
ResolveSocketClientMethod "connectToServiceFinish" o = SocketClientConnectToServiceFinishMethodInfo 
ResolveSocketClientMethod "connectToUri" o = SocketClientConnectToUriMethodInfo 
ResolveSocketClientMethod "connectToUriAsync" o = SocketClientConnectToUriAsyncMethodInfo 
ResolveSocketClientMethod "connectToUriFinish" o = SocketClientConnectToUriFinishMethodInfo 
ResolveSocketClientMethod "forceFloating" o = ObjectForceFloatingMethodInfo 
ResolveSocketClientMethod "freezeNotify" o = ObjectFreezeNotifyMethodInfo 
ResolveSocketClientMethod "getv" o = ObjectGetvMethodInfo 
ResolveSocketClientMethod "isFloating" o = ObjectIsFloatingMethodInfo 
ResolveSocketClientMethod "notify" o = ObjectNotifyMethodInfo 
ResolveSocketClientMethod "notifyByPspec" o = ObjectNotifyByPspecMethodInfo 
ResolveSocketClientMethod "ref" o = ObjectRefMethodInfo 
ResolveSocketClientMethod "refSink" o = ObjectRefSinkMethodInfo 
ResolveSocketClientMethod "runDispose" o = ObjectRunDisposeMethodInfo 
ResolveSocketClientMethod "stealData" o = ObjectStealDataMethodInfo 
ResolveSocketClientMethod "stealQdata" o = ObjectStealQdataMethodInfo 
ResolveSocketClientMethod "thawNotify" o = ObjectThawNotifyMethodInfo 
ResolveSocketClientMethod "unref" o = ObjectUnrefMethodInfo 
ResolveSocketClientMethod "watchClosure" o = ObjectWatchClosureMethodInfo 
ResolveSocketClientMethod "getData" o = ObjectGetDataMethodInfo 
ResolveSocketClientMethod "getEnableProxy" o = SocketClientGetEnableProxyMethodInfo 
ResolveSocketClientMethod "getFamily" o = SocketClientGetFamilyMethodInfo 
ResolveSocketClientMethod "getLocalAddress" o = SocketClientGetLocalAddressMethodInfo 
ResolveSocketClientMethod "getProperty" o = ObjectGetPropertyMethodInfo 
ResolveSocketClientMethod "getProtocol" o = SocketClientGetProtocolMethodInfo 
ResolveSocketClientMethod "getProxyResolver" o = SocketClientGetProxyResolverMethodInfo 
ResolveSocketClientMethod "getQdata" o = ObjectGetQdataMethodInfo 
ResolveSocketClientMethod "getSocketType" o = SocketClientGetSocketTypeMethodInfo 
ResolveSocketClientMethod "getTimeout" o = SocketClientGetTimeoutMethodInfo 
ResolveSocketClientMethod "getTls" o = SocketClientGetTlsMethodInfo 
ResolveSocketClientMethod "getTlsValidationFlags" o = SocketClientGetTlsValidationFlagsMethodInfo 
ResolveSocketClientMethod "setData" o = ObjectSetDataMethodInfo 
ResolveSocketClientMethod "setDataFull" o = ObjectSetDataFullMethodInfo 
ResolveSocketClientMethod "setEnableProxy" o = SocketClientSetEnableProxyMethodInfo 
ResolveSocketClientMethod "setFamily" o = SocketClientSetFamilyMethodInfo 
ResolveSocketClientMethod "setLocalAddress" o = SocketClientSetLocalAddressMethodInfo 
ResolveSocketClientMethod "setProperty" o = ObjectSetPropertyMethodInfo 
ResolveSocketClientMethod "setProtocol" o = SocketClientSetProtocolMethodInfo 
ResolveSocketClientMethod "setProxyResolver" o = SocketClientSetProxyResolverMethodInfo 
ResolveSocketClientMethod "setSocketType" o = SocketClientSetSocketTypeMethodInfo 
ResolveSocketClientMethod "setTimeout" o = SocketClientSetTimeoutMethodInfo 
ResolveSocketClientMethod "setTls" o = SocketClientSetTlsMethodInfo 
ResolveSocketClientMethod "setTlsValidationFlags" o = SocketClientSetTlsValidationFlagsMethodInfo 
ResolveSocketClientMethod l o = MethodResolutionFailed l o :: Type 

addApplicationProxy

socketClientAddApplicationProxy Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient

-> Text

protocol: The proxy protocol

-> m () 

Enable proxy protocols to be handled by the application. When the indicated proxy protocol is returned by the ProxyResolver, SocketClient will consider this protocol as supported but will not try to find a Proxy instance to handle handshaking. The application must check for this case by calling socketConnectionGetRemoteAddress on the returned SocketConnection, and seeing if it's a ProxyAddress of the appropriate type, to determine whether or not it needs to handle the proxy handshaking itself.

This should be used for proxy protocols that are dialects of another protocol such as HTTP proxy. It also allows cohabitation of proxy protocols that are reused between protocols. A good example is HTTP. It can be used to proxy HTTP, FTP and Gopher and can also be use as generic socket proxy through the HTTP CONNECT method.

When the proxy is detected as being an application proxy, TLS handshake will be skipped. This is required to let the application do the proxy specific handshake.

connect

socketClientConnect Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a, IsSocketConnectable b, IsCancellable c) 
=> a

client: a SocketClient.

-> b

connectable: a SocketConnectable specifying the remote address.

-> Maybe c

cancellable: optional Cancellable object, Nothing to ignore.

-> m SocketConnection

Returns: a SocketConnection on success, Nothing on error. (Can throw GError)

Tries to resolve the connectable and make a network connection to it.

Upon a successful connection, a new SocketConnection is constructed and returned. The caller owns this new object and must drop their reference to it when finished with it.

The type of the SocketConnection object returned depends on the type of the underlying socket that is used. For instance, for a TCP/IP connection it will be a TcpConnection.

The socket created will be the same family as the address that the connectable resolves to, unless family is set with socketClientSetFamily or indirectly via socketClientSetLocalAddress. The socket type defaults to SocketTypeStream but can be set with socketClientSetSocketType.

If a local address is specified with socketClientSetLocalAddress the socket will be bound to this address before connecting.

Since: 2.22

connectAsync

socketClientConnectAsync Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a, IsSocketConnectable b, IsCancellable c) 
=> a

client: a SocketClient

-> b

connectable: a SocketConnectable specifying the remote address.

-> Maybe c

cancellable: a Cancellable, or Nothing

-> Maybe AsyncReadyCallback

callback: a AsyncReadyCallback

-> m () 

This is the asynchronous version of socketClientConnect.

You may wish to prefer the asynchronous version even in synchronous command line programs because, since 2.60, it implements RFC 8305 "Happy Eyeballs" recommendations to work around long connection timeouts in networks where IPv6 is broken by performing an IPv4 connection simultaneously without waiting for IPv6 to time out, which is not supported by the synchronous call. (This is not an API guarantee, and may change in the future.)

When the operation is finished callback will be called. You can then call socketClientConnectFinish to get the result of the operation.

Since: 2.22

connectFinish

socketClientConnectFinish Source #

Arguments

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

client: a SocketClient.

-> b

result: a AsyncResult.

-> m SocketConnection

Returns: a SocketConnection on success, Nothing on error. (Can throw GError)

Finishes an async connect operation. See socketClientConnectAsync

Since: 2.22

connectToHost

socketClientConnectToHost Source #

Arguments

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

client: a SocketClient

-> Text

hostAndPort: the name and optionally port of the host to connect to

-> Word16

defaultPort: the default port to connect to

-> Maybe b

cancellable: a Cancellable, or Nothing

-> m SocketConnection

Returns: a SocketConnection on success, Nothing on error. (Can throw GError)

This is a helper function for socketClientConnect.

Attempts to create a TCP connection to the named host.

hostAndPort may be in any of a number of recognized formats; an IPv6 address, an IPv4 address, or a domain name (in which case a DNS lookup is performed). Quoting with [] is supported for all address types. A port override may be specified in the usual way with a colon. Ports may be given as decimal numbers or symbolic names (in which case an /etc/services lookup is performed).

If no port override is given in hostAndPort then defaultPort will be used as the port number to connect to.

In general, hostAndPort is expected to be provided by the user (allowing them to give the hostname, and a port override if necessary) and defaultPort is expected to be provided by the application.

In the case that an IP address is given, a single connection attempt is made. In the case that a name is given, multiple connection attempts may be made, in turn and according to the number of address records in DNS, until a connection succeeds.

Upon a successful connection, a new SocketConnection is constructed and returned. The caller owns this new object and must drop their reference to it when finished with it.

In the event of any failure (DNS error, service not found, no hosts connectable) Nothing is returned and error (if non-Nothing) is set accordingly.

Since: 2.22

connectToHostAsync

socketClientConnectToHostAsync Source #

Arguments

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

client: a SocketClient

-> Text

hostAndPort: the name and optionally the port of the host to connect to

-> Word16

defaultPort: the default port to connect to

-> Maybe b

cancellable: a Cancellable, or Nothing

-> Maybe AsyncReadyCallback

callback: a AsyncReadyCallback

-> m () 

This is the asynchronous version of socketClientConnectToHost.

When the operation is finished callback will be called. You can then call socketClientConnectToHostFinish to get the result of the operation.

Since: 2.22

connectToHostFinish

socketClientConnectToHostFinish Source #

Arguments

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

client: a SocketClient.

-> b

result: a AsyncResult.

-> m SocketConnection

Returns: a SocketConnection on success, Nothing on error. (Can throw GError)

Finishes an async connect operation. See socketClientConnectToHostAsync

Since: 2.22

connectToService

socketClientConnectToService Source #

Arguments

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

client: a SocketConnection

-> Text

domain: a domain name

-> Text

service: the name of the service to connect to

-> Maybe b

cancellable: a Cancellable, or Nothing

-> m SocketConnection

Returns: a SocketConnection if successful, or Nothing on error (Can throw GError)

Attempts to create a TCP connection to a service.

This call looks up the SRV record for service at domain for the "tcp" protocol. It then attempts to connect, in turn, to each of the hosts providing the service until either a connection succeeds or there are no hosts remaining.

Upon a successful connection, a new SocketConnection is constructed and returned. The caller owns this new object and must drop their reference to it when finished with it.

In the event of any failure (DNS error, service not found, no hosts connectable) Nothing is returned and error (if non-Nothing) is set accordingly.

connectToServiceAsync

socketClientConnectToServiceAsync Source #

Arguments

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

client: a SocketClient

-> Text

domain: a domain name

-> Text

service: the name of the service to connect to

-> Maybe b

cancellable: a Cancellable, or Nothing

-> Maybe AsyncReadyCallback

callback: a AsyncReadyCallback

-> m () 

This is the asynchronous version of socketClientConnectToService.

Since: 2.22

connectToServiceFinish

socketClientConnectToServiceFinish Source #

Arguments

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

client: a SocketClient.

-> b

result: a AsyncResult.

-> m SocketConnection

Returns: a SocketConnection on success, Nothing on error. (Can throw GError)

Finishes an async connect operation. See socketClientConnectToServiceAsync

Since: 2.22

connectToUri

socketClientConnectToUri Source #

Arguments

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

client: a SocketClient

-> Text

uri: A network URI

-> Word16

defaultPort: the default port to connect to

-> Maybe b

cancellable: a Cancellable, or Nothing

-> m SocketConnection

Returns: a SocketConnection on success, Nothing on error. (Can throw GError)

This is a helper function for socketClientConnect.

Attempts to create a TCP connection with a network URI.

uri may be any valid URI containing an "authority" (hostname/port) component. If a port is not specified in the URI, defaultPort will be used. TLS will be negotiated if SocketClient:tls is True. (tSocketClient does not know to automatically assume TLS for certain URI schemes.)

Using this rather than socketClientConnect or socketClientConnectToHost allows SocketClient to determine when to use application-specific proxy protocols.

Upon a successful connection, a new SocketConnection is constructed and returned. The caller owns this new object and must drop their reference to it when finished with it.

In the event of any failure (DNS error, service not found, no hosts connectable) Nothing is returned and error (if non-Nothing) is set accordingly.

Since: 2.26

connectToUriAsync

socketClientConnectToUriAsync Source #

Arguments

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

client: a SocketClient

-> Text

uri: a network uri

-> Word16

defaultPort: the default port to connect to

-> Maybe b

cancellable: a Cancellable, or Nothing

-> Maybe AsyncReadyCallback

callback: a AsyncReadyCallback

-> m () 

This is the asynchronous version of socketClientConnectToUri.

When the operation is finished callback will be called. You can then call socketClientConnectToUriFinish to get the result of the operation.

Since: 2.26

connectToUriFinish

socketClientConnectToUriFinish Source #

Arguments

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

client: a SocketClient.

-> b

result: a AsyncResult.

-> m SocketConnection

Returns: a SocketConnection on success, Nothing on error. (Can throw GError)

Finishes an async connect operation. See socketClientConnectToUriAsync

Since: 2.26

getEnableProxy

socketClientGetEnableProxy Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> m Bool

Returns: whether proxying is enabled

Gets the proxy enable state; see socketClientSetEnableProxy

Since: 2.26

getFamily

socketClientGetFamily Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> m SocketFamily

Returns: a SocketFamily

Gets the socket family of the socket client.

See socketClientSetFamily for details.

Since: 2.22

getLocalAddress

socketClientGetLocalAddress Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> m (Maybe SocketAddress)

Returns: a SocketAddress or Nothing. Do not free.

Gets the local address of the socket client.

See socketClientSetLocalAddress for details.

Since: 2.22

getProtocol

socketClientGetProtocol Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient

-> m SocketProtocol

Returns: a SocketProtocol

Gets the protocol name type of the socket client.

See socketClientSetProtocol for details.

Since: 2.22

getProxyResolver

socketClientGetProxyResolver Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> m ProxyResolver

Returns: The ProxyResolver being used by client.

Gets the ProxyResolver being used by client. Normally, this will be the resolver returned by proxyResolverGetDefault, but you can override it with socketClientSetProxyResolver.

Since: 2.36

getSocketType

socketClientGetSocketType Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> m SocketType

Returns: a SocketFamily

Gets the socket type of the socket client.

See socketClientSetSocketType for details.

Since: 2.22

getTimeout

socketClientGetTimeout Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient

-> m Word32

Returns: the timeout in seconds

Gets the I/O timeout time for sockets created by client.

See socketClientSetTimeout for details.

Since: 2.26

getTls

socketClientGetTls Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> m Bool

Returns: whether client uses TLS

Gets whether client creates TLS connections. See socketClientSetTls for details.

Since: 2.28

getTlsValidationFlags

socketClientGetTlsValidationFlags Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> m [TlsCertificateFlags]

Returns: the TLS validation flags

Deprecated: (Since version 2.72)Do not attempt to ignore validation errors.

Gets the TLS validation flags used creating TLS connections via client.

This function does not work as originally designed and is impossible to use correctly. See SocketClient:tlsValidationFlags for more information.

Since: 2.28

new

socketClientNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m SocketClient

Returns: a SocketClient. Free the returned object with objectUnref.

Creates a new SocketClient with the default options.

Since: 2.22

setEnableProxy

socketClientSetEnableProxy Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> Bool

enable: whether to enable proxies

-> m () 

Sets whether or not client attempts to make connections via a proxy server. When enabled (the default), SocketClient will use a ProxyResolver to determine if a proxy protocol such as SOCKS is needed, and automatically do the necessary proxy negotiation.

See also socketClientSetProxyResolver.

Since: 2.26

setFamily

socketClientSetFamily Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> SocketFamily

family: a SocketFamily

-> m () 

Sets the socket family of the socket client. If this is set to something other than SocketFamilyInvalid then the sockets created by this object will be of the specified family.

This might be useful for instance if you want to force the local connection to be an ipv4 socket, even though the address might be an ipv6 mapped to ipv4 address.

Since: 2.22

setLocalAddress

socketClientSetLocalAddress Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a, IsSocketAddress b) 
=> a

client: a SocketClient.

-> Maybe b

address: a SocketAddress, or Nothing

-> m () 

Sets the local address of the socket client. The sockets created by this object will bound to the specified address (if not Nothing) before connecting.

This is useful if you want to ensure that the local side of the connection is on a specific port, or on a specific interface.

Since: 2.22

setProtocol

socketClientSetProtocol Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> SocketProtocol

protocol: a SocketProtocol

-> m () 

Sets the protocol of the socket client. The sockets created by this object will use of the specified protocol.

If protocol is SocketProtocolDefault that means to use the default protocol for the socket family and type.

Since: 2.22

setProxyResolver

socketClientSetProxyResolver Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a, IsProxyResolver b) 
=> a

client: a SocketClient.

-> Maybe b

proxyResolver: a ProxyResolver, or Nothing for the default.

-> m () 

Overrides the ProxyResolver used by client. You can call this if you want to use specific proxies, rather than using the system default proxy settings.

Note that whether or not the proxy resolver is actually used depends on the setting of SocketClient:enableProxy, which is not changed by this function (but which is True by default)

Since: 2.36

setSocketType

socketClientSetSocketType Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> SocketType

type: a SocketType

-> m () 

Sets the socket type of the socket client. The sockets created by this object will be of the specified type.

It doesn't make sense to specify a type of SocketTypeDatagram, as GSocketClient is used for connection oriented services.

Since: 2.22

setTimeout

socketClientSetTimeout Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> Word32

timeout: the timeout

-> m () 

Sets the I/O timeout for sockets created by client. timeout is a time in seconds, or 0 for no timeout (the default).

The timeout value affects the initial connection attempt as well, so setting this may cause calls to socketClientConnect, etc, to fail with IOErrorEnumTimedOut.

Since: 2.26

setTls

data SocketClientSetTlsMethodInfo Source #

Instances

Instances details
(signature ~ (Bool -> m ()), MonadIO m, IsSocketClient a) => OverloadedMethod SocketClientSetTlsMethodInfo a signature Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

Methods

overloadedMethod :: a -> signature #

OverloadedMethodInfo SocketClientSetTlsMethodInfo (a :: Type) Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

socketClientSetTls Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> Bool

tls: whether to use TLS

-> m () 

Sets whether client creates TLS (aka SSL) connections. If tls is True, client will wrap its connections in a TlsClientConnection and perform a TLS handshake when connecting.

Note that since SocketClient must return a SocketConnection, but TlsClientConnection is not a SocketConnection, this actually wraps the resulting TlsClientConnection in a TcpWrapperConnection when returning it. You can use tcpWrapperConnectionGetBaseIoStream on the return value to extract the TlsClientConnection.

If you need to modify the behavior of the TLS handshake (eg, by setting a client-side certificate to use, or connecting to the TlsConnection::acceptCertificate signal), you can connect to client's SocketClient::event signal and wait for it to be emitted with SocketClientEventTlsHandshaking, which will give you a chance to see the TlsClientConnection before the handshake starts.

Since: 2.28

setTlsValidationFlags

socketClientSetTlsValidationFlags Source #

Arguments

:: (HasCallStack, MonadIO m, IsSocketClient a) 
=> a

client: a SocketClient.

-> [TlsCertificateFlags]

flags: the validation flags

-> m () 

Deprecated: (Since version 2.72)Do not attempt to ignore validation errors.

Sets the TLS validation flags used when creating TLS connections via client. The default value is TlsCertificateFlagsValidateAll.

This function does not work as originally designed and is impossible to use correctly. See SocketClient:tlsValidationFlags for more information.

Since: 2.28

Properties

enableProxy

Enable proxy support.

Since: 2.22

data SocketClientEnableProxyPropertyInfo Source #

Instances

Instances details
AttrInfo SocketClientEnableProxyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

Associated Types

type AttrAllowedOps SocketClientEnableProxyPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientEnableProxyPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientEnableProxyPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientEnableProxyPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientEnableProxyPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientEnableProxyPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientEnableProxyPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientEnableProxyPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrAllowedOps SocketClientEnableProxyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientEnableProxyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientEnableProxyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientEnableProxyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientEnableProxyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientEnableProxyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientEnableProxyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientEnableProxyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

constructSocketClientEnableProxy :: (IsSocketClient o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “enable-proxy” property. This is rarely needed directly, but it is used by new.

getSocketClientEnableProxy :: (MonadIO m, IsSocketClient o) => o -> m Bool Source #

Get the value of the “enable-proxy” property. When overloading is enabled, this is equivalent to

get socketClient #enableProxy

setSocketClientEnableProxy :: (MonadIO m, IsSocketClient o) => o -> Bool -> m () Source #

Set the value of the “enable-proxy” property. When overloading is enabled, this is equivalent to

set socketClient [ #enableProxy := value ]

family

The address family to use for socket construction.

Since: 2.22

data SocketClientFamilyPropertyInfo Source #

Instances

Instances details
AttrInfo SocketClientFamilyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrAllowedOps SocketClientFamilyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientFamilyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientFamilyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientFamilyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientFamilyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientFamilyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientFamilyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientFamilyPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

constructSocketClientFamily :: (IsSocketClient o, MonadIO m) => SocketFamily -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “family” property. This is rarely needed directly, but it is used by new.

getSocketClientFamily :: (MonadIO m, IsSocketClient o) => o -> m SocketFamily Source #

Get the value of the “family” property. When overloading is enabled, this is equivalent to

get socketClient #family

setSocketClientFamily :: (MonadIO m, IsSocketClient o) => o -> SocketFamily -> m () Source #

Set the value of the “family” property. When overloading is enabled, this is equivalent to

set socketClient [ #family := value ]

localAddress

The local address constructed sockets will be bound to.

Since: 2.22

data SocketClientLocalAddressPropertyInfo Source #

Instances

Instances details
AttrInfo SocketClientLocalAddressPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

Associated Types

type AttrAllowedOps SocketClientLocalAddressPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientLocalAddressPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientLocalAddressPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientLocalAddressPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientLocalAddressPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientLocalAddressPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientLocalAddressPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientLocalAddressPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrAllowedOps SocketClientLocalAddressPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientLocalAddressPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientLocalAddressPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientLocalAddressPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientLocalAddressPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientLocalAddressPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientLocalAddressPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientLocalAddressPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

clearSocketClientLocalAddress :: (MonadIO m, IsSocketClient o) => o -> m () Source #

Set the value of the “local-address” property to Nothing. When overloading is enabled, this is equivalent to

clear #localAddress

constructSocketClientLocalAddress :: (IsSocketClient o, MonadIO m, IsSocketAddress a) => a -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “local-address” property. This is rarely needed directly, but it is used by new.

getSocketClientLocalAddress :: (MonadIO m, IsSocketClient o) => o -> m (Maybe SocketAddress) Source #

Get the value of the “local-address” property. When overloading is enabled, this is equivalent to

get socketClient #localAddress

setSocketClientLocalAddress :: (MonadIO m, IsSocketClient o, IsSocketAddress a) => o -> a -> m () Source #

Set the value of the “local-address” property. When overloading is enabled, this is equivalent to

set socketClient [ #localAddress := value ]

protocol

The protocol to use for socket construction, or 0 for default.

Since: 2.22

data SocketClientProtocolPropertyInfo Source #

Instances

Instances details
AttrInfo SocketClientProtocolPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

Associated Types

type AttrAllowedOps SocketClientProtocolPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientProtocolPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientProtocolPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientProtocolPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientProtocolPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientProtocolPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientProtocolPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientProtocolPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrAllowedOps SocketClientProtocolPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientProtocolPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientProtocolPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientProtocolPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientProtocolPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientProtocolPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientProtocolPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientProtocolPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

constructSocketClientProtocol :: (IsSocketClient o, MonadIO m) => SocketProtocol -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “protocol” property. This is rarely needed directly, but it is used by new.

getSocketClientProtocol :: (MonadIO m, IsSocketClient o) => o -> m SocketProtocol Source #

Get the value of the “protocol” property. When overloading is enabled, this is equivalent to

get socketClient #protocol

setSocketClientProtocol :: (MonadIO m, IsSocketClient o) => o -> SocketProtocol -> m () Source #

Set the value of the “protocol” property. When overloading is enabled, this is equivalent to

set socketClient [ #protocol := value ]

proxyResolver

The proxy resolver to use

Since: 2.36

data SocketClientProxyResolverPropertyInfo Source #

Instances

Instances details
AttrInfo SocketClientProxyResolverPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

Associated Types

type AttrAllowedOps SocketClientProxyResolverPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientProxyResolverPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientProxyResolverPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientProxyResolverPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientProxyResolverPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientProxyResolverPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientProxyResolverPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientProxyResolverPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrAllowedOps SocketClientProxyResolverPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientProxyResolverPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientProxyResolverPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientProxyResolverPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientProxyResolverPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientProxyResolverPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientProxyResolverPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientProxyResolverPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

clearSocketClientProxyResolver :: (MonadIO m, IsSocketClient o) => o -> m () Source #

Set the value of the “proxy-resolver” property to Nothing. When overloading is enabled, this is equivalent to

clear #proxyResolver

constructSocketClientProxyResolver :: (IsSocketClient o, MonadIO m, IsProxyResolver a) => a -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “proxy-resolver” property. This is rarely needed directly, but it is used by new.

getSocketClientProxyResolver :: (MonadIO m, IsSocketClient o) => o -> m ProxyResolver Source #

Get the value of the “proxy-resolver” property. When overloading is enabled, this is equivalent to

get socketClient #proxyResolver

setSocketClientProxyResolver :: (MonadIO m, IsSocketClient o, IsProxyResolver a) => o -> a -> m () Source #

Set the value of the “proxy-resolver” property. When overloading is enabled, this is equivalent to

set socketClient [ #proxyResolver := value ]

timeout

The I/O timeout for sockets, in seconds, or 0 for none.

Since: 2.22

data SocketClientTimeoutPropertyInfo Source #

Instances

Instances details
AttrInfo SocketClientTimeoutPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrAllowedOps SocketClientTimeoutPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientTimeoutPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientTimeoutPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientTimeoutPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientTimeoutPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientTimeoutPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientTimeoutPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientTimeoutPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

constructSocketClientTimeout :: (IsSocketClient o, MonadIO m) => Word32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “timeout” property. This is rarely needed directly, but it is used by new.

getSocketClientTimeout :: (MonadIO m, IsSocketClient o) => o -> m Word32 Source #

Get the value of the “timeout” property. When overloading is enabled, this is equivalent to

get socketClient #timeout

setSocketClientTimeout :: (MonadIO m, IsSocketClient o) => o -> Word32 -> m () Source #

Set the value of the “timeout” property. When overloading is enabled, this is equivalent to

set socketClient [ #timeout := value ]

tls

Whether to create TLS connections.

Since: 2.22

data SocketClientTlsPropertyInfo Source #

Instances

Instances details
AttrInfo SocketClientTlsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrAllowedOps SocketClientTlsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientTlsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientTlsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientTlsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientTlsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientTlsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientTlsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientTlsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

constructSocketClientTls :: (IsSocketClient o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “tls” property. This is rarely needed directly, but it is used by new.

getSocketClientTls :: (MonadIO m, IsSocketClient o) => o -> m Bool Source #

Get the value of the “tls” property. When overloading is enabled, this is equivalent to

get socketClient #tls

setSocketClientTls :: (MonadIO m, IsSocketClient o) => o -> Bool -> m () Source #

Set the value of the “tls” property. When overloading is enabled, this is equivalent to

set socketClient [ #tls := value ]

tlsValidationFlags

The TLS validation flags used when creating TLS connections. The default value is TlsCertificateFlagsValidateAll.

GLib guarantees that if certificate verification fails, at least one flag will be set, but it does not guarantee that all possible flags will be set. Accordingly, you may not safely decide to ignore any particular type of error. For example, it would be incorrect to mask TlsCertificateFlagsExpired if you want to allow expired certificates, because this could potentially be the only error flag set even if other problems exist with the certificate. Therefore, there is no safe way to use this property. This is not a horrible problem, though, because you should not be attempting to ignore validation errors anyway. If you really must ignore TLS certificate errors, connect to the SocketClient::event signal, wait for it to be emitted with SocketClientEventTlsHandshaking, and use that to connect to TlsConnection::acceptCertificate.

data SocketClientTlsValidationFlagsPropertyInfo Source #

Instances

Instances details
AttrInfo SocketClientTlsValidationFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

Associated Types

type AttrAllowedOps SocketClientTlsValidationFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientTlsValidationFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientTlsValidationFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientTlsValidationFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientTlsValidationFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientTlsValidationFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientTlsValidationFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientTlsValidationFlagsPropertyInfo 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrAllowedOps SocketClientTlsValidationFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientTlsValidationFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientTlsValidationFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientTlsValidationFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientTlsValidationFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientTlsValidationFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientTlsValidationFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientTlsValidationFlagsPropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

constructSocketClientTlsValidationFlags :: (IsSocketClient o, MonadIO m) => [TlsCertificateFlags] -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “tls-validation-flags” property. This is rarely needed directly, but it is used by new.

getSocketClientTlsValidationFlags :: (MonadIO m, IsSocketClient o) => o -> m [TlsCertificateFlags] Source #

Get the value of the “tls-validation-flags” property. When overloading is enabled, this is equivalent to

get socketClient #tlsValidationFlags

setSocketClientTlsValidationFlags :: (MonadIO m, IsSocketClient o) => o -> [TlsCertificateFlags] -> m () Source #

Set the value of the “tls-validation-flags” property. When overloading is enabled, this is equivalent to

set socketClient [ #tlsValidationFlags := value ]

type

The type to use for socket construction.

Since: 2.22

data SocketClientTypePropertyInfo Source #

Instances

Instances details
AttrInfo SocketClientTypePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrAllowedOps SocketClientTypePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrBaseTypeConstraint SocketClientTypePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrGetType SocketClientTypePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrLabel SocketClientTypePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrOrigin SocketClientTypePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrSetTypeConstraint SocketClientTypePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferType SocketClientTypePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

type AttrTransferTypeConstraint SocketClientTypePropertyInfo Source # 
Instance details

Defined in GI.Gio.Objects.SocketClient

constructSocketClientType :: (IsSocketClient o, MonadIO m) => SocketType -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “type” property. This is rarely needed directly, but it is used by new.

getSocketClientType :: (MonadIO m, IsSocketClient o) => o -> m SocketType Source #

Get the value of the “type” property. When overloading is enabled, this is equivalent to

get socketClient #type

setSocketClientType :: (MonadIO m, IsSocketClient o) => o -> SocketType -> m () Source #

Set the value of the “type” property. When overloading is enabled, this is equivalent to

set socketClient [ #type := value ]

Signals

event

type SocketClientEventCallback Source #

Arguments

 = SocketClientEvent

event: the event that is occurring

-> SocketConnectable

connectable: the SocketConnectable that event is occurring on

-> Maybe IOStream

connection: the current representation of the connection

-> IO () 

Emitted when client's 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:

Each event except SocketClientEventComplete 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 SocketClient::event signal at all for a given connectable, then it will always emit it with SocketClientEventComplete when it is done.

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

Since: 2.32

afterSocketClientEvent :: (IsSocketClient a, MonadIO m) => a -> ((?self :: a) => SocketClientEventCallback) -> m SignalHandlerId Source #

Connect a signal handler for the event signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after socketClient #event callback

By default the object invoking the signal is not passed to the callback. If you need to access it, you can use the implit ?self parameter. Note that this requires activating the ImplicitParams GHC extension.

onSocketClientEvent :: (IsSocketClient a, MonadIO m) => a -> ((?self :: a) => SocketClientEventCallback) -> m SignalHandlerId Source #

Connect a signal handler for the event signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on socketClient #event callback