qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Core/QThread.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
{-# LANGUAGE NoMonomorphismRestriction #-}
module Graphics.UI.Qtah.Core.QThread (
QThreadValue (..),
QThreadConstPtr (..),
QThreadPtr (..),
QThreadConst,
QThread,
castConst,
cast,
downCastConst,
downCast,
new,
newWithParent,
currentThread,
exit,
exitWithCode,
idealThreadCount,
isFinished,
isInterruptionRequested,
isRunning,
loopLevel,
msleep,
priority,
quit,
requestInterruption,
setPriority,
setStackSize,
sleep,
stackSize,
start,
startWithPriority,
terminate,
usleep,
wait,
waitWithMillis,
yieldCurrentThread,
finishedSignal,
startedSignal,
QThreadPriority (..),
) where
import qualified Foreign.Hoppy.Runtime as QtahFHR
import Graphics.UI.Qtah.Generated.Core.QThread
import Graphics.UI.Qtah.Internal.Listener
import qualified Graphics.UI.Qtah.Signal as QtahSignal
import Prelude (($), (>>))
import qualified Prelude as HoppyP
import qualified Prelude as QtahP
castConst = toQThreadConst
cast = toQThread
downCastConst = downToQThreadConst
downCast = downToQThread
finishedSignal :: (QThreadPtr object) => QtahSignal.Signal object (HoppyP.IO ())
finishedSignal = QtahSignal.Signal
{ QtahSignal.internalConnectSignal = \object' fn' -> do
listener' <- listener_new object' "2finished()" fn'
valid' <- listener_isValid listener'
if valid'
then QtahP.fmap QtahP.Just $ QtahSignal.internalMakeConnection listener'
else QtahFHR.delete listener' >> QtahP.return QtahP.Nothing
, QtahSignal.internalName = "QThread::finished (Listener)"
}
startedSignal :: (QThreadPtr object) => QtahSignal.Signal object (HoppyP.IO ())
startedSignal = QtahSignal.Signal
{ QtahSignal.internalConnectSignal = \object' fn' -> do
listener' <- listener_new object' "2started()" fn'
valid' <- listener_isValid listener'
if valid'
then QtahP.fmap QtahP.Just $ QtahSignal.internalMakeConnection listener'
else QtahFHR.delete listener' >> QtahP.return QtahP.Nothing
, QtahSignal.internalName = "QThread::started (Listener)"
}