module GI.Gio.Objects.InetSocketAddress
(
InetSocketAddress(..) ,
InetSocketAddressK ,
toInetSocketAddress ,
noInetSocketAddress ,
inetSocketAddressGetAddress ,
inetSocketAddressGetFlowinfo ,
inetSocketAddressGetPort ,
inetSocketAddressGetScopeId ,
inetSocketAddressNew ,
inetSocketAddressNewFromString ,
InetSocketAddressAddressPropertyInfo ,
constructInetSocketAddressAddress ,
getInetSocketAddressAddress ,
InetSocketAddressFlowinfoPropertyInfo ,
constructInetSocketAddressFlowinfo ,
getInetSocketAddressFlowinfo ,
InetSocketAddressPortPropertyInfo ,
constructInetSocketAddressPort ,
getInetSocketAddressPort ,
InetSocketAddressScopeIdPropertyInfo ,
constructInetSocketAddressScopeId ,
getInetSocketAddressScopeId ,
) 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 InetSocketAddress = InetSocketAddress (ForeignPtr InetSocketAddress)
foreign import ccall "g_inet_socket_address_get_type"
c_g_inet_socket_address_get_type :: IO GType
type instance ParentTypes InetSocketAddress = InetSocketAddressParentTypes
type InetSocketAddressParentTypes = '[SocketAddress, GObject.Object, SocketConnectable]
instance GObject InetSocketAddress where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_inet_socket_address_get_type
class GObject o => InetSocketAddressK o
instance (GObject o, IsDescendantOf InetSocketAddress o) => InetSocketAddressK o
toInetSocketAddress :: InetSocketAddressK o => o -> IO InetSocketAddress
toInetSocketAddress = unsafeCastTo InetSocketAddress
noInetSocketAddress :: Maybe InetSocketAddress
noInetSocketAddress = Nothing
getInetSocketAddressAddress :: (MonadIO m, InetSocketAddressK o) => o -> m InetAddress
getInetSocketAddressAddress obj = liftIO $ getObjectPropertyObject obj "address" InetAddress
constructInetSocketAddressAddress :: (InetAddressK a) => a -> IO ([Char], GValue)
constructInetSocketAddressAddress val = constructObjectPropertyObject "address" val
data InetSocketAddressAddressPropertyInfo
instance AttrInfo InetSocketAddressAddressPropertyInfo where
type AttrAllowedOps InetSocketAddressAddressPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint InetSocketAddressAddressPropertyInfo = InetAddressK
type AttrBaseTypeConstraint InetSocketAddressAddressPropertyInfo = InetSocketAddressK
type AttrGetType InetSocketAddressAddressPropertyInfo = InetAddress
type AttrLabel InetSocketAddressAddressPropertyInfo = "InetSocketAddress::address"
attrGet _ = getInetSocketAddressAddress
attrSet _ = undefined
attrConstruct _ = constructInetSocketAddressAddress
getInetSocketAddressFlowinfo :: (MonadIO m, InetSocketAddressK o) => o -> m Word32
getInetSocketAddressFlowinfo obj = liftIO $ getObjectPropertyCUInt obj "flowinfo"
constructInetSocketAddressFlowinfo :: Word32 -> IO ([Char], GValue)
constructInetSocketAddressFlowinfo val = constructObjectPropertyCUInt "flowinfo" val
data InetSocketAddressFlowinfoPropertyInfo
instance AttrInfo InetSocketAddressFlowinfoPropertyInfo where
type AttrAllowedOps InetSocketAddressFlowinfoPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint InetSocketAddressFlowinfoPropertyInfo = (~) Word32
type AttrBaseTypeConstraint InetSocketAddressFlowinfoPropertyInfo = InetSocketAddressK
type AttrGetType InetSocketAddressFlowinfoPropertyInfo = Word32
type AttrLabel InetSocketAddressFlowinfoPropertyInfo = "InetSocketAddress::flowinfo"
attrGet _ = getInetSocketAddressFlowinfo
attrSet _ = undefined
attrConstruct _ = constructInetSocketAddressFlowinfo
getInetSocketAddressPort :: (MonadIO m, InetSocketAddressK o) => o -> m Word32
getInetSocketAddressPort obj = liftIO $ getObjectPropertyCUInt obj "port"
constructInetSocketAddressPort :: Word32 -> IO ([Char], GValue)
constructInetSocketAddressPort val = constructObjectPropertyCUInt "port" val
data InetSocketAddressPortPropertyInfo
instance AttrInfo InetSocketAddressPortPropertyInfo where
type AttrAllowedOps InetSocketAddressPortPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint InetSocketAddressPortPropertyInfo = (~) Word32
type AttrBaseTypeConstraint InetSocketAddressPortPropertyInfo = InetSocketAddressK
type AttrGetType InetSocketAddressPortPropertyInfo = Word32
type AttrLabel InetSocketAddressPortPropertyInfo = "InetSocketAddress::port"
attrGet _ = getInetSocketAddressPort
attrSet _ = undefined
attrConstruct _ = constructInetSocketAddressPort
getInetSocketAddressScopeId :: (MonadIO m, InetSocketAddressK o) => o -> m Word32
getInetSocketAddressScopeId obj = liftIO $ getObjectPropertyCUInt obj "scope-id"
constructInetSocketAddressScopeId :: Word32 -> IO ([Char], GValue)
constructInetSocketAddressScopeId val = constructObjectPropertyCUInt "scope-id" val
data InetSocketAddressScopeIdPropertyInfo
instance AttrInfo InetSocketAddressScopeIdPropertyInfo where
type AttrAllowedOps InetSocketAddressScopeIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint InetSocketAddressScopeIdPropertyInfo = (~) Word32
type AttrBaseTypeConstraint InetSocketAddressScopeIdPropertyInfo = InetSocketAddressK
type AttrGetType InetSocketAddressScopeIdPropertyInfo = Word32
type AttrLabel InetSocketAddressScopeIdPropertyInfo = "InetSocketAddress::scope-id"
attrGet _ = getInetSocketAddressScopeId
attrSet _ = undefined
attrConstruct _ = constructInetSocketAddressScopeId
type instance AttributeList InetSocketAddress = InetSocketAddressAttributeList
type InetSocketAddressAttributeList = ('[ '("address", InetSocketAddressAddressPropertyInfo), '("family", SocketAddressFamilyPropertyInfo), '("flowinfo", InetSocketAddressFlowinfoPropertyInfo), '("port", InetSocketAddressPortPropertyInfo), '("scope-id", InetSocketAddressScopeIdPropertyInfo)] :: [(Symbol, *)])
type instance SignalList InetSocketAddress = InetSocketAddressSignalList
type InetSocketAddressSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_inet_socket_address_new" g_inet_socket_address_new ::
Ptr InetAddress ->
Word16 ->
IO (Ptr InetSocketAddress)
inetSocketAddressNew ::
(MonadIO m, InetAddressK a) =>
a ->
Word16 ->
m InetSocketAddress
inetSocketAddressNew address port = liftIO $ do
let address' = unsafeManagedPtrCastPtr address
result <- g_inet_socket_address_new address' port
checkUnexpectedReturnNULL "g_inet_socket_address_new" result
result' <- (wrapObject InetSocketAddress) result
touchManagedPtr address
return result'
foreign import ccall "g_inet_socket_address_new_from_string" g_inet_socket_address_new_from_string ::
CString ->
Word32 ->
IO (Ptr InetSocketAddress)
inetSocketAddressNewFromString ::
(MonadIO m) =>
T.Text ->
Word32 ->
m InetSocketAddress
inetSocketAddressNewFromString address port = liftIO $ do
address' <- textToCString address
result <- g_inet_socket_address_new_from_string address' port
checkUnexpectedReturnNULL "g_inet_socket_address_new_from_string" result
result' <- (wrapObject InetSocketAddress) result
freeMem address'
return result'
foreign import ccall "g_inet_socket_address_get_address" g_inet_socket_address_get_address ::
Ptr InetSocketAddress ->
IO (Ptr InetAddress)
inetSocketAddressGetAddress ::
(MonadIO m, InetSocketAddressK a) =>
a ->
m InetAddress
inetSocketAddressGetAddress _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_inet_socket_address_get_address _obj'
checkUnexpectedReturnNULL "g_inet_socket_address_get_address" result
result' <- (newObject InetAddress) result
touchManagedPtr _obj
return result'
foreign import ccall "g_inet_socket_address_get_flowinfo" g_inet_socket_address_get_flowinfo ::
Ptr InetSocketAddress ->
IO Word32
inetSocketAddressGetFlowinfo ::
(MonadIO m, InetSocketAddressK a) =>
a ->
m Word32
inetSocketAddressGetFlowinfo _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_inet_socket_address_get_flowinfo _obj'
touchManagedPtr _obj
return result
foreign import ccall "g_inet_socket_address_get_port" g_inet_socket_address_get_port ::
Ptr InetSocketAddress ->
IO Word16
inetSocketAddressGetPort ::
(MonadIO m, InetSocketAddressK a) =>
a ->
m Word16
inetSocketAddressGetPort _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_inet_socket_address_get_port _obj'
touchManagedPtr _obj
return result
foreign import ccall "g_inet_socket_address_get_scope_id" g_inet_socket_address_get_scope_id ::
Ptr InetSocketAddress ->
IO Word32
inetSocketAddressGetScopeId ::
(MonadIO m, InetSocketAddressK a) =>
a ->
m Word32
inetSocketAddressGetScopeId _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_inet_socket_address_get_scope_id _obj'
touchManagedPtr _obj
return result