Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
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 [structgio
.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.
Instances
Eq NetworkService Source # | |
Defined in GI.Gio.Objects.NetworkService (==) :: NetworkService -> NetworkService -> Bool # (/=) :: NetworkService -> NetworkService -> Bool # | |
GObject NetworkService Source # | |
Defined in GI.Gio.Objects.NetworkService | |
ManagedPtrNewtype NetworkService Source # | |
Defined in GI.Gio.Objects.NetworkService | |
TypedObject NetworkService Source # | |
Defined in GI.Gio.Objects.NetworkService | |
HasParentTypes NetworkService Source # | |
Defined in GI.Gio.Objects.NetworkService | |
IsGValue (Maybe NetworkService) Source # | Convert |
Defined in GI.Gio.Objects.NetworkService gvalueGType_ :: IO GType # gvalueSet_ :: Ptr GValue -> Maybe NetworkService -> IO () # gvalueGet_ :: Ptr GValue -> IO (Maybe NetworkService) # | |
type ParentTypes NetworkService Source # | |
Defined in GI.Gio.Objects.NetworkService |
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
(GObject o, IsDescendantOf NetworkService o) => IsNetworkService o Source # | |
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
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
getDomain
networkServiceGetDomain Source #
:: (HasCallStack, MonadIO m, IsNetworkService a) | |
=> a |
|
-> m Text | Returns: |
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 #
:: (HasCallStack, MonadIO m, IsNetworkService a) | |
=> a |
|
-> m Text | Returns: |
Gets srv
's protocol name (eg, "tcp").
Since: 2.22
getScheme
networkServiceGetScheme Source #
:: (HasCallStack, MonadIO m, IsNetworkService a) | |
=> a |
|
-> m Text | Returns: |
Gets the URI scheme used to resolve proxies. By default, the service name is used as scheme.
Since: 2.26
getService
networkServiceGetService Source #
:: (HasCallStack, MonadIO m, IsNetworkService a) | |
=> a |
|
-> m Text | Returns: |
Gets srv
's service name (eg, "ldap").
Since: 2.22
new
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> Text |
|
-> Text |
|
-> m NetworkService | Returns: a new |
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 #
:: (HasCallStack, MonadIO m, IsNetworkService a) | |
=> a |
|
-> Text |
|
-> 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