module GI.Gio.Objects.SocketListener
(
SocketListener(..) ,
IsSocketListener ,
toSocketListener ,
noSocketListener ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAcceptMethodInfo ,
#endif
socketListenerAccept ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAcceptAsyncMethodInfo ,
#endif
socketListenerAcceptAsync ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAcceptFinishMethodInfo ,
#endif
socketListenerAcceptFinish ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAcceptSocketMethodInfo ,
#endif
socketListenerAcceptSocket ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAcceptSocketAsyncMethodInfo,
#endif
socketListenerAcceptSocketAsync ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAcceptSocketFinishMethodInfo,
#endif
socketListenerAcceptSocketFinish ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAddAddressMethodInfo ,
#endif
socketListenerAddAddress ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAddAnyInetPortMethodInfo ,
#endif
socketListenerAddAnyInetPort ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAddInetPortMethodInfo ,
#endif
socketListenerAddInetPort ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerAddSocketMethodInfo ,
#endif
socketListenerAddSocket ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerCloseMethodInfo ,
#endif
socketListenerClose ,
socketListenerNew ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerSetBacklogMethodInfo ,
#endif
socketListenerSetBacklog ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerListenBacklogPropertyInfo ,
#endif
constructSocketListenerListenBacklog ,
getSocketListenerListenBacklog ,
setSocketListenerListenBacklog ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
socketListenerListenBacklog ,
#endif
C_SocketListenerEventCallback ,
SocketListenerEventCallback ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
SocketListenerEventSignalInfo ,
#endif
afterSocketListenerEvent ,
genClosure_SocketListenerEvent ,
mk_SocketListenerEventCallback ,
noSocketListenerEventCallback ,
onSocketListenerEvent ,
wrap_SocketListenerEventCallback ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Enums as Gio.Enums
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gio.Objects.Socket as Gio.Socket
import qualified GI.Gio.Objects.SocketAddress as Gio.SocketAddress
import qualified GI.Gio.Objects.SocketConnection as Gio.SocketConnection
newtype SocketListener = SocketListener (ManagedPtr SocketListener)
foreign import ccall "g_socket_listener_get_type"
c_g_socket_listener_get_type :: IO GType
instance GObject SocketListener where
gobjectType _ = c_g_socket_listener_get_type
class GObject o => IsSocketListener o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError SocketListener a) =>
IsSocketListener a
#endif
instance IsSocketListener SocketListener
instance GObject.Object.IsObject SocketListener
toSocketListener :: (MonadIO m, IsSocketListener o) => o -> m SocketListener
toSocketListener = liftIO . unsafeCastTo SocketListener
noSocketListener :: Maybe SocketListener
noSocketListener = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveSocketListenerMethod (t :: Symbol) (o :: *) :: * where
ResolveSocketListenerMethod "accept" o = SocketListenerAcceptMethodInfo
ResolveSocketListenerMethod "acceptAsync" o = SocketListenerAcceptAsyncMethodInfo
ResolveSocketListenerMethod "acceptFinish" o = SocketListenerAcceptFinishMethodInfo
ResolveSocketListenerMethod "acceptSocket" o = SocketListenerAcceptSocketMethodInfo
ResolveSocketListenerMethod "acceptSocketAsync" o = SocketListenerAcceptSocketAsyncMethodInfo
ResolveSocketListenerMethod "acceptSocketFinish" o = SocketListenerAcceptSocketFinishMethodInfo
ResolveSocketListenerMethod "addAddress" o = SocketListenerAddAddressMethodInfo
ResolveSocketListenerMethod "addAnyInetPort" o = SocketListenerAddAnyInetPortMethodInfo
ResolveSocketListenerMethod "addInetPort" o = SocketListenerAddInetPortMethodInfo
ResolveSocketListenerMethod "addSocket" o = SocketListenerAddSocketMethodInfo
ResolveSocketListenerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveSocketListenerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveSocketListenerMethod "close" o = SocketListenerCloseMethodInfo
ResolveSocketListenerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveSocketListenerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveSocketListenerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveSocketListenerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveSocketListenerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveSocketListenerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveSocketListenerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveSocketListenerMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveSocketListenerMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveSocketListenerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveSocketListenerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveSocketListenerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveSocketListenerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveSocketListenerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveSocketListenerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveSocketListenerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveSocketListenerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveSocketListenerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveSocketListenerMethod "setBacklog" o = SocketListenerSetBacklogMethodInfo
ResolveSocketListenerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveSocketListenerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveSocketListenerMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSocketListenerMethod t SocketListener, O.MethodInfo info SocketListener p) => O.IsLabelProxy t (SocketListener -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveSocketListenerMethod t SocketListener, O.MethodInfo info SocketListener p) => O.IsLabel t (SocketListener -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#endif
type SocketListenerEventCallback =
Gio.Enums.SocketListenerEvent ->
Gio.Socket.Socket ->
IO ()
noSocketListenerEventCallback :: Maybe SocketListenerEventCallback
noSocketListenerEventCallback = Nothing
type C_SocketListenerEventCallback =
Ptr () ->
CUInt ->
Ptr Gio.Socket.Socket ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_SocketListenerEventCallback :: C_SocketListenerEventCallback -> IO (FunPtr C_SocketListenerEventCallback)
genClosure_SocketListenerEvent :: SocketListenerEventCallback -> IO Closure
genClosure_SocketListenerEvent cb = do
let cb' = wrap_SocketListenerEventCallback cb
mk_SocketListenerEventCallback cb' >>= newCClosure
wrap_SocketListenerEventCallback ::
SocketListenerEventCallback ->
Ptr () ->
CUInt ->
Ptr Gio.Socket.Socket ->
Ptr () ->
IO ()
wrap_SocketListenerEventCallback _cb _ event socket _ = do
let event' = (toEnum . fromIntegral) event
socket' <- (newObject Gio.Socket.Socket) socket
_cb event' socket'
onSocketListenerEvent :: (IsSocketListener a, MonadIO m) => a -> SocketListenerEventCallback -> m SignalHandlerId
onSocketListenerEvent obj cb = liftIO $ do
let cb' = wrap_SocketListenerEventCallback cb
cb'' <- mk_SocketListenerEventCallback cb'
connectSignalFunPtr obj "event" cb'' SignalConnectBefore
afterSocketListenerEvent :: (IsSocketListener a, MonadIO m) => a -> SocketListenerEventCallback -> m SignalHandlerId
afterSocketListenerEvent obj cb = liftIO $ do
let cb' = wrap_SocketListenerEventCallback cb
cb'' <- mk_SocketListenerEventCallback cb'
connectSignalFunPtr obj "event" cb'' SignalConnectAfter
getSocketListenerListenBacklog :: (MonadIO m, IsSocketListener o) => o -> m Int32
getSocketListenerListenBacklog obj = liftIO $ getObjectPropertyInt32 obj "listen-backlog"
setSocketListenerListenBacklog :: (MonadIO m, IsSocketListener o) => o -> Int32 -> m ()
setSocketListenerListenBacklog obj val = liftIO $ setObjectPropertyInt32 obj "listen-backlog" val
constructSocketListenerListenBacklog :: (IsSocketListener o) => Int32 -> IO (GValueConstruct o)
constructSocketListenerListenBacklog val = constructObjectPropertyInt32 "listen-backlog" val
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerListenBacklogPropertyInfo
instance AttrInfo SocketListenerListenBacklogPropertyInfo where
type AttrAllowedOps SocketListenerListenBacklogPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint SocketListenerListenBacklogPropertyInfo = (~) Int32
type AttrBaseTypeConstraint SocketListenerListenBacklogPropertyInfo = IsSocketListener
type AttrGetType SocketListenerListenBacklogPropertyInfo = Int32
type AttrLabel SocketListenerListenBacklogPropertyInfo = "listen-backlog"
type AttrOrigin SocketListenerListenBacklogPropertyInfo = SocketListener
attrGet _ = getSocketListenerListenBacklog
attrSet _ = setSocketListenerListenBacklog
attrConstruct _ = constructSocketListenerListenBacklog
attrClear _ = undefined
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList SocketListener
type instance O.AttributeList SocketListener = SocketListenerAttributeList
type SocketListenerAttributeList = ('[ '("listenBacklog", SocketListenerListenBacklogPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
socketListenerListenBacklog :: AttrLabelProxy "listenBacklog"
socketListenerListenBacklog = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerEventSignalInfo
instance SignalInfo SocketListenerEventSignalInfo where
type HaskellCallbackType SocketListenerEventSignalInfo = SocketListenerEventCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_SocketListenerEventCallback cb
cb'' <- mk_SocketListenerEventCallback cb'
connectSignalFunPtr obj "event" cb'' connectMode
type instance O.SignalList SocketListener = SocketListenerSignalList
type SocketListenerSignalList = ('[ '("event", SocketListenerEventSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_socket_listener_new" g_socket_listener_new ::
IO (Ptr SocketListener)
socketListenerNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m SocketListener
socketListenerNew = liftIO $ do
result <- g_socket_listener_new
checkUnexpectedReturnNULL "socketListenerNew" result
result' <- (wrapObject SocketListener) result
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
#endif
foreign import ccall "g_socket_listener_accept" g_socket_listener_accept ::
Ptr SocketListener ->
Ptr (Ptr GObject.Object.Object) ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO (Ptr Gio.SocketConnection.SocketConnection)
socketListenerAccept ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (b)
-> m ((Gio.SocketConnection.SocketConnection, GObject.Object.Object))
socketListenerAccept listener cancellable = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
sourceObject <- allocMem :: IO (Ptr (Ptr GObject.Object.Object))
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
jCancellable' <- unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_listener_accept listener' sourceObject maybeCancellable
checkUnexpectedReturnNULL "socketListenerAccept" result
result' <- (wrapObject Gio.SocketConnection.SocketConnection) result
sourceObject' <- peek sourceObject
sourceObject'' <- (newObject GObject.Object.Object) sourceObject'
touchManagedPtr listener
whenJust cancellable touchManagedPtr
freeMem sourceObject
return (result', sourceObject'')
) (do
freeMem sourceObject
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAcceptMethodInfo
instance (signature ~ (Maybe (b) -> m ((Gio.SocketConnection.SocketConnection, GObject.Object.Object))), MonadIO m, IsSocketListener a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SocketListenerAcceptMethodInfo a signature where
overloadedMethod _ = socketListenerAccept
#endif
foreign import ccall "g_socket_listener_accept_async" g_socket_listener_accept_async ::
Ptr SocketListener ->
Ptr Gio.Cancellable.Cancellable ->
FunPtr Gio.Callbacks.C_AsyncReadyCallback ->
Ptr () ->
IO ()
socketListenerAcceptAsync ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (b)
-> Maybe (Gio.Callbacks.AsyncReadyCallback)
-> m ()
socketListenerAcceptAsync listener cancellable callback = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
jCancellable' <- unsafeManagedPtrCastPtr jCancellable
return jCancellable'
ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
maybeCallback <- case callback of
Nothing -> return (castPtrToFunPtr nullPtr)
Just jCallback -> do
jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))
poke ptrcallback jCallback'
return jCallback'
let userData = nullPtr
g_socket_listener_accept_async listener' maybeCancellable maybeCallback userData
touchManagedPtr listener
whenJust cancellable touchManagedPtr
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAcceptAsyncMethodInfo
instance (signature ~ (Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsSocketListener a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SocketListenerAcceptAsyncMethodInfo a signature where
overloadedMethod _ = socketListenerAcceptAsync
#endif
foreign import ccall "g_socket_listener_accept_finish" g_socket_listener_accept_finish ::
Ptr SocketListener ->
Ptr Gio.AsyncResult.AsyncResult ->
Ptr (Ptr GObject.Object.Object) ->
Ptr (Ptr GError) ->
IO (Ptr Gio.SocketConnection.SocketConnection)
socketListenerAcceptFinish ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, Gio.AsyncResult.IsAsyncResult b) =>
a
-> b
-> m ((Gio.SocketConnection.SocketConnection, GObject.Object.Object))
socketListenerAcceptFinish listener result_ = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
result_' <- unsafeManagedPtrCastPtr result_
sourceObject <- allocMem :: IO (Ptr (Ptr GObject.Object.Object))
onException (do
result <- propagateGError $ g_socket_listener_accept_finish listener' result_' sourceObject
checkUnexpectedReturnNULL "socketListenerAcceptFinish" result
result' <- (wrapObject Gio.SocketConnection.SocketConnection) result
sourceObject' <- peek sourceObject
sourceObject'' <- (newObject GObject.Object.Object) sourceObject'
touchManagedPtr listener
touchManagedPtr result_
freeMem sourceObject
return (result', sourceObject'')
) (do
freeMem sourceObject
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAcceptFinishMethodInfo
instance (signature ~ (b -> m ((Gio.SocketConnection.SocketConnection, GObject.Object.Object))), MonadIO m, IsSocketListener a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo SocketListenerAcceptFinishMethodInfo a signature where
overloadedMethod _ = socketListenerAcceptFinish
#endif
foreign import ccall "g_socket_listener_accept_socket" g_socket_listener_accept_socket ::
Ptr SocketListener ->
Ptr (Ptr GObject.Object.Object) ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO (Ptr Gio.Socket.Socket)
socketListenerAcceptSocket ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (b)
-> m ((Gio.Socket.Socket, GObject.Object.Object))
socketListenerAcceptSocket listener cancellable = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
sourceObject <- allocMem :: IO (Ptr (Ptr GObject.Object.Object))
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
jCancellable' <- unsafeManagedPtrCastPtr jCancellable
return jCancellable'
onException (do
result <- propagateGError $ g_socket_listener_accept_socket listener' sourceObject maybeCancellable
checkUnexpectedReturnNULL "socketListenerAcceptSocket" result
result' <- (wrapObject Gio.Socket.Socket) result
sourceObject' <- peek sourceObject
sourceObject'' <- (newObject GObject.Object.Object) sourceObject'
touchManagedPtr listener
whenJust cancellable touchManagedPtr
freeMem sourceObject
return (result', sourceObject'')
) (do
freeMem sourceObject
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAcceptSocketMethodInfo
instance (signature ~ (Maybe (b) -> m ((Gio.Socket.Socket, GObject.Object.Object))), MonadIO m, IsSocketListener a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SocketListenerAcceptSocketMethodInfo a signature where
overloadedMethod _ = socketListenerAcceptSocket
#endif
foreign import ccall "g_socket_listener_accept_socket_async" g_socket_listener_accept_socket_async ::
Ptr SocketListener ->
Ptr Gio.Cancellable.Cancellable ->
FunPtr Gio.Callbacks.C_AsyncReadyCallback ->
Ptr () ->
IO ()
socketListenerAcceptSocketAsync ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (b)
-> Maybe (Gio.Callbacks.AsyncReadyCallback)
-> m ()
socketListenerAcceptSocketAsync listener cancellable callback = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
maybeCancellable <- case cancellable of
Nothing -> return nullPtr
Just jCancellable -> do
jCancellable' <- unsafeManagedPtrCastPtr jCancellable
return jCancellable'
ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
maybeCallback <- case callback of
Nothing -> return (castPtrToFunPtr nullPtr)
Just jCallback -> do
jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))
poke ptrcallback jCallback'
return jCallback'
let userData = nullPtr
g_socket_listener_accept_socket_async listener' maybeCancellable maybeCallback userData
touchManagedPtr listener
whenJust cancellable touchManagedPtr
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAcceptSocketAsyncMethodInfo
instance (signature ~ (Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsSocketListener a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SocketListenerAcceptSocketAsyncMethodInfo a signature where
overloadedMethod _ = socketListenerAcceptSocketAsync
#endif
foreign import ccall "g_socket_listener_accept_socket_finish" g_socket_listener_accept_socket_finish ::
Ptr SocketListener ->
Ptr Gio.AsyncResult.AsyncResult ->
Ptr (Ptr GObject.Object.Object) ->
Ptr (Ptr GError) ->
IO (Ptr Gio.Socket.Socket)
socketListenerAcceptSocketFinish ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, Gio.AsyncResult.IsAsyncResult b) =>
a
-> b
-> m ((Gio.Socket.Socket, GObject.Object.Object))
socketListenerAcceptSocketFinish listener result_ = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
result_' <- unsafeManagedPtrCastPtr result_
sourceObject <- allocMem :: IO (Ptr (Ptr GObject.Object.Object))
onException (do
result <- propagateGError $ g_socket_listener_accept_socket_finish listener' result_' sourceObject
checkUnexpectedReturnNULL "socketListenerAcceptSocketFinish" result
result' <- (wrapObject Gio.Socket.Socket) result
sourceObject' <- peek sourceObject
sourceObject'' <- (newObject GObject.Object.Object) sourceObject'
touchManagedPtr listener
touchManagedPtr result_
freeMem sourceObject
return (result', sourceObject'')
) (do
freeMem sourceObject
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAcceptSocketFinishMethodInfo
instance (signature ~ (b -> m ((Gio.Socket.Socket, GObject.Object.Object))), MonadIO m, IsSocketListener a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo SocketListenerAcceptSocketFinishMethodInfo a signature where
overloadedMethod _ = socketListenerAcceptSocketFinish
#endif
foreign import ccall "g_socket_listener_add_address" g_socket_listener_add_address ::
Ptr SocketListener ->
Ptr Gio.SocketAddress.SocketAddress ->
CUInt ->
CUInt ->
Ptr GObject.Object.Object ->
Ptr (Ptr Gio.SocketAddress.SocketAddress) ->
Ptr (Ptr GError) ->
IO CInt
socketListenerAddAddress ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, Gio.SocketAddress.IsSocketAddress b, GObject.Object.IsObject c) =>
a
-> b
-> Gio.Enums.SocketType
-> Gio.Enums.SocketProtocol
-> Maybe (c)
-> m (Gio.SocketAddress.SocketAddress)
socketListenerAddAddress listener address type_ protocol sourceObject = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
address' <- unsafeManagedPtrCastPtr address
let type_' = (fromIntegral . fromEnum) type_
let protocol' = (fromIntegral . fromEnum) protocol
maybeSourceObject <- case sourceObject of
Nothing -> return nullPtr
Just jSourceObject -> do
jSourceObject' <- unsafeManagedPtrCastPtr jSourceObject
return jSourceObject'
effectiveAddress <- allocMem :: IO (Ptr (Ptr Gio.SocketAddress.SocketAddress))
onException (do
_ <- propagateGError $ g_socket_listener_add_address listener' address' type_' protocol' maybeSourceObject effectiveAddress
effectiveAddress' <- peek effectiveAddress
effectiveAddress'' <- (wrapObject Gio.SocketAddress.SocketAddress) effectiveAddress'
touchManagedPtr listener
touchManagedPtr address
whenJust sourceObject touchManagedPtr
freeMem effectiveAddress
return effectiveAddress''
) (do
freeMem effectiveAddress
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAddAddressMethodInfo
instance (signature ~ (b -> Gio.Enums.SocketType -> Gio.Enums.SocketProtocol -> Maybe (c) -> m (Gio.SocketAddress.SocketAddress)), MonadIO m, IsSocketListener a, Gio.SocketAddress.IsSocketAddress b, GObject.Object.IsObject c) => O.MethodInfo SocketListenerAddAddressMethodInfo a signature where
overloadedMethod _ = socketListenerAddAddress
#endif
foreign import ccall "g_socket_listener_add_any_inet_port" g_socket_listener_add_any_inet_port ::
Ptr SocketListener ->
Ptr GObject.Object.Object ->
Ptr (Ptr GError) ->
IO Word16
socketListenerAddAnyInetPort ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, GObject.Object.IsObject b) =>
a
-> Maybe (b)
-> m Word16
socketListenerAddAnyInetPort listener sourceObject = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
maybeSourceObject <- case sourceObject of
Nothing -> return nullPtr
Just jSourceObject -> do
jSourceObject' <- unsafeManagedPtrCastPtr jSourceObject
return jSourceObject'
onException (do
result <- propagateGError $ g_socket_listener_add_any_inet_port listener' maybeSourceObject
touchManagedPtr listener
whenJust sourceObject touchManagedPtr
return result
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAddAnyInetPortMethodInfo
instance (signature ~ (Maybe (b) -> m Word16), MonadIO m, IsSocketListener a, GObject.Object.IsObject b) => O.MethodInfo SocketListenerAddAnyInetPortMethodInfo a signature where
overloadedMethod _ = socketListenerAddAnyInetPort
#endif
foreign import ccall "g_socket_listener_add_inet_port" g_socket_listener_add_inet_port ::
Ptr SocketListener ->
Word16 ->
Ptr GObject.Object.Object ->
Ptr (Ptr GError) ->
IO CInt
socketListenerAddInetPort ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, GObject.Object.IsObject b) =>
a
-> Word16
-> Maybe (b)
-> m ()
socketListenerAddInetPort listener port sourceObject = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
maybeSourceObject <- case sourceObject of
Nothing -> return nullPtr
Just jSourceObject -> do
jSourceObject' <- unsafeManagedPtrCastPtr jSourceObject
return jSourceObject'
onException (do
_ <- propagateGError $ g_socket_listener_add_inet_port listener' port maybeSourceObject
touchManagedPtr listener
whenJust sourceObject touchManagedPtr
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAddInetPortMethodInfo
instance (signature ~ (Word16 -> Maybe (b) -> m ()), MonadIO m, IsSocketListener a, GObject.Object.IsObject b) => O.MethodInfo SocketListenerAddInetPortMethodInfo a signature where
overloadedMethod _ = socketListenerAddInetPort
#endif
foreign import ccall "g_socket_listener_add_socket" g_socket_listener_add_socket ::
Ptr SocketListener ->
Ptr Gio.Socket.Socket ->
Ptr GObject.Object.Object ->
Ptr (Ptr GError) ->
IO CInt
socketListenerAddSocket ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a, Gio.Socket.IsSocket b, GObject.Object.IsObject c) =>
a
-> b
-> Maybe (c)
-> m ()
socketListenerAddSocket listener socket sourceObject = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
socket' <- unsafeManagedPtrCastPtr socket
maybeSourceObject <- case sourceObject of
Nothing -> return nullPtr
Just jSourceObject -> do
jSourceObject' <- unsafeManagedPtrCastPtr jSourceObject
return jSourceObject'
onException (do
_ <- propagateGError $ g_socket_listener_add_socket listener' socket' maybeSourceObject
touchManagedPtr listener
touchManagedPtr socket
whenJust sourceObject touchManagedPtr
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerAddSocketMethodInfo
instance (signature ~ (b -> Maybe (c) -> m ()), MonadIO m, IsSocketListener a, Gio.Socket.IsSocket b, GObject.Object.IsObject c) => O.MethodInfo SocketListenerAddSocketMethodInfo a signature where
overloadedMethod _ = socketListenerAddSocket
#endif
foreign import ccall "g_socket_listener_close" g_socket_listener_close ::
Ptr SocketListener ->
IO ()
socketListenerClose ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a) =>
a
-> m ()
socketListenerClose listener = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
g_socket_listener_close listener'
touchManagedPtr listener
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerCloseMethodInfo
instance (signature ~ (m ()), MonadIO m, IsSocketListener a) => O.MethodInfo SocketListenerCloseMethodInfo a signature where
overloadedMethod _ = socketListenerClose
#endif
foreign import ccall "g_socket_listener_set_backlog" g_socket_listener_set_backlog ::
Ptr SocketListener ->
Int32 ->
IO ()
socketListenerSetBacklog ::
(B.CallStack.HasCallStack, MonadIO m, IsSocketListener a) =>
a
-> Int32
-> m ()
socketListenerSetBacklog listener listenBacklog = liftIO $ do
listener' <- unsafeManagedPtrCastPtr listener
g_socket_listener_set_backlog listener' listenBacklog
touchManagedPtr listener
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data SocketListenerSetBacklogMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m, IsSocketListener a) => O.MethodInfo SocketListenerSetBacklogMethodInfo a signature where
overloadedMethod _ = socketListenerSetBacklog
#endif