gi-gio-2.0.38: Gio bindings

Copyright | Will Thompson and Iñaki García Etxebarria
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria
Safe Haskell | None
Language | Haskell2010

GI.Gio.Objects.NetworkService

Contents

- Exported types
- Methods
  - getDomain
  - getProtocol
  - getScheme
  - getService
  - new
  - setScheme
- Properties
  - domain
  - protocol
  - scheme
  - service

Description

Like `NetworkAddress` does with hostnames, `GNetworkService` provides an easy way to resolve a SRV record, and then attempt to connect to one of the hosts that implements that service, handling service priority/weighting, multiple IP addresses, and multiple address families.

See `SrvTarget` for more information about SRV records, and see `SocketConnectable` for an example of using the connectable interface.

Synopsis

- newtype NetworkService = NetworkService (ManagedPtr NetworkService)
- class (GObject o, IsDescendantOf NetworkService o) => IsNetworkService o
- toNetworkService :: (MonadIO m, IsNetworkService o) => o -> m NetworkService
- networkServiceGetDomain :: (HasCallStack, MonadIO m, IsNetworkService a) => a -> m Text
- networkServiceGetProtocol :: (HasCallStack, MonadIO m, IsNetworkService a) => a -> m Text
- networkServiceGetScheme :: (HasCallStack, MonadIO m, IsNetworkService a) => a -> m Text
- networkServiceGetService :: (HasCallStack, MonadIO m, IsNetworkService a) => a -> m Text
- networkServiceNew :: (HasCallStack, MonadIO m) => Text -> Text -> Text -> m NetworkService
- networkServiceSetScheme :: (HasCallStack, MonadIO m, IsNetworkService a) => a -> Text -> m ()
- constructNetworkServiceDomain :: (IsNetworkService o, MonadIO m) => Text -> m (GValueConstruct o)
- getNetworkServiceDomain :: (MonadIO m, IsNetworkService o) => o -> m Text
- constructNetworkServiceProtocol :: (IsNetworkService o, MonadIO m) => Text -> m (GValueConstruct o)
- getNetworkServiceProtocol :: (MonadIO m, IsNetworkService o) => o -> m Text
- constructNetworkServiceScheme :: (IsNetworkService o, MonadIO m) => Text -> m (GValueConstruct o)
- getNetworkServiceScheme :: (MonadIO m, IsNetworkService o) => o -> m Text
- setNetworkServiceScheme :: (MonadIO m, IsNetworkService o) => o -> Text -> m ()
- constructNetworkServiceService :: (IsNetworkService o, MonadIO m) => Text -> m (GValueConstruct o)
- getNetworkServiceService :: (MonadIO m, IsNetworkService o) => o -> m Text

# Exported types

newtype NetworkService Source #

Memory-managed wrapper type.

Constructors

NetworkService (ManagedPtr NetworkService) |

#### Instances

Instances details

Eq NetworkService Source # |
Instance details Defined in GI.Gio.Objects.NetworkService Methods (==) :: NetworkService -> NetworkService -> Bool Source # (/=) :: NetworkService -> NetworkService -> Bool Source #
GObject NetworkService Source # |
Instance details Defined in GI.Gio.Objects.NetworkService
ManagedPtrNewtype NetworkService Source # |
Instance details Defined in GI.Gio.Objects.NetworkService Methods toManagedPtr :: NetworkService -> ManagedPtr NetworkService Source #
TypedObject NetworkService Source # |
Instance details Defined in GI.Gio.Objects.NetworkService Methods glibType :: IO GType Source #
HasParentTypes NetworkService Source # |
Instance details Defined in GI.Gio.Objects.NetworkService
IsGValue (Maybe NetworkService) Source # | Convert `NetworkService` to and from `GValue`. See `toGValue` and `fromGValue`.
Instance details Defined in GI.Gio.Objects.NetworkService Methods gvalueGType_ :: IO GType Source # gvalueSet_ :: Ptr GValue -> Maybe NetworkService -> IO () Source # gvalueGet_ :: Ptr GValue -> IO (Maybe NetworkService) Source #
type ParentTypes NetworkService Source # |
Instance details Defined in GI.Gio.Objects.NetworkService type ParentTypes NetworkService = '[Object, SocketConnectable]

class (GObject o, IsDescendantOf NetworkService o) => IsNetworkService o Source #

Type class for types which can be safely cast to `NetworkService`, for instance with `toNetworkService`.

