gi-gio-0.2.46.12: GI/Gio/Objects/Socket.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gio.Objects.Socket
(
-- * Exported types
Socket(..) ,
SocketK ,
toSocket ,
noSocket ,
-- * Methods
-- ** socketAccept
socketAccept ,
-- ** socketBind
socketBind ,
-- ** socketCheckConnectResult
socketCheckConnectResult ,
-- ** socketClose
socketClose ,
-- ** socketConditionCheck
socketConditionCheck ,
-- ** socketConditionTimedWait
socketConditionTimedWait ,
-- ** socketConditionWait
socketConditionWait ,
-- ** socketConnect
socketConnect ,
-- ** socketConnectionFactoryCreateConnection
socketConnectionFactoryCreateConnection ,
-- ** socketGetAvailableBytes
socketGetAvailableBytes ,
-- ** socketGetBlocking
socketGetBlocking ,
-- ** socketGetBroadcast
socketGetBroadcast ,
-- ** socketGetCredentials
socketGetCredentials ,
-- ** socketGetFamily
socketGetFamily ,
-- ** socketGetFd
socketGetFd ,
-- ** socketGetKeepalive
socketGetKeepalive ,
-- ** socketGetListenBacklog
socketGetListenBacklog ,
-- ** socketGetLocalAddress
socketGetLocalAddress ,
-- ** socketGetMulticastLoopback
socketGetMulticastLoopback ,
-- ** socketGetMulticastTtl
socketGetMulticastTtl ,
-- ** socketGetOption
socketGetOption ,
-- ** socketGetProtocol
socketGetProtocol ,
-- ** socketGetRemoteAddress
socketGetRemoteAddress ,
-- ** socketGetSocketType
socketGetSocketType ,
-- ** socketGetTimeout
socketGetTimeout ,
-- ** socketGetTtl
socketGetTtl ,
-- ** socketIsClosed
socketIsClosed ,
-- ** socketIsConnected
socketIsConnected ,
-- ** socketJoinMulticastGroup
socketJoinMulticastGroup ,
-- ** socketLeaveMulticastGroup
socketLeaveMulticastGroup ,
-- ** socketListen
socketListen ,
-- ** socketNew
socketNew ,
-- ** socketNewFromFd
socketNewFromFd ,
-- ** socketReceive
socketReceive ,
-- ** socketReceiveFrom
socketReceiveFrom ,
-- ** socketReceiveMessage
socketReceiveMessage ,
-- ** socketReceiveWithBlocking
socketReceiveWithBlocking ,
-- ** socketSend
socketSend ,
-- ** socketSendMessage
socketSendMessage ,
-- ** socketSendMessages
socketSendMessages ,
-- ** socketSendTo
socketSendTo ,
-- ** socketSendWithBlocking
socketSendWithBlocking ,
-- ** socketSetBlocking
socketSetBlocking ,
-- ** socketSetBroadcast
socketSetBroadcast ,
-- ** socketSetKeepalive
socketSetKeepalive ,
-- ** socketSetListenBacklog
socketSetListenBacklog ,
-- ** socketSetMulticastLoopback
socketSetMulticastLoopback ,
-- ** socketSetMulticastTtl
socketSetMulticastTtl ,
-- ** socketSetOption
socketSetOption ,
-- ** socketSetTimeout
socketSetTimeout ,
-- ** socketSetTtl
socketSetTtl ,
-- ** socketShutdown
socketShutdown ,
-- ** socketSpeaksIpv4
socketSpeaksIpv4 ,
-- * Properties
-- ** Blocking
SocketBlockingPropertyInfo ,
constructSocketBlocking ,
getSocketBlocking ,
setSocketBlocking ,
-- ** Broadcast
SocketBroadcastPropertyInfo ,
constructSocketBroadcast ,
getSocketBroadcast ,
setSocketBroadcast ,
-- ** Family
SocketFamilyPropertyInfo ,
constructSocketFamily ,
getSocketFamily ,
-- ** Fd
SocketFdPropertyInfo ,
constructSocketFd ,
getSocketFd ,
-- ** Keepalive
SocketKeepalivePropertyInfo ,
constructSocketKeepalive ,
getSocketKeepalive ,
setSocketKeepalive ,
-- ** ListenBacklog
SocketListenBacklogPropertyInfo ,
constructSocketListenBacklog ,
getSocketListenBacklog ,
setSocketListenBacklog ,
-- ** LocalAddress
SocketLocalAddressPropertyInfo ,
getSocketLocalAddress ,
-- ** MulticastLoopback
SocketMulticastLoopbackPropertyInfo ,
constructSocketMulticastLoopback ,
getSocketMulticastLoopback ,
setSocketMulticastLoopback ,
-- ** MulticastTtl
SocketMulticastTtlPropertyInfo ,
constructSocketMulticastTtl ,
getSocketMulticastTtl ,
setSocketMulticastTtl ,
-- ** Protocol
SocketProtocolPropertyInfo ,
constructSocketProtocol ,
getSocketProtocol ,
-- ** RemoteAddress
SocketRemoteAddressPropertyInfo ,
getSocketRemoteAddress ,
-- ** Timeout
SocketTimeoutPropertyInfo ,
constructSocketTimeout ,
getSocketTimeout ,
setSocketTimeout ,
-- ** Ttl
SocketTtlPropertyInfo ,
constructSocketTtl ,
getSocketTtl ,
setSocketTtl ,
-- ** Type
SocketTypePropertyInfo ,
constructSocketType ,
getSocketType ,
) 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.GLib as GLib
import qualified GI.GObject as GObject
newtype Socket = Socket (ForeignPtr Socket)
foreign import ccall "g_socket_get_type"
c_g_socket_get_type :: IO GType
type instance ParentTypes Socket = SocketParentTypes
type SocketParentTypes = '[GObject.Object, Initable]
instance GObject Socket where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_socket_get_type
class GObject o => SocketK o
instance (GObject o, IsDescendantOf Socket o) => SocketK o
toSocket :: SocketK o => o -> IO Socket
toSocket = unsafeCastTo Socket
noSocket :: Maybe Socket
noSocket = Nothing
-- VVV Prop "blocking"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable]
getSocketBlocking :: (MonadIO m, SocketK o) => o -> m Bool
getSocketBlocking obj = liftIO $ getObjectPropertyBool obj "blocking"
setSocketBlocking :: (MonadIO m, SocketK o) => o -> Bool -> m ()
setSocketBlocking obj val = liftIO $ setObjectPropertyBool obj "blocking" val
constructSocketBlocking :: Bool -> IO ([Char], GValue)
constructSocketBlocking val = constructObjectPropertyBool "blocking" val
data SocketBlockingPropertyInfo
instance AttrInfo SocketBlockingPropertyInfo where
type AttrAllowedOps SocketBlockingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketBlockingPropertyInfo = (~) Bool
type AttrBaseTypeConstraint SocketBlockingPropertyInfo = SocketK
type AttrGetType SocketBlockingPropertyInfo = Bool
type AttrLabel SocketBlockingPropertyInfo = "Socket::blocking"
attrGet _ = getSocketBlocking
attrSet _ = setSocketBlocking
attrConstruct _ = constructSocketBlocking
-- VVV Prop "broadcast"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable]
getSocketBroadcast :: (MonadIO m, SocketK o) => o -> m Bool
getSocketBroadcast obj = liftIO $ getObjectPropertyBool obj "broadcast"
setSocketBroadcast :: (MonadIO m, SocketK o) => o -> Bool -> m ()
setSocketBroadcast obj val = liftIO $ setObjectPropertyBool obj "broadcast" val
constructSocketBroadcast :: Bool -> IO ([Char], GValue)
constructSocketBroadcast val = constructObjectPropertyBool "broadcast" val
data SocketBroadcastPropertyInfo
instance AttrInfo SocketBroadcastPropertyInfo where
type AttrAllowedOps SocketBroadcastPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketBroadcastPropertyInfo = (~) Bool
type AttrBaseTypeConstraint SocketBroadcastPropertyInfo = SocketK
type AttrGetType SocketBroadcastPropertyInfo = Bool
type AttrLabel SocketBroadcastPropertyInfo = "Socket::broadcast"
attrGet _ = getSocketBroadcast
attrSet _ = setSocketBroadcast
attrConstruct _ = constructSocketBroadcast
-- VVV Prop "family"
-- Type: TInterface "Gio" "SocketFamily"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getSocketFamily :: (MonadIO m, SocketK o) => o -> m SocketFamily
getSocketFamily obj = liftIO $ getObjectPropertyEnum obj "family"
constructSocketFamily :: SocketFamily -> IO ([Char], GValue)
constructSocketFamily val = constructObjectPropertyEnum "family" val
data SocketFamilyPropertyInfo
instance AttrInfo SocketFamilyPropertyInfo where
type AttrAllowedOps SocketFamilyPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketFamilyPropertyInfo = (~) SocketFamily
type AttrBaseTypeConstraint SocketFamilyPropertyInfo = SocketK
type AttrGetType SocketFamilyPropertyInfo = SocketFamily
type AttrLabel SocketFamilyPropertyInfo = "Socket::family"
attrGet _ = getSocketFamily
attrSet _ = undefined
attrConstruct _ = constructSocketFamily
-- VVV Prop "fd"
-- Type: TBasicType TInt32
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getSocketFd :: (MonadIO m, SocketK o) => o -> m Int32
getSocketFd obj = liftIO $ getObjectPropertyCInt obj "fd"
constructSocketFd :: Int32 -> IO ([Char], GValue)
constructSocketFd val = constructObjectPropertyCInt "fd" val
data SocketFdPropertyInfo
instance AttrInfo SocketFdPropertyInfo where
type AttrAllowedOps SocketFdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketFdPropertyInfo = (~) Int32
type AttrBaseTypeConstraint SocketFdPropertyInfo = SocketK
type AttrGetType SocketFdPropertyInfo = Int32
type AttrLabel SocketFdPropertyInfo = "Socket::fd"
attrGet _ = getSocketFd
attrSet _ = undefined
attrConstruct _ = constructSocketFd
-- VVV Prop "keepalive"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable]
getSocketKeepalive :: (MonadIO m, SocketK o) => o -> m Bool
getSocketKeepalive obj = liftIO $ getObjectPropertyBool obj "keepalive"
setSocketKeepalive :: (MonadIO m, SocketK o) => o -> Bool -> m ()
setSocketKeepalive obj val = liftIO $ setObjectPropertyBool obj "keepalive" val
constructSocketKeepalive :: Bool -> IO ([Char], GValue)
constructSocketKeepalive val = constructObjectPropertyBool "keepalive" val
data SocketKeepalivePropertyInfo
instance AttrInfo SocketKeepalivePropertyInfo where
type AttrAllowedOps SocketKeepalivePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketKeepalivePropertyInfo = (~) Bool
type AttrBaseTypeConstraint SocketKeepalivePropertyInfo = SocketK
type AttrGetType SocketKeepalivePropertyInfo = Bool
type AttrLabel SocketKeepalivePropertyInfo = "Socket::keepalive"
attrGet _ = getSocketKeepalive
attrSet _ = setSocketKeepalive
attrConstruct _ = constructSocketKeepalive
-- VVV Prop "listen-backlog"
-- Type: TBasicType TInt32
-- Flags: [PropertyReadable,PropertyWritable]
getSocketListenBacklog :: (MonadIO m, SocketK o) => o -> m Int32
getSocketListenBacklog obj = liftIO $ getObjectPropertyCInt obj "listen-backlog"
setSocketListenBacklog :: (MonadIO m, SocketK o) => o -> Int32 -> m ()
setSocketListenBacklog obj val = liftIO $ setObjectPropertyCInt obj "listen-backlog" val
constructSocketListenBacklog :: Int32 -> IO ([Char], GValue)
constructSocketListenBacklog val = constructObjectPropertyCInt "listen-backlog" val
data SocketListenBacklogPropertyInfo
instance AttrInfo SocketListenBacklogPropertyInfo where
type AttrAllowedOps SocketListenBacklogPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketListenBacklogPropertyInfo = (~) Int32
type AttrBaseTypeConstraint SocketListenBacklogPropertyInfo = SocketK
type AttrGetType SocketListenBacklogPropertyInfo = Int32
type AttrLabel SocketListenBacklogPropertyInfo = "Socket::listen-backlog"
attrGet _ = getSocketListenBacklog
attrSet _ = setSocketListenBacklog
attrConstruct _ = constructSocketListenBacklog
-- VVV Prop "local-address"
-- Type: TInterface "Gio" "SocketAddress"
-- Flags: [PropertyReadable]
getSocketLocalAddress :: (MonadIO m, SocketK o) => o -> m SocketAddress
getSocketLocalAddress obj = liftIO $ getObjectPropertyObject obj "local-address" SocketAddress
data SocketLocalAddressPropertyInfo
instance AttrInfo SocketLocalAddressPropertyInfo where
type AttrAllowedOps SocketLocalAddressPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint SocketLocalAddressPropertyInfo = (~) ()
type AttrBaseTypeConstraint SocketLocalAddressPropertyInfo = SocketK
type AttrGetType SocketLocalAddressPropertyInfo = SocketAddress
type AttrLabel SocketLocalAddressPropertyInfo = "Socket::local-address"
attrGet _ = getSocketLocalAddress
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "multicast-loopback"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable]
getSocketMulticastLoopback :: (MonadIO m, SocketK o) => o -> m Bool
getSocketMulticastLoopback obj = liftIO $ getObjectPropertyBool obj "multicast-loopback"
setSocketMulticastLoopback :: (MonadIO m, SocketK o) => o -> Bool -> m ()
setSocketMulticastLoopback obj val = liftIO $ setObjectPropertyBool obj "multicast-loopback" val
constructSocketMulticastLoopback :: Bool -> IO ([Char], GValue)
constructSocketMulticastLoopback val = constructObjectPropertyBool "multicast-loopback" val
data SocketMulticastLoopbackPropertyInfo
instance AttrInfo SocketMulticastLoopbackPropertyInfo where
type AttrAllowedOps SocketMulticastLoopbackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketMulticastLoopbackPropertyInfo = (~) Bool
type AttrBaseTypeConstraint SocketMulticastLoopbackPropertyInfo = SocketK
type AttrGetType SocketMulticastLoopbackPropertyInfo = Bool
type AttrLabel SocketMulticastLoopbackPropertyInfo = "Socket::multicast-loopback"
attrGet _ = getSocketMulticastLoopback
attrSet _ = setSocketMulticastLoopback
attrConstruct _ = constructSocketMulticastLoopback
-- VVV Prop "multicast-ttl"
-- Type: TBasicType TUInt32
-- Flags: [PropertyReadable,PropertyWritable]
getSocketMulticastTtl :: (MonadIO m, SocketK o) => o -> m Word32
getSocketMulticastTtl obj = liftIO $ getObjectPropertyCUInt obj "multicast-ttl"
setSocketMulticastTtl :: (MonadIO m, SocketK o) => o -> Word32 -> m ()
setSocketMulticastTtl obj val = liftIO $ setObjectPropertyCUInt obj "multicast-ttl" val
constructSocketMulticastTtl :: Word32 -> IO ([Char], GValue)
constructSocketMulticastTtl val = constructObjectPropertyCUInt "multicast-ttl" val
data SocketMulticastTtlPropertyInfo
instance AttrInfo SocketMulticastTtlPropertyInfo where
type AttrAllowedOps SocketMulticastTtlPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketMulticastTtlPropertyInfo = (~) Word32
type AttrBaseTypeConstraint SocketMulticastTtlPropertyInfo = SocketK
type AttrGetType SocketMulticastTtlPropertyInfo = Word32
type AttrLabel SocketMulticastTtlPropertyInfo = "Socket::multicast-ttl"
attrGet _ = getSocketMulticastTtl
attrSet _ = setSocketMulticastTtl
attrConstruct _ = constructSocketMulticastTtl
-- VVV Prop "protocol"
-- Type: TInterface "Gio" "SocketProtocol"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getSocketProtocol :: (MonadIO m, SocketK o) => o -> m SocketProtocol
getSocketProtocol obj = liftIO $ getObjectPropertyEnum obj "protocol"
constructSocketProtocol :: SocketProtocol -> IO ([Char], GValue)
constructSocketProtocol val = constructObjectPropertyEnum "protocol" val
data SocketProtocolPropertyInfo
instance AttrInfo SocketProtocolPropertyInfo where
type AttrAllowedOps SocketProtocolPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketProtocolPropertyInfo = (~) SocketProtocol
type AttrBaseTypeConstraint SocketProtocolPropertyInfo = SocketK
type AttrGetType SocketProtocolPropertyInfo = SocketProtocol
type AttrLabel SocketProtocolPropertyInfo = "Socket::protocol"
attrGet _ = getSocketProtocol
attrSet _ = undefined
attrConstruct _ = constructSocketProtocol
-- VVV Prop "remote-address"
-- Type: TInterface "Gio" "SocketAddress"
-- Flags: [PropertyReadable]
getSocketRemoteAddress :: (MonadIO m, SocketK o) => o -> m SocketAddress
getSocketRemoteAddress obj = liftIO $ getObjectPropertyObject obj "remote-address" SocketAddress
data SocketRemoteAddressPropertyInfo
instance AttrInfo SocketRemoteAddressPropertyInfo where
type AttrAllowedOps SocketRemoteAddressPropertyInfo = '[ 'AttrGet]
type AttrSetTypeConstraint SocketRemoteAddressPropertyInfo = (~) ()
type AttrBaseTypeConstraint SocketRemoteAddressPropertyInfo = SocketK
type AttrGetType SocketRemoteAddressPropertyInfo = SocketAddress
type AttrLabel SocketRemoteAddressPropertyInfo = "Socket::remote-address"
attrGet _ = getSocketRemoteAddress
attrSet _ = undefined
attrConstruct _ = undefined
-- VVV Prop "timeout"
-- Type: TBasicType TUInt32
-- Flags: [PropertyReadable,PropertyWritable]
getSocketTimeout :: (MonadIO m, SocketK o) => o -> m Word32
getSocketTimeout obj = liftIO $ getObjectPropertyCUInt obj "timeout"
setSocketTimeout :: (MonadIO m, SocketK o) => o -> Word32 -> m ()
setSocketTimeout obj val = liftIO $ setObjectPropertyCUInt obj "timeout" val
constructSocketTimeout :: Word32 -> IO ([Char], GValue)
constructSocketTimeout val = constructObjectPropertyCUInt "timeout" val
data SocketTimeoutPropertyInfo
instance AttrInfo SocketTimeoutPropertyInfo where
type AttrAllowedOps SocketTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketTimeoutPropertyInfo = (~) Word32
type AttrBaseTypeConstraint SocketTimeoutPropertyInfo = SocketK
type AttrGetType SocketTimeoutPropertyInfo = Word32
type AttrLabel SocketTimeoutPropertyInfo = "Socket::timeout"
attrGet _ = getSocketTimeout
attrSet _ = setSocketTimeout
attrConstruct _ = constructSocketTimeout
-- VVV Prop "ttl"
-- Type: TBasicType TUInt32
-- Flags: [PropertyReadable,PropertyWritable]
getSocketTtl :: (MonadIO m, SocketK o) => o -> m Word32
getSocketTtl obj = liftIO $ getObjectPropertyCUInt obj "ttl"
setSocketTtl :: (MonadIO m, SocketK o) => o -> Word32 -> m ()
setSocketTtl obj val = liftIO $ setObjectPropertyCUInt obj "ttl" val
constructSocketTtl :: Word32 -> IO ([Char], GValue)
constructSocketTtl val = constructObjectPropertyCUInt "ttl" val
data SocketTtlPropertyInfo
instance AttrInfo SocketTtlPropertyInfo where
type AttrAllowedOps SocketTtlPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketTtlPropertyInfo = (~) Word32
type AttrBaseTypeConstraint SocketTtlPropertyInfo = SocketK
type AttrGetType SocketTtlPropertyInfo = Word32
type AttrLabel SocketTtlPropertyInfo = "Socket::ttl"
attrGet _ = getSocketTtl
attrSet _ = setSocketTtl
attrConstruct _ = constructSocketTtl
-- VVV Prop "type"
-- Type: TInterface "Gio" "SocketType"
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
getSocketType :: (MonadIO m, SocketK o) => o -> m SocketType
getSocketType obj = liftIO $ getObjectPropertyEnum obj "type"
constructSocketType :: SocketType -> IO ([Char], GValue)
constructSocketType val = constructObjectPropertyEnum "type" val
data SocketTypePropertyInfo
instance AttrInfo SocketTypePropertyInfo where
type AttrAllowedOps SocketTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketTypePropertyInfo = (~) SocketType
type AttrBaseTypeConstraint SocketTypePropertyInfo = SocketK
type AttrGetType SocketTypePropertyInfo = SocketType
type AttrLabel SocketTypePropertyInfo = "Socket::type"
attrGet _ = getSocketType
attrSet _ = undefined
attrConstruct _ = constructSocketType
type instance AttributeList Socket = SocketAttributeList
type SocketAttributeList = ('[ '("blocking", SocketBlockingPropertyInfo), '("broadcast", SocketBroadcastPropertyInfo), '("family", SocketFamilyPropertyInfo), '("fd", SocketFdPropertyInfo), '("keepalive", SocketKeepalivePropertyInfo), '("listen-backlog", SocketListenBacklogPropertyInfo), '("local-address", SocketLocalAddressPropertyInfo), '("multicast-loopback", SocketMulticastLoopbackPropertyInfo), '("multicast-ttl", SocketMulticastTtlPropertyInfo), '("protocol", SocketProtocolPropertyInfo), '("remote-address", SocketRemoteAddressPropertyInfo), '("timeout", SocketTimeoutPropertyInfo), '("ttl", SocketTtlPropertyInfo), '("type", SocketTypePropertyInfo)] :: [(Symbol, *)])
type instance SignalList Socket = SocketSignalList
type SocketSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method Socket::new
-- method type : Constructor
-- Args : [Arg {argName = "family", argType = TInterface "Gio" "SocketFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gio" "SocketType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TInterface "Gio" "SocketProtocol", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "family", argType = TInterface "Gio" "SocketFamily", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "type", argType = TInterface "Gio" "SocketType", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocol", argType = TInterface "Gio" "SocketProtocol", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "Socket"
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_new" g_socket_new ::
CUInt -> -- family : TInterface "Gio" "SocketFamily"
CUInt -> -- type : TInterface "Gio" "SocketType"
CUInt -> -- protocol : TInterface "Gio" "SocketProtocol"
Ptr (Ptr GError) -> -- error
IO (Ptr Socket)
socketNew ::
(MonadIO m) =>
SocketFamily -> -- family
SocketType -> -- type
SocketProtocol -> -- protocol
m Socket
socketNew family type_ protocol = liftIO $ do
let family' = (fromIntegral . fromEnum) family
let type_' = (fromIntegral . fromEnum) type_
let protocol' = (fromIntegral . fromEnum) protocol
onException (do
result <- propagateGError $ g_socket_new family' type_' protocol'
checkUnexpectedReturnNULL "g_socket_new" result
result' <- (wrapObject Socket) result
return result'
) (do
return ()
)
-- method Socket::new_from_fd
-- method type : Constructor
-- Args : [Arg {argName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "fd", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "Socket"
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_new_from_fd" g_socket_new_from_fd ::
Int32 -> -- fd : TBasicType TInt32
Ptr (Ptr GError) -> -- error
IO (Ptr Socket)
socketNewFromFd ::
(MonadIO m) =>
Int32 -> -- fd
m Socket
socketNewFromFd fd = liftIO $ do
onException (do
result <- propagateGError $ g_socket_new_from_fd fd
checkUnexpectedReturnNULL "g_socket_new_from_fd" result
result' <- (wrapObject Socket) result
return result'
) (do
return ()
)
-- method Socket::accept
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "Socket"
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_accept" g_socket_accept ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO (Ptr Socket)
socketAccept ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
Maybe (b) -> -- cancellable
m Socket
socketAccept _obj cancellable = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_accept _obj' maybeCancellable
checkUnexpectedReturnNULL "g_socket_accept" result
result' <- (wrapObject Socket) result
touchManagedPtr _obj
whenJust cancellable touchManagedPtr
return result'
) (do
return ()
)
-- method Socket::bind
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "allow_reuse", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "allow_reuse", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_bind" g_socket_bind ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr SocketAddress -> -- address : TInterface "Gio" "SocketAddress"
CInt -> -- allow_reuse : TBasicType TBoolean
Ptr (Ptr GError) -> -- error
IO CInt
socketBind ::
(MonadIO m, SocketK a, SocketAddressK b) =>
a -> -- _obj
b -> -- address
Bool -> -- allow_reuse
m ()
socketBind _obj address allow_reuse = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let address' = unsafeManagedPtrCastPtr address
let allow_reuse' = (fromIntegral . fromEnum) allow_reuse
onException (do
_ <- propagateGError $ g_socket_bind _obj' address' allow_reuse'
touchManagedPtr _obj
touchManagedPtr address
return ()
) (do
return ()
)
-- method Socket::check_connect_result
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_check_connect_result" g_socket_check_connect_result ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr (Ptr GError) -> -- error
IO CInt
socketCheckConnectResult ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m ()
socketCheckConnectResult _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
_ <- propagateGError $ g_socket_check_connect_result _obj'
touchManagedPtr _obj
return ()
) (do
return ()
)
-- method Socket::close
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_close" g_socket_close ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr (Ptr GError) -> -- error
IO CInt
socketClose ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m ()
socketClose _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
_ <- propagateGError $ g_socket_close _obj'
touchManagedPtr _obj
return ()
) (do
return ()
)
-- method Socket::condition_check
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "condition", argType = TInterface "GLib" "IOCondition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "condition", argType = TInterface "GLib" "IOCondition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "GLib" "IOCondition"
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_condition_check" g_socket_condition_check ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
CUInt -> -- condition : TInterface "GLib" "IOCondition"
IO CUInt
socketConditionCheck ::
(MonadIO m, SocketK a) =>
a -> -- _obj
[GLib.IOCondition] -> -- condition
m [GLib.IOCondition]
socketConditionCheck _obj condition = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let condition' = gflagsToWord condition
result <- g_socket_condition_check _obj' condition'
let result' = wordToGFlags result
touchManagedPtr _obj
return result'
-- method Socket::condition_timed_wait
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "condition", argType = TInterface "GLib" "IOCondition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timeout", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "condition", argType = TInterface "GLib" "IOCondition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timeout", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_condition_timed_wait" g_socket_condition_timed_wait ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
CUInt -> -- condition : TInterface "GLib" "IOCondition"
Int64 -> -- timeout : TBasicType TInt64
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO CInt
socketConditionTimedWait ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
[GLib.IOCondition] -> -- condition
Int64 -> -- timeout
Maybe (b) -> -- cancellable
m ()
socketConditionTimedWait _obj condition timeout cancellable = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let condition' = gflagsToWord condition
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
_ <- propagateGError $ g_socket_condition_timed_wait _obj' condition' timeout maybeCancellable
touchManagedPtr _obj
whenJust cancellable touchManagedPtr
return ()
) (do
return ()
)
-- method Socket::condition_wait
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "condition", argType = TInterface "GLib" "IOCondition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "condition", argType = TInterface "GLib" "IOCondition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_condition_wait" g_socket_condition_wait ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
CUInt -> -- condition : TInterface "GLib" "IOCondition"
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO CInt
socketConditionWait ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
[GLib.IOCondition] -> -- condition
Maybe (b) -> -- cancellable
m ()
socketConditionWait _obj condition cancellable = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let condition' = gflagsToWord condition
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
_ <- propagateGError $ g_socket_condition_wait _obj' condition' maybeCancellable
touchManagedPtr _obj
whenJust cancellable touchManagedPtr
return ()
) (do
return ()
)
-- method Socket::connect
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_connect" g_socket_connect ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr SocketAddress -> -- address : TInterface "Gio" "SocketAddress"
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO CInt
socketConnect ::
(MonadIO m, SocketK a, SocketAddressK b, CancellableK c) =>
a -> -- _obj
b -> -- address
Maybe (c) -> -- cancellable
m ()
socketConnect _obj address cancellable = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let address' = unsafeManagedPtrCastPtr address
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
_ <- propagateGError $ g_socket_connect _obj' address' maybeCancellable
touchManagedPtr _obj
touchManagedPtr address
whenJust cancellable touchManagedPtr
return ()
) (do
return ()
)
-- method Socket::connection_factory_create_connection
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "SocketConnection"
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_connection_factory_create_connection" g_socket_connection_factory_create_connection ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO (Ptr SocketConnection)
socketConnectionFactoryCreateConnection ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m SocketConnection
socketConnectionFactoryCreateConnection _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_connection_factory_create_connection _obj'
checkUnexpectedReturnNULL "g_socket_connection_factory_create_connection" result
result' <- (wrapObject SocketConnection) result
touchManagedPtr _obj
return result'
-- method Socket::get_available_bytes
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_available_bytes" g_socket_get_available_bytes ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO Int64
socketGetAvailableBytes ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Int64
socketGetAvailableBytes _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_available_bytes _obj'
touchManagedPtr _obj
return result
-- method Socket::get_blocking
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_blocking" g_socket_get_blocking ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CInt
socketGetBlocking ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Bool
socketGetBlocking _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_blocking _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Socket::get_broadcast
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_broadcast" g_socket_get_broadcast ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CInt
socketGetBroadcast ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Bool
socketGetBroadcast _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_broadcast _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Socket::get_credentials
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "Credentials"
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_get_credentials" g_socket_get_credentials ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr (Ptr GError) -> -- error
IO (Ptr Credentials)
socketGetCredentials ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Credentials
socketGetCredentials _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
result <- propagateGError $ g_socket_get_credentials _obj'
checkUnexpectedReturnNULL "g_socket_get_credentials" result
result' <- (wrapObject Credentials) result
touchManagedPtr _obj
return result'
) (do
return ()
)
-- method Socket::get_family
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "SocketFamily"
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_family" g_socket_get_family ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CUInt
socketGetFamily ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m SocketFamily
socketGetFamily _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_family _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
-- method Socket::get_fd
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_fd" g_socket_get_fd ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO Int32
socketGetFd ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Int32
socketGetFd _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_fd _obj'
touchManagedPtr _obj
return result
-- method Socket::get_keepalive
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_keepalive" g_socket_get_keepalive ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CInt
socketGetKeepalive ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Bool
socketGetKeepalive _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_keepalive _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Socket::get_listen_backlog
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_listen_backlog" g_socket_get_listen_backlog ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO Int32
socketGetListenBacklog ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Int32
socketGetListenBacklog _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_listen_backlog _obj'
touchManagedPtr _obj
return result
-- method Socket::get_local_address
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "SocketAddress"
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_get_local_address" g_socket_get_local_address ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr (Ptr GError) -> -- error
IO (Ptr SocketAddress)
socketGetLocalAddress ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m SocketAddress
socketGetLocalAddress _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
result <- propagateGError $ g_socket_get_local_address _obj'
checkUnexpectedReturnNULL "g_socket_get_local_address" result
result' <- (wrapObject SocketAddress) result
touchManagedPtr _obj
return result'
) (do
return ()
)
-- method Socket::get_multicast_loopback
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_multicast_loopback" g_socket_get_multicast_loopback ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CInt
socketGetMulticastLoopback ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Bool
socketGetMulticastLoopback _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_multicast_loopback _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Socket::get_multicast_ttl
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_multicast_ttl" g_socket_get_multicast_ttl ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO Word32
socketGetMulticastTtl ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Word32
socketGetMulticastTtl _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_multicast_ttl _obj'
touchManagedPtr _obj
return result
-- method Socket::get_option
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "optname", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "optname", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_get_option" g_socket_get_option ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Int32 -> -- level : TBasicType TInt32
Int32 -> -- optname : TBasicType TInt32
Ptr Int32 -> -- value : TBasicType TInt32
Ptr (Ptr GError) -> -- error
IO CInt
socketGetOption ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Int32 -> -- level
Int32 -> -- optname
m (Int32)
socketGetOption _obj level optname = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
value <- allocMem :: IO (Ptr Int32)
onException (do
_ <- propagateGError $ g_socket_get_option _obj' level optname value
value' <- peek value
touchManagedPtr _obj
freeMem value
return value'
) (do
freeMem value
)
-- method Socket::get_protocol
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "SocketProtocol"
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_protocol" g_socket_get_protocol ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CUInt
socketGetProtocol ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m SocketProtocol
socketGetProtocol _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_protocol _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
-- method Socket::get_remote_address
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "SocketAddress"
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_get_remote_address" g_socket_get_remote_address ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr (Ptr GError) -> -- error
IO (Ptr SocketAddress)
socketGetRemoteAddress ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m SocketAddress
socketGetRemoteAddress _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
result <- propagateGError $ g_socket_get_remote_address _obj'
checkUnexpectedReturnNULL "g_socket_get_remote_address" result
result' <- (wrapObject SocketAddress) result
touchManagedPtr _obj
return result'
) (do
return ()
)
-- method Socket::get_socket_type
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Gio" "SocketType"
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_socket_type" g_socket_get_socket_type ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CUInt
socketGetSocketType ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m SocketType
socketGetSocketType _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_socket_type _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
-- method Socket::get_timeout
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_timeout" g_socket_get_timeout ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO Word32
socketGetTimeout ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Word32
socketGetTimeout _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_timeout _obj'
touchManagedPtr _obj
return result
-- method Socket::get_ttl
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_get_ttl" g_socket_get_ttl ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO Word32
socketGetTtl ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Word32
socketGetTtl _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_get_ttl _obj'
touchManagedPtr _obj
return result
-- method Socket::is_closed
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_is_closed" g_socket_is_closed ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CInt
socketIsClosed ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Bool
socketIsClosed _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_is_closed _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Socket::is_connected
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_is_connected" g_socket_is_connected ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CInt
socketIsConnected ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Bool
socketIsConnected _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_is_connected _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Socket::join_multicast_group
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TInterface "Gio" "InetAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_specific", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iface", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TInterface "Gio" "InetAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_specific", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iface", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_join_multicast_group" g_socket_join_multicast_group ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr InetAddress -> -- group : TInterface "Gio" "InetAddress"
CInt -> -- source_specific : TBasicType TBoolean
CString -> -- iface : TBasicType TUTF8
Ptr (Ptr GError) -> -- error
IO CInt
socketJoinMulticastGroup ::
(MonadIO m, SocketK a, InetAddressK b) =>
a -> -- _obj
b -> -- group
Bool -> -- source_specific
Maybe (T.Text) -> -- iface
m ()
socketJoinMulticastGroup _obj group source_specific iface = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let group' = unsafeManagedPtrCastPtr group
let source_specific' = (fromIntegral . fromEnum) source_specific
maybeIface <- case iface of
Nothing -> return nullPtr
Just jIface -> do
jIface' <- textToCString jIface
return jIface'
onException (do
_ <- propagateGError $ g_socket_join_multicast_group _obj' group' source_specific' maybeIface
touchManagedPtr _obj
touchManagedPtr group
freeMem maybeIface
return ()
) (do
freeMem maybeIface
)
-- method Socket::leave_multicast_group
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TInterface "Gio" "InetAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_specific", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iface", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "group", argType = TInterface "Gio" "InetAddress", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "source_specific", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "iface", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_leave_multicast_group" g_socket_leave_multicast_group ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr InetAddress -> -- group : TInterface "Gio" "InetAddress"
CInt -> -- source_specific : TBasicType TBoolean
CString -> -- iface : TBasicType TUTF8
Ptr (Ptr GError) -> -- error
IO CInt
socketLeaveMulticastGroup ::
(MonadIO m, SocketK a, InetAddressK b) =>
a -> -- _obj
b -> -- group
Bool -> -- source_specific
Maybe (T.Text) -> -- iface
m ()
socketLeaveMulticastGroup _obj group source_specific iface = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let group' = unsafeManagedPtrCastPtr group
let source_specific' = (fromIntegral . fromEnum) source_specific
maybeIface <- case iface of
Nothing -> return nullPtr
Just jIface -> do
jIface' <- textToCString jIface
return jIface'
onException (do
_ <- propagateGError $ g_socket_leave_multicast_group _obj' group' source_specific' maybeIface
touchManagedPtr _obj
touchManagedPtr group
freeMem maybeIface
return ()
) (do
freeMem maybeIface
)
-- method Socket::listen
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_listen" g_socket_listen ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr (Ptr GError) -> -- error
IO CInt
socketListen ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m ()
socketListen _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
_ <- propagateGError $ g_socket_listen _obj'
touchManagedPtr _obj
return ()
) (do
return ()
)
-- method Socket::receive
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_receive" g_socket_receive ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr Word8 -> -- buffer : TCArray False (-1) 2 (TBasicType TUInt8)
Word64 -> -- size : TBasicType TUInt64
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO Int64
socketReceive ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
ByteString -> -- buffer
Maybe (b) -> -- cancellable
m Int64
socketReceive _obj buffer cancellable = liftIO $ do
let size = fromIntegral $ B.length buffer
let _obj' = unsafeManagedPtrCastPtr _obj
buffer' <- packByteString buffer
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_receive _obj' buffer' size maybeCancellable
touchManagedPtr _obj
whenJust cancellable touchManagedPtr
freeMem buffer'
return result
) (do
freeMem buffer'
)
-- method Socket::receive_from
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "buffer", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_receive_from" g_socket_receive_from ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr (Ptr SocketAddress) -> -- address : TInterface "Gio" "SocketAddress"
Ptr Word8 -> -- buffer : TCArray False (-1) 3 (TBasicType TUInt8)
Word64 -> -- size : TBasicType TUInt64
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO Int64
socketReceiveFrom ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
ByteString -> -- buffer
Maybe (b) -> -- cancellable
m (Int64,SocketAddress)
socketReceiveFrom _obj buffer cancellable = liftIO $ do
let size = fromIntegral $ B.length buffer
let _obj' = unsafeManagedPtrCastPtr _obj
address <- allocMem :: IO (Ptr (Ptr SocketAddress))
buffer' <- packByteString buffer
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_receive_from _obj' address buffer' size maybeCancellable
address' <- peek address
address'' <- (wrapObject SocketAddress) address'
touchManagedPtr _obj
whenJust cancellable touchManagedPtr
freeMem address
freeMem buffer'
return (result, address'')
) (do
freeMem address
freeMem buffer'
)
-- method Socket::receive_message
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "vectors", argType = TCArray False (-1) 3 (TInterface "Gio" "InputVector"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_vectors", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "messages", argType = TCArray False (-1) 5 (TInterface "Gio" "SocketControlMessage"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_messages", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "num_messages", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_vectors", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "vectors", argType = TCArray False (-1) 3 (TInterface "Gio" "InputVector"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "messages", argType = TCArray False (-1) 5 (TInterface "Gio" "SocketControlMessage"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_receive_message" g_socket_receive_message ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr (Ptr SocketAddress) -> -- address : TInterface "Gio" "SocketAddress"
Ptr InputVector -> -- vectors : TCArray False (-1) 3 (TInterface "Gio" "InputVector")
Int32 -> -- num_vectors : TBasicType TInt32
Ptr (Ptr SocketControlMessage) -> -- messages : TCArray False (-1) 5 (TInterface "Gio" "SocketControlMessage")
Int32 -> -- num_messages : TBasicType TInt32
Int32 -> -- flags : TBasicType TInt32
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO Int64
socketReceiveMessage ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
[InputVector] -> -- vectors
Maybe ([SocketControlMessage]) -> -- messages
Int32 -> -- flags
Maybe (b) -> -- cancellable
m (Int64,SocketAddress)
socketReceiveMessage _obj vectors messages flags cancellable = liftIO $ do
let num_messages = case messages of
Nothing -> 0
Just jMessages -> fromIntegral $ length jMessages
let num_vectors = fromIntegral $ length vectors
let _obj' = unsafeManagedPtrCastPtr _obj
address <- allocMem :: IO (Ptr (Ptr SocketAddress))
let vectors' = map unsafeManagedPtrGetPtr vectors
vectors'' <- packBlockArray 16 vectors'
maybeMessages <- case messages of
Nothing -> return nullPtr
Just jMessages -> do
let jMessages' = map unsafeManagedPtrCastPtr jMessages
jMessages'' <- packPtrArray jMessages'
return jMessages''
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_receive_message _obj' address vectors'' num_vectors maybeMessages num_messages flags maybeCancellable
address' <- peek address
address'' <- (wrapObject SocketAddress) address'
touchManagedPtr _obj
mapM_ touchManagedPtr vectors
whenJust messages (mapM_ touchManagedPtr)
whenJust cancellable touchManagedPtr
freeMem address
freeMem vectors''
freeMem maybeMessages
return (result, address'')
) (do
freeMem address
freeMem vectors''
freeMem maybeMessages
)
-- method Socket::receive_with_blocking
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blocking", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blocking", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_receive_with_blocking" g_socket_receive_with_blocking ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr Word8 -> -- buffer : TCArray False (-1) 2 (TBasicType TUInt8)
Word64 -> -- size : TBasicType TUInt64
CInt -> -- blocking : TBasicType TBoolean
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO Int64
socketReceiveWithBlocking ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
ByteString -> -- buffer
Bool -> -- blocking
Maybe (b) -> -- cancellable
m Int64
socketReceiveWithBlocking _obj buffer blocking cancellable = liftIO $ do
let size = fromIntegral $ B.length buffer
let _obj' = unsafeManagedPtrCastPtr _obj
buffer' <- packByteString buffer
let blocking' = (fromIntegral . fromEnum) blocking
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_receive_with_blocking _obj' buffer' size blocking' maybeCancellable
touchManagedPtr _obj
whenJust cancellable touchManagedPtr
freeMem buffer'
return result
) (do
freeMem buffer'
)
-- method Socket::send
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_send" g_socket_send ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr Word8 -> -- buffer : TCArray False (-1) 2 (TBasicType TUInt8)
Word64 -> -- size : TBasicType TUInt64
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO Int64
socketSend ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
ByteString -> -- buffer
Maybe (b) -> -- cancellable
m Int64
socketSend _obj buffer cancellable = liftIO $ do
let size = fromIntegral $ B.length buffer
let _obj' = unsafeManagedPtrCastPtr _obj
buffer' <- packByteString buffer
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_send _obj' buffer' size maybeCancellable
touchManagedPtr _obj
whenJust cancellable touchManagedPtr
freeMem buffer'
return result
) (do
freeMem buffer'
)
-- method Socket::send_message
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "vectors", argType = TCArray False (-1) 3 (TInterface "Gio" "OutputVector"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_vectors", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "messages", argType = TCArray False (-1) 5 (TInterface "Gio" "SocketControlMessage"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_messages", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "num_messages", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_vectors", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "vectors", argType = TCArray False (-1) 3 (TInterface "Gio" "OutputVector"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "messages", argType = TCArray False (-1) 5 (TInterface "Gio" "SocketControlMessage"), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_send_message" g_socket_send_message ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr SocketAddress -> -- address : TInterface "Gio" "SocketAddress"
Ptr OutputVector -> -- vectors : TCArray False (-1) 3 (TInterface "Gio" "OutputVector")
Int32 -> -- num_vectors : TBasicType TInt32
Ptr (Ptr SocketControlMessage) -> -- messages : TCArray False (-1) 5 (TInterface "Gio" "SocketControlMessage")
Int32 -> -- num_messages : TBasicType TInt32
Int32 -> -- flags : TBasicType TInt32
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO Int64
socketSendMessage ::
(MonadIO m, SocketK a, SocketAddressK b, CancellableK c) =>
a -> -- _obj
Maybe (b) -> -- address
[OutputVector] -> -- vectors
Maybe ([SocketControlMessage]) -> -- messages
Int32 -> -- flags
Maybe (c) -> -- cancellable
m Int64
socketSendMessage _obj address vectors messages flags cancellable = liftIO $ do
let num_messages = case messages of
Nothing -> 0
Just jMessages -> fromIntegral $ length jMessages
let num_vectors = fromIntegral $ length vectors
let _obj' = unsafeManagedPtrCastPtr _obj
maybeAddress <- case address of
Nothing -> return nullPtr
Just jAddress -> do
let jAddress' = unsafeManagedPtrCastPtr jAddress
return jAddress'
let vectors' = map unsafeManagedPtrGetPtr vectors
vectors'' <- packBlockArray 16 vectors'
maybeMessages <- case messages of
Nothing -> return nullPtr
Just jMessages -> do
let jMessages' = map unsafeManagedPtrCastPtr jMessages
jMessages'' <- packPtrArray jMessages'
return jMessages''
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_send_message _obj' maybeAddress vectors'' num_vectors maybeMessages num_messages flags maybeCancellable
touchManagedPtr _obj
whenJust address touchManagedPtr
mapM_ touchManagedPtr vectors
whenJust messages (mapM_ touchManagedPtr)
whenJust cancellable touchManagedPtr
freeMem vectors''
freeMem maybeMessages
return result
) (do
freeMem vectors''
freeMem maybeMessages
)
-- method Socket::send_messages
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "messages", argType = TCArray False (-1) 2 (TInterface "Gio" "OutputMessage"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "num_messages", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "num_messages", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "messages", argType = TCArray False (-1) 2 (TInterface "Gio" "OutputMessage"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "flags", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt32
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_send_messages" g_socket_send_messages ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr OutputMessage -> -- messages : TCArray False (-1) 2 (TInterface "Gio" "OutputMessage")
Word32 -> -- num_messages : TBasicType TUInt32
Int32 -> -- flags : TBasicType TInt32
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO Int32
socketSendMessages ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
[OutputMessage] -> -- messages
Int32 -> -- flags
Maybe (b) -> -- cancellable
m Int32
socketSendMessages _obj messages flags cancellable = liftIO $ do
let num_messages = fromIntegral $ length messages
let _obj' = unsafeManagedPtrCastPtr _obj
let messages' = map unsafeManagedPtrGetPtr messages
messages'' <- packBlockArray 40 messages'
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_send_messages _obj' messages'' num_messages flags maybeCancellable
touchManagedPtr _obj
mapM_ touchManagedPtr messages
whenJust cancellable touchManagedPtr
freeMem messages''
return result
) (do
freeMem messages''
)
-- method Socket::send_to
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "address", argType = TInterface "Gio" "SocketAddress", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_send_to" g_socket_send_to ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr SocketAddress -> -- address : TInterface "Gio" "SocketAddress"
Ptr Word8 -> -- buffer : TCArray False (-1) 3 (TBasicType TUInt8)
Word64 -> -- size : TBasicType TUInt64
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO Int64
socketSendTo ::
(MonadIO m, SocketK a, SocketAddressK b, CancellableK c) =>
a -> -- _obj
Maybe (b) -> -- address
ByteString -> -- buffer
Maybe (c) -> -- cancellable
m Int64
socketSendTo _obj address buffer cancellable = liftIO $ do
let size = fromIntegral $ B.length buffer
let _obj' = unsafeManagedPtrCastPtr _obj
maybeAddress <- case address of
Nothing -> return nullPtr
Just jAddress -> do
let jAddress' = unsafeManagedPtrCastPtr jAddress
return jAddress'
buffer' <- packByteString buffer
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_send_to _obj' maybeAddress buffer' size maybeCancellable
touchManagedPtr _obj
whenJust address touchManagedPtr
whenJust cancellable touchManagedPtr
freeMem buffer'
return result
) (do
freeMem buffer'
)
-- method Socket::send_with_blocking
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blocking", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : [Arg {argName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blocking", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cancellable", argType = TInterface "Gio" "Cancellable", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_send_with_blocking" g_socket_send_with_blocking ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Ptr Word8 -> -- buffer : TCArray False (-1) 2 (TBasicType TUInt8)
Word64 -> -- size : TBasicType TUInt64
CInt -> -- blocking : TBasicType TBoolean
Ptr Cancellable -> -- cancellable : TInterface "Gio" "Cancellable"
Ptr (Ptr GError) -> -- error
IO Int64
socketSendWithBlocking ::
(MonadIO m, SocketK a, CancellableK b) =>
a -> -- _obj
ByteString -> -- buffer
Bool -> -- blocking
Maybe (b) -> -- cancellable
m Int64
socketSendWithBlocking _obj buffer blocking cancellable = liftIO $ do
let size = fromIntegral $ B.length buffer
let _obj' = unsafeManagedPtrCastPtr _obj
buffer' <- packByteString buffer
let blocking' = (fromIntegral . fromEnum) blocking
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
let jCancellable' = unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_send_with_blocking _obj' buffer' size blocking' maybeCancellable
touchManagedPtr _obj
whenJust cancellable touchManagedPtr
freeMem buffer'
return result
) (do
freeMem buffer'
)
-- method Socket::set_blocking
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blocking", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "blocking", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_set_blocking" g_socket_set_blocking ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
CInt -> -- blocking : TBasicType TBoolean
IO ()
socketSetBlocking ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Bool -> -- blocking
m ()
socketSetBlocking _obj blocking = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let blocking' = (fromIntegral . fromEnum) blocking
g_socket_set_blocking _obj' blocking'
touchManagedPtr _obj
return ()
-- method Socket::set_broadcast
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "broadcast", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "broadcast", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_set_broadcast" g_socket_set_broadcast ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
CInt -> -- broadcast : TBasicType TBoolean
IO ()
socketSetBroadcast ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Bool -> -- broadcast
m ()
socketSetBroadcast _obj broadcast = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let broadcast' = (fromIntegral . fromEnum) broadcast
g_socket_set_broadcast _obj' broadcast'
touchManagedPtr _obj
return ()
-- method Socket::set_keepalive
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keepalive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "keepalive", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_set_keepalive" g_socket_set_keepalive ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
CInt -> -- keepalive : TBasicType TBoolean
IO ()
socketSetKeepalive ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Bool -> -- keepalive
m ()
socketSetKeepalive _obj keepalive = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let keepalive' = (fromIntegral . fromEnum) keepalive
g_socket_set_keepalive _obj' keepalive'
touchManagedPtr _obj
return ()
-- method Socket::set_listen_backlog
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "backlog", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "backlog", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_set_listen_backlog" g_socket_set_listen_backlog ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Int32 -> -- backlog : TBasicType TInt32
IO ()
socketSetListenBacklog ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Int32 -> -- backlog
m ()
socketSetListenBacklog _obj backlog = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_socket_set_listen_backlog _obj' backlog
touchManagedPtr _obj
return ()
-- method Socket::set_multicast_loopback
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "loopback", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "loopback", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_set_multicast_loopback" g_socket_set_multicast_loopback ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
CInt -> -- loopback : TBasicType TBoolean
IO ()
socketSetMulticastLoopback ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Bool -> -- loopback
m ()
socketSetMulticastLoopback _obj loopback = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let loopback' = (fromIntegral . fromEnum) loopback
g_socket_set_multicast_loopback _obj' loopback'
touchManagedPtr _obj
return ()
-- method Socket::set_multicast_ttl
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ttl", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ttl", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_set_multicast_ttl" g_socket_set_multicast_ttl ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Word32 -> -- ttl : TBasicType TUInt32
IO ()
socketSetMulticastTtl ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Word32 -> -- ttl
m ()
socketSetMulticastTtl _obj ttl = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_socket_set_multicast_ttl _obj' ttl
touchManagedPtr _obj
return ()
-- method Socket::set_option
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "optname", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "level", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "optname", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_set_option" g_socket_set_option ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Int32 -> -- level : TBasicType TInt32
Int32 -> -- optname : TBasicType TInt32
Int32 -> -- value : TBasicType TInt32
Ptr (Ptr GError) -> -- error
IO CInt
socketSetOption ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Int32 -> -- level
Int32 -> -- optname
Int32 -> -- value
m ()
socketSetOption _obj level optname value = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
onException (do
_ <- propagateGError $ g_socket_set_option _obj' level optname value
touchManagedPtr _obj
return ()
) (do
return ()
)
-- method Socket::set_timeout
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timeout", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "timeout", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_set_timeout" g_socket_set_timeout ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Word32 -> -- timeout : TBasicType TUInt32
IO ()
socketSetTimeout ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Word32 -> -- timeout
m ()
socketSetTimeout _obj timeout = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_socket_set_timeout _obj' timeout
touchManagedPtr _obj
return ()
-- method Socket::set_ttl
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ttl", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ttl", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_set_ttl" g_socket_set_ttl ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
Word32 -> -- ttl : TBasicType TUInt32
IO ()
socketSetTtl ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Word32 -> -- ttl
m ()
socketSetTtl _obj ttl = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
g_socket_set_ttl _obj' ttl
touchManagedPtr _obj
return ()
-- method Socket::shutdown
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shutdown_read", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shutdown_write", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shutdown_read", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shutdown_write", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : True
-- Skip return : False
foreign import ccall "g_socket_shutdown" g_socket_shutdown ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
CInt -> -- shutdown_read : TBasicType TBoolean
CInt -> -- shutdown_write : TBasicType TBoolean
Ptr (Ptr GError) -> -- error
IO CInt
socketShutdown ::
(MonadIO m, SocketK a) =>
a -> -- _obj
Bool -> -- shutdown_read
Bool -> -- shutdown_write
m ()
socketShutdown _obj shutdown_read shutdown_write = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let shutdown_read' = (fromIntegral . fromEnum) shutdown_read
let shutdown_write' = (fromIntegral . fromEnum) shutdown_write
onException (do
_ <- propagateGError $ g_socket_shutdown _obj' shutdown_read' shutdown_write'
touchManagedPtr _obj
return ()
) (do
return ()
)
-- method Socket::speaks_ipv4
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Gio" "Socket", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_socket_speaks_ipv4" g_socket_speaks_ipv4 ::
Ptr Socket -> -- _obj : TInterface "Gio" "Socket"
IO CInt
socketSpeaksIpv4 ::
(MonadIO m, SocketK a) =>
a -> -- _obj
m Bool
socketSpeaksIpv4 _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_socket_speaks_ipv4 _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'