Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Like NetworkAddress
does with hostnames, NetworkService
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 and example of using the connectable
interface.
- newtype NetworkService = NetworkService (ManagedPtr NetworkService)
- class GObject o => IsNetworkService o
- toNetworkService :: (MonadIO m, IsNetworkService o) => o -> m NetworkService
- noNetworkService :: Maybe 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 => Text -> IO (GValueConstruct o)
- getNetworkServiceDomain :: (MonadIO m, IsNetworkService o) => o -> m Text
- constructNetworkServiceProtocol :: IsNetworkService o => Text -> IO (GValueConstruct o)
- getNetworkServiceProtocol :: (MonadIO m, IsNetworkService o) => o -> m Text
- constructNetworkServiceScheme :: IsNetworkService o => Text -> IO (GValueConstruct o)
- getNetworkServiceScheme :: (MonadIO m, IsNetworkService o) => o -> m Text
- setNetworkServiceScheme :: (MonadIO m, IsNetworkService o) => o -> Text -> m ()
- constructNetworkServiceService :: IsNetworkService o => Text -> IO (GValueConstruct o)
- getNetworkServiceService :: (MonadIO m, IsNetworkService o) => o -> m Text
Exported types
newtype NetworkService Source #
class GObject o => IsNetworkService o Source #
toNetworkService :: (MonadIO m, IsNetworkService o) => o -> m NetworkService Source #
Methods
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: |
Get's 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
constructNetworkServiceDomain :: IsNetworkService o => Text -> IO (GValueConstruct o) Source #
getNetworkServiceDomain :: (MonadIO m, IsNetworkService o) => o -> m Text Source #
protocol
constructNetworkServiceProtocol :: IsNetworkService o => Text -> IO (GValueConstruct o) Source #
getNetworkServiceProtocol :: (MonadIO m, IsNetworkService o) => o -> m Text Source #
scheme
constructNetworkServiceScheme :: IsNetworkService o => Text -> IO (GValueConstruct o) Source #
getNetworkServiceScheme :: (MonadIO m, IsNetworkService o) => o -> m Text Source #
setNetworkServiceScheme :: (MonadIO m, IsNetworkService o) => o -> Text -> m () Source #
service
constructNetworkServiceService :: IsNetworkService o => Text -> IO (GValueConstruct o) Source #
getNetworkServiceService :: (MonadIO m, IsNetworkService o) => o -> m Text Source #