module GI.Gio.Objects.NetworkService
(
NetworkService(..) ,
NetworkServiceK ,
toNetworkService ,
noNetworkService ,
networkServiceGetDomain ,
networkServiceGetProtocol ,
networkServiceGetScheme ,
networkServiceGetService ,
networkServiceNew ,
networkServiceSetScheme ,
NetworkServiceDomainPropertyInfo ,
constructNetworkServiceDomain ,
getNetworkServiceDomain ,
NetworkServiceProtocolPropertyInfo ,
constructNetworkServiceProtocol ,
getNetworkServiceProtocol ,
NetworkServiceSchemePropertyInfo ,
constructNetworkServiceScheme ,
getNetworkServiceScheme ,
setNetworkServiceScheme ,
NetworkServiceServicePropertyInfo ,
constructNetworkServiceService ,
getNetworkServiceService ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gio.Types
import GI.Gio.Callbacks
import qualified GI.GObject as GObject
newtype NetworkService = NetworkService (ForeignPtr NetworkService)
foreign import ccall "g_network_service_get_type"
c_g_network_service_get_type :: IO GType
type instance ParentTypes NetworkService = NetworkServiceParentTypes
type NetworkServiceParentTypes = '[GObject.Object, SocketConnectable]
instance GObject NetworkService where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_network_service_get_type
class GObject o => NetworkServiceK o
instance (GObject o, IsDescendantOf NetworkService o) => NetworkServiceK o
toNetworkService :: NetworkServiceK o => o -> IO NetworkService
toNetworkService = unsafeCastTo NetworkService
noNetworkService :: Maybe NetworkService
noNetworkService = Nothing
getNetworkServiceDomain :: (MonadIO m, NetworkServiceK o) => o -> m T.Text
getNetworkServiceDomain obj = liftIO $ getObjectPropertyString obj "domain"
constructNetworkServiceDomain :: T.Text -> IO ([Char], GValue)
constructNetworkServiceDomain val = constructObjectPropertyString "domain" val
data NetworkServiceDomainPropertyInfo
instance AttrInfo NetworkServiceDomainPropertyInfo where
type AttrAllowedOps NetworkServiceDomainPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint NetworkServiceDomainPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint NetworkServiceDomainPropertyInfo = NetworkServiceK
type AttrGetType NetworkServiceDomainPropertyInfo = T.Text
type AttrLabel NetworkServiceDomainPropertyInfo = "NetworkService::domain"
attrGet _ = getNetworkServiceDomain
attrSet _ = undefined
attrConstruct _ = constructNetworkServiceDomain
getNetworkServiceProtocol :: (MonadIO m, NetworkServiceK o) => o -> m T.Text
getNetworkServiceProtocol obj = liftIO $ getObjectPropertyString obj "protocol"
constructNetworkServiceProtocol :: T.Text -> IO ([Char], GValue)
constructNetworkServiceProtocol val = constructObjectPropertyString "protocol" val
data NetworkServiceProtocolPropertyInfo
instance AttrInfo NetworkServiceProtocolPropertyInfo where
type AttrAllowedOps NetworkServiceProtocolPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint NetworkServiceProtocolPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint NetworkServiceProtocolPropertyInfo = NetworkServiceK
type AttrGetType NetworkServiceProtocolPropertyInfo = T.Text
type AttrLabel NetworkServiceProtocolPropertyInfo = "NetworkService::protocol"
attrGet _ = getNetworkServiceProtocol
attrSet _ = undefined
attrConstruct _ = constructNetworkServiceProtocol
getNetworkServiceScheme :: (MonadIO m, NetworkServiceK o) => o -> m T.Text
getNetworkServiceScheme obj = liftIO $ getObjectPropertyString obj "scheme"
setNetworkServiceScheme :: (MonadIO m, NetworkServiceK o) => o -> T.Text -> m ()
setNetworkServiceScheme obj val = liftIO $ setObjectPropertyString obj "scheme" val
constructNetworkServiceScheme :: T.Text -> IO ([Char], GValue)
constructNetworkServiceScheme val = constructObjectPropertyString "scheme" val
data NetworkServiceSchemePropertyInfo
instance AttrInfo NetworkServiceSchemePropertyInfo where
type AttrAllowedOps NetworkServiceSchemePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint NetworkServiceSchemePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint NetworkServiceSchemePropertyInfo = NetworkServiceK
type AttrGetType NetworkServiceSchemePropertyInfo = T.Text
type AttrLabel NetworkServiceSchemePropertyInfo = "NetworkService::scheme"
attrGet _ = getNetworkServiceScheme
attrSet _ = setNetworkServiceScheme
attrConstruct _ = constructNetworkServiceScheme
getNetworkServiceService :: (MonadIO m, NetworkServiceK o) => o -> m T.Text
getNetworkServiceService obj = liftIO $ getObjectPropertyString obj "service"
constructNetworkServiceService :: T.Text -> IO ([Char], GValue)
constructNetworkServiceService val = constructObjectPropertyString "service" val
data NetworkServiceServicePropertyInfo
instance AttrInfo NetworkServiceServicePropertyInfo where
type AttrAllowedOps NetworkServiceServicePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint NetworkServiceServicePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint NetworkServiceServicePropertyInfo = NetworkServiceK
type AttrGetType NetworkServiceServicePropertyInfo = T.Text
type AttrLabel NetworkServiceServicePropertyInfo = "NetworkService::service"
attrGet _ = getNetworkServiceService
attrSet _ = undefined
attrConstruct _ = constructNetworkServiceService
type instance AttributeList NetworkService = NetworkServiceAttributeList
type NetworkServiceAttributeList = ('[ '("domain", NetworkServiceDomainPropertyInfo), '("protocol", NetworkServiceProtocolPropertyInfo), '("scheme", NetworkServiceSchemePropertyInfo), '("service", NetworkServiceServicePropertyInfo)] :: [(Symbol, *)])
type instance SignalList NetworkService = NetworkServiceSignalList
type NetworkServiceSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_network_service_new" g_network_service_new ::
CString ->
CString ->
CString ->
IO (Ptr NetworkService)
networkServiceNew ::
(MonadIO m) =>
T.Text ->
T.Text ->
T.Text ->
m NetworkService
networkServiceNew service protocol domain = liftIO $ do
service' <- textToCString service
protocol' <- textToCString protocol
domain' <- textToCString domain
result <- g_network_service_new service' protocol' domain'
checkUnexpectedReturnNULL "g_network_service_new" result
result' <- (wrapObject NetworkService) result
freeMem service'
freeMem protocol'
freeMem domain'
return result'
foreign import ccall "g_network_service_get_domain" g_network_service_get_domain ::
Ptr NetworkService ->
IO CString
networkServiceGetDomain ::
(MonadIO m, NetworkServiceK a) =>
a ->
m T.Text
networkServiceGetDomain _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_network_service_get_domain _obj'
checkUnexpectedReturnNULL "g_network_service_get_domain" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "g_network_service_get_protocol" g_network_service_get_protocol ::
Ptr NetworkService ->
IO CString
networkServiceGetProtocol ::
(MonadIO m, NetworkServiceK a) =>
a ->
m T.Text
networkServiceGetProtocol _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_network_service_get_protocol _obj'
checkUnexpectedReturnNULL "g_network_service_get_protocol" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "g_network_service_get_scheme" g_network_service_get_scheme ::
Ptr NetworkService ->
IO CString
networkServiceGetScheme ::
(MonadIO m, NetworkServiceK a) =>
a ->
m T.Text
networkServiceGetScheme _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_network_service_get_scheme _obj'
checkUnexpectedReturnNULL "g_network_service_get_scheme" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "g_network_service_get_service" g_network_service_get_service ::
Ptr NetworkService ->
IO CString
networkServiceGetService ::
(MonadIO m, NetworkServiceK a) =>
a ->
m T.Text
networkServiceGetService _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_network_service_get_service _obj'
checkUnexpectedReturnNULL "g_network_service_get_service" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
foreign import ccall "g_network_service_set_scheme" g_network_service_set_scheme ::
Ptr NetworkService ->
CString ->
IO ()
networkServiceSetScheme ::
(MonadIO m, NetworkServiceK a) =>
a ->
T.Text ->
m ()
networkServiceSetScheme _obj scheme = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
scheme' <- textToCString scheme
g_network_service_set_scheme _obj' scheme'
touchManagedPtr _obj
freeMem scheme'
return ()