#define ENABLE_OVERLOADING \
(!defined(__HADDOCK_VERSION__))
module GI.GLib.Structs.SourceFuncs
(
SourceFuncs(..) ,
newZeroSourceFuncs ,
noSourceFuncs ,
clearSourceFuncsCheck ,
getSourceFuncsCheck ,
setSourceFuncsCheck ,
#if ENABLE_OVERLOADING
sourceFuncs_check ,
#endif
clearSourceFuncsFinalize ,
getSourceFuncsFinalize ,
setSourceFuncsFinalize ,
#if ENABLE_OVERLOADING
sourceFuncs_finalize ,
#endif
clearSourceFuncsPrepare ,
getSourceFuncsPrepare ,
setSourceFuncsPrepare ,
#if ENABLE_OVERLOADING
sourceFuncs_prepare ,
#endif
) 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.GValue as B.GValue
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.GLib.Callbacks as GLib.Callbacks
newtype SourceFuncs = SourceFuncs (ManagedPtr SourceFuncs)
instance WrappedPtr SourceFuncs where
wrappedPtrCalloc :: IO (Ptr SourceFuncs)
wrappedPtrCalloc = Int -> IO (Ptr SourceFuncs)
forall a. Int -> IO (Ptr a)
callocBytes 48
wrappedPtrCopy :: SourceFuncs -> IO SourceFuncs
wrappedPtrCopy = \p :: SourceFuncs
p -> SourceFuncs
-> (Ptr SourceFuncs -> IO SourceFuncs) -> IO SourceFuncs
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
p (Int -> Ptr SourceFuncs -> IO (Ptr SourceFuncs)
forall a. WrappedPtr a => Int -> Ptr a -> IO (Ptr a)
copyBytes 48 (Ptr SourceFuncs -> IO (Ptr SourceFuncs))
-> (Ptr SourceFuncs -> IO SourceFuncs)
-> Ptr SourceFuncs
-> IO SourceFuncs
forall (m :: * -> *) a b c.
Monad m =>
(a -> m b) -> (b -> m c) -> a -> m c
>=> (ManagedPtr SourceFuncs -> SourceFuncs)
-> Ptr SourceFuncs -> IO SourceFuncs
forall a.
(HasCallStack, WrappedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr SourceFuncs -> SourceFuncs
SourceFuncs)
wrappedPtrFree :: Maybe (FunPtr (Ptr SourceFuncs -> IO ()))
wrappedPtrFree = FunPtr (Ptr SourceFuncs -> IO ())
-> Maybe (FunPtr (Ptr SourceFuncs -> IO ()))
forall a. a -> Maybe a
Just FunPtr (Ptr SourceFuncs -> IO ())
forall a. FunPtr (Ptr a -> IO ())
ptr_to_g_free
newZeroSourceFuncs :: MonadIO m => m SourceFuncs
newZeroSourceFuncs :: m SourceFuncs
newZeroSourceFuncs = IO SourceFuncs -> m SourceFuncs
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SourceFuncs -> m SourceFuncs)
-> IO SourceFuncs -> m SourceFuncs
forall a b. (a -> b) -> a -> b
$ IO (Ptr SourceFuncs)
forall a. WrappedPtr a => IO (Ptr a)
wrappedPtrCalloc IO (Ptr SourceFuncs)
-> (Ptr SourceFuncs -> IO SourceFuncs) -> IO SourceFuncs
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr SourceFuncs -> SourceFuncs)
-> Ptr SourceFuncs -> IO SourceFuncs
forall a.
(HasCallStack, WrappedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr SourceFuncs -> SourceFuncs
SourceFuncs
instance tag ~ 'AttrSet => Constructible SourceFuncs tag where
new :: (ManagedPtr SourceFuncs -> SourceFuncs)
-> [AttrOp SourceFuncs tag] -> m SourceFuncs
new _ attrs :: [AttrOp SourceFuncs tag]
attrs = do
SourceFuncs
o <- m SourceFuncs
forall (m :: * -> *). MonadIO m => m SourceFuncs
newZeroSourceFuncs
SourceFuncs -> [AttrOp SourceFuncs 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set SourceFuncs
o [AttrOp SourceFuncs tag]
[AttrOp SourceFuncs 'AttrSet]
attrs
SourceFuncs -> m SourceFuncs
forall (m :: * -> *) a. Monad m => a -> m a
return SourceFuncs
o
noSourceFuncs :: Maybe SourceFuncs
noSourceFuncs :: Maybe SourceFuncs
noSourceFuncs = Maybe SourceFuncs
forall a. Maybe a
Nothing
getSourceFuncsPrepare :: MonadIO m => SourceFuncs -> m (Maybe GLib.Callbacks.SourceFuncsPrepareFieldCallback)
getSourceFuncsPrepare :: SourceFuncs -> m (Maybe SourceFuncsPrepareFieldCallback)
getSourceFuncsPrepare s :: SourceFuncs
s = IO (Maybe SourceFuncsPrepareFieldCallback)
-> m (Maybe SourceFuncsPrepareFieldCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe SourceFuncsPrepareFieldCallback)
-> m (Maybe SourceFuncsPrepareFieldCallback))
-> IO (Maybe SourceFuncsPrepareFieldCallback)
-> m (Maybe SourceFuncsPrepareFieldCallback)
forall a b. (a -> b) -> a -> b
$ SourceFuncs
-> (Ptr SourceFuncs -> IO (Maybe SourceFuncsPrepareFieldCallback))
-> IO (Maybe SourceFuncsPrepareFieldCallback)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
s ((Ptr SourceFuncs -> IO (Maybe SourceFuncsPrepareFieldCallback))
-> IO (Maybe SourceFuncsPrepareFieldCallback))
-> (Ptr SourceFuncs -> IO (Maybe SourceFuncsPrepareFieldCallback))
-> IO (Maybe SourceFuncsPrepareFieldCallback)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr SourceFuncs
ptr -> do
FunPtr C_SourceFuncsPrepareFieldCallback
val <- Ptr (FunPtr C_SourceFuncsPrepareFieldCallback)
-> IO (FunPtr C_SourceFuncsPrepareFieldCallback)
forall a. Storable a => Ptr a -> IO a
peek (Ptr SourceFuncs
ptr Ptr SourceFuncs
-> Int -> Ptr (FunPtr C_SourceFuncsPrepareFieldCallback)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0) :: IO (FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback)
Maybe SourceFuncsPrepareFieldCallback
result <- FunPtr C_SourceFuncsPrepareFieldCallback
-> (FunPtr C_SourceFuncsPrepareFieldCallback
-> IO SourceFuncsPrepareFieldCallback)
-> IO (Maybe SourceFuncsPrepareFieldCallback)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr C_SourceFuncsPrepareFieldCallback
val ((FunPtr C_SourceFuncsPrepareFieldCallback
-> IO SourceFuncsPrepareFieldCallback)
-> IO (Maybe SourceFuncsPrepareFieldCallback))
-> (FunPtr C_SourceFuncsPrepareFieldCallback
-> IO SourceFuncsPrepareFieldCallback)
-> IO (Maybe SourceFuncsPrepareFieldCallback)
forall a b. (a -> b) -> a -> b
$ \val' :: FunPtr C_SourceFuncsPrepareFieldCallback
val' -> do
let val'' :: SourceFuncsPrepareFieldCallback
val'' = FunPtr C_SourceFuncsPrepareFieldCallback
-> SourceFuncsPrepareFieldCallback
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_SourceFuncsPrepareFieldCallback
-> Source -> Int32 -> m Bool
GLib.Callbacks.dynamic_SourceFuncsPrepareFieldCallback FunPtr C_SourceFuncsPrepareFieldCallback
val'
SourceFuncsPrepareFieldCallback
-> IO SourceFuncsPrepareFieldCallback
forall (m :: * -> *) a. Monad m => a -> m a
return SourceFuncsPrepareFieldCallback
val''
Maybe SourceFuncsPrepareFieldCallback
-> IO (Maybe SourceFuncsPrepareFieldCallback)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe SourceFuncsPrepareFieldCallback
result
setSourceFuncsPrepare :: MonadIO m => SourceFuncs -> FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback -> m ()
setSourceFuncsPrepare :: SourceFuncs -> FunPtr C_SourceFuncsPrepareFieldCallback -> m ()
setSourceFuncsPrepare s :: SourceFuncs
s val :: FunPtr C_SourceFuncsPrepareFieldCallback
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ SourceFuncs -> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
s ((Ptr SourceFuncs -> IO ()) -> IO ())
-> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr SourceFuncs
ptr -> do
Ptr (FunPtr C_SourceFuncsPrepareFieldCallback)
-> FunPtr C_SourceFuncsPrepareFieldCallback -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr SourceFuncs
ptr Ptr SourceFuncs
-> Int -> Ptr (FunPtr C_SourceFuncsPrepareFieldCallback)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0) (FunPtr C_SourceFuncsPrepareFieldCallback
val :: FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback)
clearSourceFuncsPrepare :: MonadIO m => SourceFuncs -> m ()
clearSourceFuncsPrepare :: SourceFuncs -> m ()
clearSourceFuncsPrepare s :: SourceFuncs
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ SourceFuncs -> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
s ((Ptr SourceFuncs -> IO ()) -> IO ())
-> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr SourceFuncs
ptr -> do
Ptr (FunPtr C_SourceFuncsPrepareFieldCallback)
-> FunPtr C_SourceFuncsPrepareFieldCallback -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr SourceFuncs
ptr Ptr SourceFuncs
-> Int -> Ptr (FunPtr C_SourceFuncsPrepareFieldCallback)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0) (FunPtr C_SourceFuncsPrepareFieldCallback
forall a. FunPtr a
FP.nullFunPtr :: FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback)
#if ENABLE_OVERLOADING
data SourceFuncsPrepareFieldInfo
instance AttrInfo SourceFuncsPrepareFieldInfo where
type AttrAllowedOps SourceFuncsPrepareFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint SourceFuncsPrepareFieldInfo = (~) (FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback)
type AttrBaseTypeConstraint SourceFuncsPrepareFieldInfo = (~) SourceFuncs
type AttrGetType SourceFuncsPrepareFieldInfo = Maybe GLib.Callbacks.SourceFuncsPrepareFieldCallback
type AttrLabel SourceFuncsPrepareFieldInfo = "prepare"
type AttrOrigin SourceFuncsPrepareFieldInfo = SourceFuncs
attrGet _ = getSourceFuncsPrepare
attrSet _ = setSourceFuncsPrepare
attrConstruct = undefined
attrClear _ = clearSourceFuncsPrepare
sourceFuncs_prepare :: AttrLabelProxy "prepare"
sourceFuncs_prepare = AttrLabelProxy
#endif
getSourceFuncsCheck :: MonadIO m => SourceFuncs -> m (Maybe GLib.Callbacks.SourceFuncsCheckFieldCallback)
getSourceFuncsCheck :: SourceFuncs -> m (Maybe SourceFuncsCheckFieldCallback)
getSourceFuncsCheck s :: SourceFuncs
s = IO (Maybe SourceFuncsCheckFieldCallback)
-> m (Maybe SourceFuncsCheckFieldCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe SourceFuncsCheckFieldCallback)
-> m (Maybe SourceFuncsCheckFieldCallback))
-> IO (Maybe SourceFuncsCheckFieldCallback)
-> m (Maybe SourceFuncsCheckFieldCallback)
forall a b. (a -> b) -> a -> b
$ SourceFuncs
-> (Ptr SourceFuncs -> IO (Maybe SourceFuncsCheckFieldCallback))
-> IO (Maybe SourceFuncsCheckFieldCallback)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
s ((Ptr SourceFuncs -> IO (Maybe SourceFuncsCheckFieldCallback))
-> IO (Maybe SourceFuncsCheckFieldCallback))
-> (Ptr SourceFuncs -> IO (Maybe SourceFuncsCheckFieldCallback))
-> IO (Maybe SourceFuncsCheckFieldCallback)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr SourceFuncs
ptr -> do
FunPtr C_SourceFuncsCheckFieldCallback
val <- Ptr (FunPtr C_SourceFuncsCheckFieldCallback)
-> IO (FunPtr C_SourceFuncsCheckFieldCallback)
forall a. Storable a => Ptr a -> IO a
peek (Ptr SourceFuncs
ptr Ptr SourceFuncs
-> Int -> Ptr (FunPtr C_SourceFuncsCheckFieldCallback)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8) :: IO (FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback)
Maybe SourceFuncsCheckFieldCallback
result <- FunPtr C_SourceFuncsCheckFieldCallback
-> (FunPtr C_SourceFuncsCheckFieldCallback
-> IO SourceFuncsCheckFieldCallback)
-> IO (Maybe SourceFuncsCheckFieldCallback)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr C_SourceFuncsCheckFieldCallback
val ((FunPtr C_SourceFuncsCheckFieldCallback
-> IO SourceFuncsCheckFieldCallback)
-> IO (Maybe SourceFuncsCheckFieldCallback))
-> (FunPtr C_SourceFuncsCheckFieldCallback
-> IO SourceFuncsCheckFieldCallback)
-> IO (Maybe SourceFuncsCheckFieldCallback)
forall a b. (a -> b) -> a -> b
$ \val' :: FunPtr C_SourceFuncsCheckFieldCallback
val' -> do
let val'' :: SourceFuncsCheckFieldCallback
val'' = FunPtr C_SourceFuncsCheckFieldCallback
-> SourceFuncsCheckFieldCallback
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_SourceFuncsCheckFieldCallback -> Source -> m Bool
GLib.Callbacks.dynamic_SourceFuncsCheckFieldCallback FunPtr C_SourceFuncsCheckFieldCallback
val'
SourceFuncsCheckFieldCallback -> IO SourceFuncsCheckFieldCallback
forall (m :: * -> *) a. Monad m => a -> m a
return SourceFuncsCheckFieldCallback
val''
Maybe SourceFuncsCheckFieldCallback
-> IO (Maybe SourceFuncsCheckFieldCallback)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe SourceFuncsCheckFieldCallback
result
setSourceFuncsCheck :: MonadIO m => SourceFuncs -> FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback -> m ()
setSourceFuncsCheck :: SourceFuncs -> FunPtr C_SourceFuncsCheckFieldCallback -> m ()
setSourceFuncsCheck s :: SourceFuncs
s val :: FunPtr C_SourceFuncsCheckFieldCallback
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ SourceFuncs -> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
s ((Ptr SourceFuncs -> IO ()) -> IO ())
-> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr SourceFuncs
ptr -> do
Ptr (FunPtr C_SourceFuncsCheckFieldCallback)
-> FunPtr C_SourceFuncsCheckFieldCallback -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr SourceFuncs
ptr Ptr SourceFuncs
-> Int -> Ptr (FunPtr C_SourceFuncsCheckFieldCallback)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8) (FunPtr C_SourceFuncsCheckFieldCallback
val :: FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback)
clearSourceFuncsCheck :: MonadIO m => SourceFuncs -> m ()
clearSourceFuncsCheck :: SourceFuncs -> m ()
clearSourceFuncsCheck s :: SourceFuncs
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ SourceFuncs -> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
s ((Ptr SourceFuncs -> IO ()) -> IO ())
-> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr SourceFuncs
ptr -> do
Ptr (FunPtr C_SourceFuncsCheckFieldCallback)
-> FunPtr C_SourceFuncsCheckFieldCallback -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr SourceFuncs
ptr Ptr SourceFuncs
-> Int -> Ptr (FunPtr C_SourceFuncsCheckFieldCallback)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8) (FunPtr C_SourceFuncsCheckFieldCallback
forall a. FunPtr a
FP.nullFunPtr :: FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback)
#if ENABLE_OVERLOADING
data SourceFuncsCheckFieldInfo
instance AttrInfo SourceFuncsCheckFieldInfo where
type AttrAllowedOps SourceFuncsCheckFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint SourceFuncsCheckFieldInfo = (~) (FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback)
type AttrBaseTypeConstraint SourceFuncsCheckFieldInfo = (~) SourceFuncs
type AttrGetType SourceFuncsCheckFieldInfo = Maybe GLib.Callbacks.SourceFuncsCheckFieldCallback
type AttrLabel SourceFuncsCheckFieldInfo = "check"
type AttrOrigin SourceFuncsCheckFieldInfo = SourceFuncs
attrGet _ = getSourceFuncsCheck
attrSet _ = setSourceFuncsCheck
attrConstruct = undefined
attrClear _ = clearSourceFuncsCheck
sourceFuncs_check :: AttrLabelProxy "check"
sourceFuncs_check = AttrLabelProxy
#endif
getSourceFuncsFinalize :: MonadIO m => SourceFuncs -> m (Maybe GLib.Callbacks.SourceFuncsFinalizeFieldCallback)
getSourceFuncsFinalize :: SourceFuncs -> m (Maybe SourceFuncsFinalizeFieldCallback)
getSourceFuncsFinalize s :: SourceFuncs
s = IO (Maybe SourceFuncsFinalizeFieldCallback)
-> m (Maybe SourceFuncsFinalizeFieldCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe SourceFuncsFinalizeFieldCallback)
-> m (Maybe SourceFuncsFinalizeFieldCallback))
-> IO (Maybe SourceFuncsFinalizeFieldCallback)
-> m (Maybe SourceFuncsFinalizeFieldCallback)
forall a b. (a -> b) -> a -> b
$ SourceFuncs
-> (Ptr SourceFuncs -> IO (Maybe SourceFuncsFinalizeFieldCallback))
-> IO (Maybe SourceFuncsFinalizeFieldCallback)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
s ((Ptr SourceFuncs -> IO (Maybe SourceFuncsFinalizeFieldCallback))
-> IO (Maybe SourceFuncsFinalizeFieldCallback))
-> (Ptr SourceFuncs -> IO (Maybe SourceFuncsFinalizeFieldCallback))
-> IO (Maybe SourceFuncsFinalizeFieldCallback)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr SourceFuncs
ptr -> do
FunPtr C_SourceFuncsFinalizeFieldCallback
val <- Ptr (FunPtr C_SourceFuncsFinalizeFieldCallback)
-> IO (FunPtr C_SourceFuncsFinalizeFieldCallback)
forall a. Storable a => Ptr a -> IO a
peek (Ptr SourceFuncs
ptr Ptr SourceFuncs
-> Int -> Ptr (FunPtr C_SourceFuncsFinalizeFieldCallback)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24) :: IO (FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback)
Maybe SourceFuncsFinalizeFieldCallback
result <- FunPtr C_SourceFuncsFinalizeFieldCallback
-> (FunPtr C_SourceFuncsFinalizeFieldCallback
-> IO SourceFuncsFinalizeFieldCallback)
-> IO (Maybe SourceFuncsFinalizeFieldCallback)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr C_SourceFuncsFinalizeFieldCallback
val ((FunPtr C_SourceFuncsFinalizeFieldCallback
-> IO SourceFuncsFinalizeFieldCallback)
-> IO (Maybe SourceFuncsFinalizeFieldCallback))
-> (FunPtr C_SourceFuncsFinalizeFieldCallback
-> IO SourceFuncsFinalizeFieldCallback)
-> IO (Maybe SourceFuncsFinalizeFieldCallback)
forall a b. (a -> b) -> a -> b
$ \val' :: FunPtr C_SourceFuncsFinalizeFieldCallback
val' -> do
let val'' :: SourceFuncsFinalizeFieldCallback
val'' = FunPtr C_SourceFuncsFinalizeFieldCallback
-> SourceFuncsFinalizeFieldCallback
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_SourceFuncsFinalizeFieldCallback -> Source -> m ()
GLib.Callbacks.dynamic_SourceFuncsFinalizeFieldCallback FunPtr C_SourceFuncsFinalizeFieldCallback
val'
SourceFuncsFinalizeFieldCallback
-> IO SourceFuncsFinalizeFieldCallback
forall (m :: * -> *) a. Monad m => a -> m a
return SourceFuncsFinalizeFieldCallback
val''
Maybe SourceFuncsFinalizeFieldCallback
-> IO (Maybe SourceFuncsFinalizeFieldCallback)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe SourceFuncsFinalizeFieldCallback
result
setSourceFuncsFinalize :: MonadIO m => SourceFuncs -> FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback -> m ()
setSourceFuncsFinalize :: SourceFuncs -> FunPtr C_SourceFuncsFinalizeFieldCallback -> m ()
setSourceFuncsFinalize s :: SourceFuncs
s val :: FunPtr C_SourceFuncsFinalizeFieldCallback
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ SourceFuncs -> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
s ((Ptr SourceFuncs -> IO ()) -> IO ())
-> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr SourceFuncs
ptr -> do
Ptr (FunPtr C_SourceFuncsFinalizeFieldCallback)
-> FunPtr C_SourceFuncsFinalizeFieldCallback -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr SourceFuncs
ptr Ptr SourceFuncs
-> Int -> Ptr (FunPtr C_SourceFuncsFinalizeFieldCallback)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24) (FunPtr C_SourceFuncsFinalizeFieldCallback
val :: FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback)
clearSourceFuncsFinalize :: MonadIO m => SourceFuncs -> m ()
clearSourceFuncsFinalize :: SourceFuncs -> m ()
clearSourceFuncsFinalize s :: SourceFuncs
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ SourceFuncs -> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr SourceFuncs
s ((Ptr SourceFuncs -> IO ()) -> IO ())
-> (Ptr SourceFuncs -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr SourceFuncs
ptr -> do
Ptr (FunPtr C_SourceFuncsFinalizeFieldCallback)
-> FunPtr C_SourceFuncsFinalizeFieldCallback -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr SourceFuncs
ptr Ptr SourceFuncs
-> Int -> Ptr (FunPtr C_SourceFuncsFinalizeFieldCallback)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24) (FunPtr C_SourceFuncsFinalizeFieldCallback
forall a. FunPtr a
FP.nullFunPtr :: FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback)
#if ENABLE_OVERLOADING
data SourceFuncsFinalizeFieldInfo
instance AttrInfo SourceFuncsFinalizeFieldInfo where
type AttrAllowedOps SourceFuncsFinalizeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint SourceFuncsFinalizeFieldInfo = (~) (FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback)
type AttrBaseTypeConstraint SourceFuncsFinalizeFieldInfo = (~) SourceFuncs
type AttrGetType SourceFuncsFinalizeFieldInfo = Maybe GLib.Callbacks.SourceFuncsFinalizeFieldCallback
type AttrLabel SourceFuncsFinalizeFieldInfo = "finalize"
type AttrOrigin SourceFuncsFinalizeFieldInfo = SourceFuncs
attrGet _ = getSourceFuncsFinalize
attrSet _ = setSourceFuncsFinalize
attrConstruct = undefined
attrClear _ = clearSourceFuncsFinalize
sourceFuncs_finalize :: AttrLabelProxy "finalize"
sourceFuncs_finalize = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList SourceFuncs
type instance O.AttributeList SourceFuncs = SourceFuncsAttributeList
type SourceFuncsAttributeList = ('[ '("prepare", SourceFuncsPrepareFieldInfo), '("check", SourceFuncsCheckFieldInfo), '("finalize", SourceFuncsFinalizeFieldInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
type family ResolveSourceFuncsMethod (t :: Symbol) (o :: *) :: * where
ResolveSourceFuncsMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSourceFuncsMethod t SourceFuncs, O.MethodInfo info SourceFuncs p) => O.IsLabelProxy t (SourceFuncs -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveSourceFuncsMethod t SourceFuncs, O.MethodInfo info SourceFuncs p) => O.IsLabel t (SourceFuncs -> 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