module Qtc.Enums.Network.QAbstractSocket (
SocketType, eTcpSocket, eUdpSocket, eUnknownSocketType
, NetworkLayerProtocol, eIPv4Protocol, eIPv6Protocol, eUnknownNetworkLayerProtocol
, SocketError, eConnectionRefusedError, eRemoteHostClosedError, eHostNotFoundError, eSocketAccessError, eSocketResourceError, eSocketTimeoutError, eDatagramTooLargeError, eNetworkError, eAddressInUseError, eSocketAddressNotAvailableError, eUnsupportedSocketOperationError, eUnfinishedSocketOperationError, eUnknownSocketError
, SocketState, eUnconnectedState, eHostLookupState, eConnectingState, eConnectedState, eBoundState, eListeningState, eClosingState
)
where
import Foreign.C.Types
import Qtc.Classes.Base
import Qtc.ClassTypes.Core (QObject, TQObject, qObjectFromPtr)
import Qtc.Core.Base (Qcs, connectSlot, qtc_connectSlot_int, wrapSlotHandler_int)
import Qtc.Enums.Base
import Qtc.Enums.Classes.Core
data CSocketType a = CSocketType a
type SocketType = QEnum(CSocketType Int)
ieSocketType :: Int -> SocketType
ieSocketType x = QEnum (CSocketType x)
instance QEnumC (CSocketType Int) where
qEnum_toInt (QEnum (CSocketType x)) = x
qEnum_fromInt x = QEnum (CSocketType x)
withQEnumResult x
= do
ti <- x
return $ qEnum_fromInt $ fromIntegral ti
withQEnumListResult x
= do
til <- x
return $ map qEnum_fromInt til
instance Qcs (QObject c -> SocketType -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qEnum_fromInt hint)
return ()
eTcpSocket :: SocketType
eTcpSocket
= ieSocketType $ 0
eUdpSocket :: SocketType
eUdpSocket
= ieSocketType $ 1
eUnknownSocketType :: SocketType
eUnknownSocketType
= ieSocketType $ 1
data CNetworkLayerProtocol a = CNetworkLayerProtocol a
type NetworkLayerProtocol = QEnum(CNetworkLayerProtocol Int)
ieNetworkLayerProtocol :: Int -> NetworkLayerProtocol
ieNetworkLayerProtocol x = QEnum (CNetworkLayerProtocol x)
instance QEnumC (CNetworkLayerProtocol Int) where
qEnum_toInt (QEnum (CNetworkLayerProtocol x)) = x
qEnum_fromInt x = QEnum (CNetworkLayerProtocol x)
withQEnumResult x
= do
ti <- x
return $ qEnum_fromInt $ fromIntegral ti
withQEnumListResult x
= do
til <- x
return $ map qEnum_fromInt til
instance Qcs (QObject c -> NetworkLayerProtocol -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qEnum_fromInt hint)
return ()
eIPv4Protocol :: NetworkLayerProtocol
eIPv4Protocol
= ieNetworkLayerProtocol $ 0
eIPv6Protocol :: NetworkLayerProtocol
eIPv6Protocol
= ieNetworkLayerProtocol $ 1
eUnknownNetworkLayerProtocol :: NetworkLayerProtocol
eUnknownNetworkLayerProtocol
= ieNetworkLayerProtocol $ 1
data CSocketError a = CSocketError a
type SocketError = QEnum(CSocketError Int)
ieSocketError :: Int -> SocketError
ieSocketError x = QEnum (CSocketError x)
instance QEnumC (CSocketError Int) where
qEnum_toInt (QEnum (CSocketError x)) = x
qEnum_fromInt x = QEnum (CSocketError x)
withQEnumResult x
= do
ti <- x
return $ qEnum_fromInt $ fromIntegral ti
withQEnumListResult x
= do
til <- x
return $ map qEnum_fromInt til
instance Qcs (QObject c -> SocketError -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qEnum_fromInt hint)
return ()
eConnectionRefusedError :: SocketError
eConnectionRefusedError
= ieSocketError $ 0
eRemoteHostClosedError :: SocketError
eRemoteHostClosedError
= ieSocketError $ 1
eHostNotFoundError :: SocketError
eHostNotFoundError
= ieSocketError $ 2
eSocketAccessError :: SocketError
eSocketAccessError
= ieSocketError $ 3
eSocketResourceError :: SocketError
eSocketResourceError
= ieSocketError $ 4
eSocketTimeoutError :: SocketError
eSocketTimeoutError
= ieSocketError $ 5
eDatagramTooLargeError :: SocketError
eDatagramTooLargeError
= ieSocketError $ 6
eNetworkError :: SocketError
eNetworkError
= ieSocketError $ 7
eAddressInUseError :: SocketError
eAddressInUseError
= ieSocketError $ 8
eSocketAddressNotAvailableError :: SocketError
eSocketAddressNotAvailableError
= ieSocketError $ 9
eUnsupportedSocketOperationError :: SocketError
eUnsupportedSocketOperationError
= ieSocketError $ 10
eUnfinishedSocketOperationError :: SocketError
eUnfinishedSocketOperationError
= ieSocketError $ 11
instance QeProxyAuthenticationRequiredError SocketError where
eProxyAuthenticationRequiredError
= ieSocketError $ 12
eUnknownSocketError :: SocketError
eUnknownSocketError
= ieSocketError $ 1
data CSocketState a = CSocketState a
type SocketState = QEnum(CSocketState Int)
ieSocketState :: Int -> SocketState
ieSocketState x = QEnum (CSocketState x)
instance QEnumC (CSocketState Int) where
qEnum_toInt (QEnum (CSocketState x)) = x
qEnum_fromInt x = QEnum (CSocketState x)
withQEnumResult x
= do
ti <- x
return $ qEnum_fromInt $ fromIntegral ti
withQEnumListResult x
= do
til <- x
return $ map qEnum_fromInt til
instance Qcs (QObject c -> SocketState -> IO ()) where
connectSlot _qsig_obj _qsig_nam _qslt_obj _qslt_nam _handler
= do
funptr <- wrapSlotHandler_int slotHandlerWrapper_int
stptr <- newStablePtr (Wrap _handler)
withObjectPtr _qsig_obj $ \cobj_sig ->
withCWString _qsig_nam $ \cstr_sig ->
withObjectPtr _qslt_obj $ \cobj_slt ->
withCWString _qslt_nam $ \cstr_slt ->
qtc_connectSlot_int cobj_sig cstr_sig cobj_slt cstr_slt (toCFunPtr funptr) (castStablePtrToPtr stptr)
return ()
where
slotHandlerWrapper_int :: Ptr fun -> Ptr () -> Ptr (TQObject c) -> CInt -> IO ()
slotHandlerWrapper_int funptr stptr qobjptr cint
= do qobj <- qObjectFromPtr qobjptr
let hint = fromCInt cint
if (objectIsNull qobj)
then do when (stptr/=ptrNull)
(freeStablePtr (castPtrToStablePtr stptr))
when (funptr/=ptrNull)
(freeHaskellFunPtr (castPtrToFunPtr funptr))
else _handler qobj (qEnum_fromInt hint)
return ()
eUnconnectedState :: SocketState
eUnconnectedState
= ieSocketState $ 0
eHostLookupState :: SocketState
eHostLookupState
= ieSocketState $ 1
eConnectingState :: SocketState
eConnectingState
= ieSocketState $ 2
eConnectedState :: SocketState
eConnectedState
= ieSocketState $ 3
eBoundState :: SocketState
eBoundState
= ieSocketState $ 4
eListeningState :: SocketState
eListeningState
= ieSocketState $ 5
eClosingState :: SocketState
eClosingState
= ieSocketState $ 6