#### Instances

Instances details

(GObject o, IsDescendantOf NetworkService o) => IsNetworkService o Source # |
Instance details Defined in GI.Gio.Objects.NetworkService

toNetworkService :: (MonadIO m, IsNetworkService o) => o -> m NetworkService Source #

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

# Methods

### Click to display all available methods, including inherited ones

Expand

#### Methods

bindProperty, bindPropertyFull, enumerate, forceFloating, freezeNotify, getv, isFloating, notify, notifyByPspec, proxyEnumerate, ref, refSink, runDispose, stealData, stealQdata, thawNotify, toString, unref, watchClosure.

#### Getters

getData, getDomain, getProperty, getProtocol, getQdata, getScheme, getService.

#### Setters

setData, setDataFull, setProperty, setScheme.

## getDomain

networkServiceGetDomain Source #

Arguments

:: (HasCallStack, MonadIO m, IsNetworkService a) |
=> a | `srv`: a `NetworkService`
-> m Text | Returns: `srv`'s domain name

Gets the domain that `srv` serves. This might be either UTF-8 or ASCII-encoded, depending on what `srv` was created with.

Since: 2.22

## getProtocol

networkServiceGetProtocol Source #

Arguments

:: (HasCallStack, MonadIO m, IsNetworkService a) |
=> a | `srv`: a `NetworkService`
-> m Text | Returns: `srv`'s protocol name

Gets `srv`'s protocol name (eg, "tcp").

Since: 2.22

## getScheme

networkServiceGetScheme Source #

Arguments

:: (HasCallStack, MonadIO m, IsNetworkService a) |
=> a | `srv`: a `NetworkService`
-> m Text | Returns: `srv`'s scheme name

Gets the URI scheme used to resolve proxies. By default, the service name is used as scheme.

Since: 2.26

## getService

networkServiceGetService Source #

Arguments

:: (HasCallStack, MonadIO m, IsNetworkService a) |
=> a | `srv`: a `NetworkService`
-> m Text | Returns: `srv`'s service name

Gets `srv`'s service name (eg, "ldap").

Since: 2.22

## new

networkServiceNew Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> Text | `service`: the service type to look up (eg, "ldap")
-> Text | `protocol`: the networking protocol to use for `service` (eg, "tcp")
-> Text | `domain`: the DNS domain to look up the service in
-> m NetworkService | Returns: a new `NetworkService`

Creates a new `NetworkService` representing the given `service`, `protocol`, and `domain`. This will initially be unresolved; use the `SocketConnectable` interface to resolve it.

Since: 2.22

## setScheme

networkServiceSetScheme Source #

Arguments

:: (HasCallStack, MonadIO m, IsNetworkService a) |
=> a | `srv`: a `NetworkService`
-> Text | `scheme`: a URI scheme
-> m () |

Set's the URI scheme used to resolve proxies. By default, the service name is used as scheme.

Since: 2.26

# Properties

## domain

Network domain, for example `example.com`.

Since: 2.22

constructNetworkServiceDomain :: (IsNetworkService o, MonadIO m) => Text -> m (GValueConstruct o) Source #

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

getNetworkServiceDomain :: (MonadIO m, IsNetworkService o) => o -> m Text Source #

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

    get networkService #domain

## protocol

Network protocol, for example `tcp`.

Since: 2.22

constructNetworkServiceProtocol :: (IsNetworkService o, MonadIO m) => Text -> 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`.

getNetworkServiceProtocol :: (MonadIO m, IsNetworkService o) => o -> m Text Source #

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

    get networkService #protocol

## scheme

Network scheme (default is to use service).

Since: 2.22

constructNetworkServiceScheme :: (IsNetworkService o, MonadIO m) => Text -> m (GValueConstruct o) Source #

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

getNetworkServiceScheme :: (MonadIO m, IsNetworkService o) => o -> m Text Source #

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

    get networkService #scheme

setNetworkServiceScheme :: (MonadIO m, IsNetworkService o) => o -> Text -> m () Source #

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

    set networkService [ #scheme := value ]

## service

Service name, for example `ldap`.

Since: 2.22

constructNetworkServiceService :: (IsNetworkService o, MonadIO m) => Text -> m (GValueConstruct o) Source #

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

getNetworkServiceService :: (MonadIO m, IsNetworkService o) => o -> m Text Source #

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

    get networkService #service