gi-glib-0.2.46.13: GI/GLib/Structs/Source.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)
The `GSource` struct is an opaque data type
representing an event source.
-}
module GI.GLib.Structs.Source
(
-- * Exported types
Source(..) ,
newZeroSource ,
noSource ,
-- * Methods
-- ** sourceAddChildSource
SourceAddChildSourceMethodInfo ,
sourceAddChildSource ,
-- ** sourceAddPoll
SourceAddPollMethodInfo ,
sourceAddPoll ,
-- ** sourceAttach
SourceAttachMethodInfo ,
sourceAttach ,
-- ** sourceDestroy
SourceDestroyMethodInfo ,
sourceDestroy ,
-- ** sourceGetCanRecurse
SourceGetCanRecurseMethodInfo ,
sourceGetCanRecurse ,
-- ** sourceGetContext
SourceGetContextMethodInfo ,
sourceGetContext ,
-- ** sourceGetCurrentTime
SourceGetCurrentTimeMethodInfo ,
sourceGetCurrentTime ,
-- ** sourceGetId
SourceGetIdMethodInfo ,
sourceGetId ,
-- ** sourceGetName
SourceGetNameMethodInfo ,
sourceGetName ,
-- ** sourceGetPriority
SourceGetPriorityMethodInfo ,
sourceGetPriority ,
-- ** sourceGetReadyTime
SourceGetReadyTimeMethodInfo ,
sourceGetReadyTime ,
-- ** sourceGetTime
SourceGetTimeMethodInfo ,
sourceGetTime ,
-- ** sourceIsDestroyed
SourceIsDestroyedMethodInfo ,
sourceIsDestroyed ,
-- ** sourceModifyUnixFd
SourceModifyUnixFdMethodInfo ,
sourceModifyUnixFd ,
-- ** sourceNew
sourceNew ,
-- ** sourceQueryUnixFd
SourceQueryUnixFdMethodInfo ,
sourceQueryUnixFd ,
-- ** sourceRef
SourceRefMethodInfo ,
sourceRef ,
-- ** sourceRemove
sourceRemove ,
-- ** sourceRemoveByFuncsUserData
sourceRemoveByFuncsUserData ,
-- ** sourceRemoveByUserData
sourceRemoveByUserData ,
-- ** sourceRemoveChildSource
SourceRemoveChildSourceMethodInfo ,
sourceRemoveChildSource ,
-- ** sourceRemovePoll
SourceRemovePollMethodInfo ,
sourceRemovePoll ,
-- ** sourceRemoveUnixFd
SourceRemoveUnixFdMethodInfo ,
sourceRemoveUnixFd ,
-- ** sourceSetCallback
SourceSetCallbackMethodInfo ,
sourceSetCallback ,
-- ** sourceSetCallbackIndirect
SourceSetCallbackIndirectMethodInfo ,
sourceSetCallbackIndirect ,
-- ** sourceSetCanRecurse
SourceSetCanRecurseMethodInfo ,
sourceSetCanRecurse ,
-- ** sourceSetFuncs
SourceSetFuncsMethodInfo ,
sourceSetFuncs ,
-- ** sourceSetName
SourceSetNameMethodInfo ,
sourceSetName ,
-- ** sourceSetNameById
sourceSetNameById ,
-- ** sourceSetPriority
SourceSetPriorityMethodInfo ,
sourceSetPriority ,
-- ** sourceSetReadyTime
SourceSetReadyTimeMethodInfo ,
sourceSetReadyTime ,
-- ** sourceUnref
SourceUnrefMethodInfo ,
sourceUnref ,
) 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.GLib.Types
import GI.GLib.Callbacks
newtype Source = Source (ForeignPtr Source)
foreign import ccall "g_source_get_type" c_g_source_get_type ::
IO GType
instance BoxedObject Source where
boxedType _ = c_g_source_get_type
-- | Construct a `Source` struct initialized to zero.
newZeroSource :: MonadIO m => m Source
newZeroSource = liftIO $ callocBoxedBytes 96 >>= wrapBoxed Source
noSource :: Maybe Source
noSource = Nothing
-- method Source::new
-- method type : Constructor
-- Args : [Arg {argCName = "source_funcs", argType = TInterface "GLib" "SourceFuncs", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "struct_size", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "GLib" "Source"
-- throws : False
-- Skip return : False
foreign import ccall "g_source_new" g_source_new ::
Ptr SourceFuncs -> -- source_funcs : TInterface "GLib" "SourceFuncs"
Word32 -> -- struct_size : TBasicType TUInt32
IO (Ptr Source)
sourceNew ::
(MonadIO m) =>
SourceFuncs -- sourceFuncs
-> Word32 -- structSize
-> m Source -- result
sourceNew sourceFuncs structSize = liftIO $ do
let sourceFuncs' = unsafeManagedPtrGetPtr sourceFuncs
result <- g_source_new sourceFuncs' structSize
checkUnexpectedReturnNULL "g_source_new" result
result' <- (wrapBoxed Source) result
touchManagedPtr sourceFuncs
return result'
-- method Source::add_child_source
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_source", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_add_child_source" g_source_add_child_source ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr Source -> -- child_source : TInterface "GLib" "Source"
IO ()
sourceAddChildSource ::
(MonadIO m) =>
Source -- _obj
-> Source -- childSource
-> m () -- result
sourceAddChildSource _obj childSource = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let childSource' = unsafeManagedPtrGetPtr childSource
g_source_add_child_source _obj' childSource'
touchManagedPtr _obj
touchManagedPtr childSource
return ()
data SourceAddChildSourceMethodInfo
instance (signature ~ (Source -> m ()), MonadIO m) => MethodInfo SourceAddChildSourceMethodInfo Source signature where
overloadedMethod _ = sourceAddChildSource
-- method Source::add_poll
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface "GLib" "PollFD", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_add_poll" g_source_add_poll ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr PollFD -> -- fd : TInterface "GLib" "PollFD"
IO ()
sourceAddPoll ::
(MonadIO m) =>
Source -- _obj
-> PollFD -- fd
-> m () -- result
sourceAddPoll _obj fd = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let fd' = unsafeManagedPtrGetPtr fd
g_source_add_poll _obj' fd'
touchManagedPtr _obj
touchManagedPtr fd
return ()
data SourceAddPollMethodInfo
instance (signature ~ (PollFD -> m ()), MonadIO m) => MethodInfo SourceAddPollMethodInfo Source signature where
overloadedMethod _ = sourceAddPoll
-- method Source::attach
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface "GLib" "MainContext", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_source_attach" g_source_attach ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr MainContext -> -- context : TInterface "GLib" "MainContext"
IO Word32
sourceAttach ::
(MonadIO m) =>
Source -- _obj
-> Maybe (MainContext) -- context
-> m Word32 -- result
sourceAttach _obj context = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
maybeContext <- case context of
Nothing -> return nullPtr
Just jContext -> do
let jContext' = unsafeManagedPtrGetPtr jContext
return jContext'
result <- g_source_attach _obj' maybeContext
touchManagedPtr _obj
whenJust context touchManagedPtr
return result
data SourceAttachMethodInfo
instance (signature ~ (Maybe (MainContext) -> m Word32), MonadIO m) => MethodInfo SourceAttachMethodInfo Source signature where
overloadedMethod _ = sourceAttach
-- method Source::destroy
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_destroy" g_source_destroy ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO ()
sourceDestroy ::
(MonadIO m) =>
Source -- _obj
-> m () -- result
sourceDestroy _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_source_destroy _obj'
touchManagedPtr _obj
return ()
data SourceDestroyMethodInfo
instance (signature ~ (m ()), MonadIO m) => MethodInfo SourceDestroyMethodInfo Source signature where
overloadedMethod _ = sourceDestroy
-- method Source::get_can_recurse
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_source_get_can_recurse" g_source_get_can_recurse ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO CInt
sourceGetCanRecurse ::
(MonadIO m) =>
Source -- _obj
-> m Bool -- result
sourceGetCanRecurse _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_get_can_recurse _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data SourceGetCanRecurseMethodInfo
instance (signature ~ (m Bool), MonadIO m) => MethodInfo SourceGetCanRecurseMethodInfo Source signature where
overloadedMethod _ = sourceGetCanRecurse
-- method Source::get_context
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "GLib" "MainContext"
-- throws : False
-- Skip return : False
foreign import ccall "g_source_get_context" g_source_get_context ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO (Ptr MainContext)
sourceGetContext ::
(MonadIO m) =>
Source -- _obj
-> m MainContext -- result
sourceGetContext _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_get_context _obj'
checkUnexpectedReturnNULL "g_source_get_context" result
result' <- (newBoxed MainContext) result
touchManagedPtr _obj
return result'
data SourceGetContextMethodInfo
instance (signature ~ (m MainContext), MonadIO m) => MethodInfo SourceGetContextMethodInfo Source signature where
overloadedMethod _ = sourceGetContext
-- method Source::get_current_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeval", argType = TInterface "GLib" "TimeVal", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_get_current_time" g_source_get_current_time ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr TimeVal -> -- timeval : TInterface "GLib" "TimeVal"
IO ()
{-# DEPRECATED sourceGetCurrentTime ["(Since version 2.28)","use g_source_get_time() instead"]#-}
sourceGetCurrentTime ::
(MonadIO m) =>
Source -- _obj
-> TimeVal -- timeval
-> m () -- result
sourceGetCurrentTime _obj timeval = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let timeval' = unsafeManagedPtrGetPtr timeval
g_source_get_current_time _obj' timeval'
touchManagedPtr _obj
touchManagedPtr timeval
return ()
data SourceGetCurrentTimeMethodInfo
instance (signature ~ (TimeVal -> m ()), MonadIO m) => MethodInfo SourceGetCurrentTimeMethodInfo Source signature where
overloadedMethod _ = sourceGetCurrentTime
-- method Source::get_id
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_source_get_id" g_source_get_id ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO Word32
sourceGetId ::
(MonadIO m) =>
Source -- _obj
-> m Word32 -- result
sourceGetId _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_get_id _obj'
touchManagedPtr _obj
return result
data SourceGetIdMethodInfo
instance (signature ~ (m Word32), MonadIO m) => MethodInfo SourceGetIdMethodInfo Source signature where
overloadedMethod _ = sourceGetId
-- method Source::get_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "g_source_get_name" g_source_get_name ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO CString
sourceGetName ::
(MonadIO m) =>
Source -- _obj
-> m T.Text -- result
sourceGetName _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_get_name _obj'
checkUnexpectedReturnNULL "g_source_get_name" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
data SourceGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => MethodInfo SourceGetNameMethodInfo Source signature where
overloadedMethod _ = sourceGetName
-- method Source::get_priority
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_source_get_priority" g_source_get_priority ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO Int32
sourceGetPriority ::
(MonadIO m) =>
Source -- _obj
-> m Int32 -- result
sourceGetPriority _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_get_priority _obj'
touchManagedPtr _obj
return result
data SourceGetPriorityMethodInfo
instance (signature ~ (m Int32), MonadIO m) => MethodInfo SourceGetPriorityMethodInfo Source signature where
overloadedMethod _ = sourceGetPriority
-- method Source::get_ready_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False
foreign import ccall "g_source_get_ready_time" g_source_get_ready_time ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO Int64
sourceGetReadyTime ::
(MonadIO m) =>
Source -- _obj
-> m Int64 -- result
sourceGetReadyTime _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_get_ready_time _obj'
touchManagedPtr _obj
return result
data SourceGetReadyTimeMethodInfo
instance (signature ~ (m Int64), MonadIO m) => MethodInfo SourceGetReadyTimeMethodInfo Source signature where
overloadedMethod _ = sourceGetReadyTime
-- method Source::get_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False
foreign import ccall "g_source_get_time" g_source_get_time ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO Int64
sourceGetTime ::
(MonadIO m) =>
Source -- _obj
-> m Int64 -- result
sourceGetTime _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_get_time _obj'
touchManagedPtr _obj
return result
data SourceGetTimeMethodInfo
instance (signature ~ (m Int64), MonadIO m) => MethodInfo SourceGetTimeMethodInfo Source signature where
overloadedMethod _ = sourceGetTime
-- method Source::is_destroyed
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_source_is_destroyed" g_source_is_destroyed ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO CInt
sourceIsDestroyed ::
(MonadIO m) =>
Source -- _obj
-> m Bool -- result
sourceIsDestroyed _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_is_destroyed _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data SourceIsDestroyedMethodInfo
instance (signature ~ (m Bool), MonadIO m) => MethodInfo SourceIsDestroyedMethodInfo Source signature where
overloadedMethod _ = sourceIsDestroyed
-- method Source::modify_unix_fd
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_events", argType = TInterface "GLib" "IOCondition", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_modify_unix_fd" g_source_modify_unix_fd ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr () -> -- tag : TBasicType TVoid
CUInt -> -- new_events : TInterface "GLib" "IOCondition"
IO ()
sourceModifyUnixFd ::
(MonadIO m) =>
Source -- _obj
-> Ptr () -- tag
-> [IOCondition] -- newEvents
-> m () -- result
sourceModifyUnixFd _obj tag newEvents = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let newEvents' = gflagsToWord newEvents
g_source_modify_unix_fd _obj' tag newEvents'
touchManagedPtr _obj
return ()
data SourceModifyUnixFdMethodInfo
instance (signature ~ (Ptr () -> [IOCondition] -> m ()), MonadIO m) => MethodInfo SourceModifyUnixFdMethodInfo Source signature where
overloadedMethod _ = sourceModifyUnixFd
-- method Source::query_unix_fd
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "GLib" "IOCondition"
-- throws : False
-- Skip return : False
foreign import ccall "g_source_query_unix_fd" g_source_query_unix_fd ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr () -> -- tag : TBasicType TVoid
IO CUInt
sourceQueryUnixFd ::
(MonadIO m) =>
Source -- _obj
-> Ptr () -- tag
-> m [IOCondition] -- result
sourceQueryUnixFd _obj tag = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_query_unix_fd _obj' tag
let result' = wordToGFlags result
touchManagedPtr _obj
return result'
data SourceQueryUnixFdMethodInfo
instance (signature ~ (Ptr () -> m [IOCondition]), MonadIO m) => MethodInfo SourceQueryUnixFdMethodInfo Source signature where
overloadedMethod _ = sourceQueryUnixFd
-- method Source::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "GLib" "Source"
-- throws : False
-- Skip return : False
foreign import ccall "g_source_ref" g_source_ref ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO (Ptr Source)
sourceRef ::
(MonadIO m) =>
Source -- _obj
-> m Source -- result
sourceRef _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- g_source_ref _obj'
checkUnexpectedReturnNULL "g_source_ref" result
result' <- (wrapBoxed Source) result
touchManagedPtr _obj
return result'
data SourceRefMethodInfo
instance (signature ~ (m Source), MonadIO m) => MethodInfo SourceRefMethodInfo Source signature where
overloadedMethod _ = sourceRef
-- method Source::remove_child_source
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_source", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_remove_child_source" g_source_remove_child_source ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr Source -> -- child_source : TInterface "GLib" "Source"
IO ()
sourceRemoveChildSource ::
(MonadIO m) =>
Source -- _obj
-> Source -- childSource
-> m () -- result
sourceRemoveChildSource _obj childSource = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let childSource' = unsafeManagedPtrGetPtr childSource
g_source_remove_child_source _obj' childSource'
touchManagedPtr _obj
touchManagedPtr childSource
return ()
data SourceRemoveChildSourceMethodInfo
instance (signature ~ (Source -> m ()), MonadIO m) => MethodInfo SourceRemoveChildSourceMethodInfo Source signature where
overloadedMethod _ = sourceRemoveChildSource
-- method Source::remove_poll
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface "GLib" "PollFD", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_remove_poll" g_source_remove_poll ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr PollFD -> -- fd : TInterface "GLib" "PollFD"
IO ()
sourceRemovePoll ::
(MonadIO m) =>
Source -- _obj
-> PollFD -- fd
-> m () -- result
sourceRemovePoll _obj fd = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let fd' = unsafeManagedPtrGetPtr fd
g_source_remove_poll _obj' fd'
touchManagedPtr _obj
touchManagedPtr fd
return ()
data SourceRemovePollMethodInfo
instance (signature ~ (PollFD -> m ()), MonadIO m) => MethodInfo SourceRemovePollMethodInfo Source signature where
overloadedMethod _ = sourceRemovePoll
-- method Source::remove_unix_fd
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_remove_unix_fd" g_source_remove_unix_fd ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr () -> -- tag : TBasicType TVoid
IO ()
sourceRemoveUnixFd ::
(MonadIO m) =>
Source -- _obj
-> Ptr () -- tag
-> m () -- result
sourceRemoveUnixFd _obj tag = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_source_remove_unix_fd _obj' tag
touchManagedPtr _obj
return ()
data SourceRemoveUnixFdMethodInfo
instance (signature ~ (Ptr () -> m ()), MonadIO m) => MethodInfo SourceRemoveUnixFdMethodInfo Source signature where
overloadedMethod _ = sourceRemoveUnixFd
-- method Source::set_callback
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface "GLib" "SourceFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_set_callback" g_source_set_callback ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
FunPtr SourceFuncC -> -- func : TInterface "GLib" "SourceFunc"
Ptr () -> -- data : TBasicType TVoid
FunPtr DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
sourceSetCallback ::
(MonadIO m) =>
Source -- _obj
-> SourceFunc -- func
-> m () -- result
sourceSetCallback _obj func = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
func' <- mkSourceFunc (sourceFuncWrapper Nothing func)
let data_ = castFunPtrToPtr func'
let notify = safeFreeFunPtrPtr
g_source_set_callback _obj' func' data_ notify
touchManagedPtr _obj
return ()
data SourceSetCallbackMethodInfo
instance (signature ~ (SourceFunc -> m ()), MonadIO m) => MethodInfo SourceSetCallbackMethodInfo Source signature where
overloadedMethod _ = sourceSetCallback
-- method Source::set_callback_indirect
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_funcs", argType = TInterface "GLib" "SourceCallbackFuncs", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_set_callback_indirect" g_source_set_callback_indirect ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr () -> -- callback_data : TBasicType TVoid
Ptr SourceCallbackFuncs -> -- callback_funcs : TInterface "GLib" "SourceCallbackFuncs"
IO ()
sourceSetCallbackIndirect ::
(MonadIO m) =>
Source -- _obj
-> Ptr () -- callbackData
-> SourceCallbackFuncs -- callbackFuncs
-> m () -- result
sourceSetCallbackIndirect _obj callbackData callbackFuncs = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let callbackFuncs' = unsafeManagedPtrGetPtr callbackFuncs
g_source_set_callback_indirect _obj' callbackData callbackFuncs'
touchManagedPtr _obj
touchManagedPtr callbackFuncs
return ()
data SourceSetCallbackIndirectMethodInfo
instance (signature ~ (Ptr () -> SourceCallbackFuncs -> m ()), MonadIO m) => MethodInfo SourceSetCallbackIndirectMethodInfo Source signature where
overloadedMethod _ = sourceSetCallbackIndirect
-- method Source::set_can_recurse
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "can_recurse", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_set_can_recurse" g_source_set_can_recurse ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
CInt -> -- can_recurse : TBasicType TBoolean
IO ()
sourceSetCanRecurse ::
(MonadIO m) =>
Source -- _obj
-> Bool -- canRecurse
-> m () -- result
sourceSetCanRecurse _obj canRecurse = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let canRecurse' = (fromIntegral . fromEnum) canRecurse
g_source_set_can_recurse _obj' canRecurse'
touchManagedPtr _obj
return ()
data SourceSetCanRecurseMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m) => MethodInfo SourceSetCanRecurseMethodInfo Source signature where
overloadedMethod _ = sourceSetCanRecurse
-- method Source::set_funcs
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "funcs", argType = TInterface "GLib" "SourceFuncs", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_set_funcs" g_source_set_funcs ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Ptr SourceFuncs -> -- funcs : TInterface "GLib" "SourceFuncs"
IO ()
sourceSetFuncs ::
(MonadIO m) =>
Source -- _obj
-> SourceFuncs -- funcs
-> m () -- result
sourceSetFuncs _obj funcs = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let funcs' = unsafeManagedPtrGetPtr funcs
g_source_set_funcs _obj' funcs'
touchManagedPtr _obj
touchManagedPtr funcs
return ()
data SourceSetFuncsMethodInfo
instance (signature ~ (SourceFuncs -> m ()), MonadIO m) => MethodInfo SourceSetFuncsMethodInfo Source signature where
overloadedMethod _ = sourceSetFuncs
-- method Source::set_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_set_name" g_source_set_name ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
CString -> -- name : TBasicType TUTF8
IO ()
sourceSetName ::
(MonadIO m) =>
Source -- _obj
-> T.Text -- name
-> m () -- result
sourceSetName _obj name = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
name' <- textToCString name
g_source_set_name _obj' name'
touchManagedPtr _obj
freeMem name'
return ()
data SourceSetNameMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => MethodInfo SourceSetNameMethodInfo Source signature where
overloadedMethod _ = sourceSetName
-- method Source::set_priority
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_set_priority" g_source_set_priority ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Int32 -> -- priority : TBasicType TInt32
IO ()
sourceSetPriority ::
(MonadIO m) =>
Source -- _obj
-> Int32 -- priority
-> m () -- result
sourceSetPriority _obj priority = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_source_set_priority _obj' priority
touchManagedPtr _obj
return ()
data SourceSetPriorityMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m) => MethodInfo SourceSetPriorityMethodInfo Source signature where
overloadedMethod _ = sourceSetPriority
-- method Source::set_ready_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ready_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_set_ready_time" g_source_set_ready_time ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
Int64 -> -- ready_time : TBasicType TInt64
IO ()
sourceSetReadyTime ::
(MonadIO m) =>
Source -- _obj
-> Int64 -- readyTime
-> m () -- result
sourceSetReadyTime _obj readyTime = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_source_set_ready_time _obj' readyTime
touchManagedPtr _obj
return ()
data SourceSetReadyTimeMethodInfo
instance (signature ~ (Int64 -> m ()), MonadIO m) => MethodInfo SourceSetReadyTimeMethodInfo Source signature where
overloadedMethod _ = sourceSetReadyTime
-- method Source::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GLib" "Source", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_unref" g_source_unref ::
Ptr Source -> -- _obj : TInterface "GLib" "Source"
IO ()
sourceUnref ::
(MonadIO m) =>
Source -- _obj
-> m () -- result
sourceUnref _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
g_source_unref _obj'
touchManagedPtr _obj
return ()
data SourceUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => MethodInfo SourceUnrefMethodInfo Source signature where
overloadedMethod _ = sourceUnref
-- method Source::remove
-- method type : MemberFunction
-- Args : [Arg {argCName = "tag", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_source_remove" g_source_remove ::
Word32 -> -- tag : TBasicType TUInt32
IO CInt
sourceRemove ::
(MonadIO m) =>
Word32 -- tag
-> m Bool -- result
sourceRemove tag = liftIO $ do
result <- g_source_remove tag
let result' = (/= 0) result
return result'
-- method Source::remove_by_funcs_user_data
-- method type : MemberFunction
-- Args : [Arg {argCName = "funcs", argType = TInterface "GLib" "SourceFuncs", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_source_remove_by_funcs_user_data" g_source_remove_by_funcs_user_data ::
Ptr SourceFuncs -> -- funcs : TInterface "GLib" "SourceFuncs"
Ptr () -> -- user_data : TBasicType TVoid
IO CInt
sourceRemoveByFuncsUserData ::
(MonadIO m) =>
SourceFuncs -- funcs
-> Ptr () -- userData
-> m Bool -- result
sourceRemoveByFuncsUserData funcs userData = liftIO $ do
let funcs' = unsafeManagedPtrGetPtr funcs
result <- g_source_remove_by_funcs_user_data funcs' userData
let result' = (/= 0) result
touchManagedPtr funcs
return result'
-- method Source::remove_by_user_data
-- method type : MemberFunction
-- Args : [Arg {argCName = "user_data", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_source_remove_by_user_data" g_source_remove_by_user_data ::
Ptr () -> -- user_data : TBasicType TVoid
IO CInt
sourceRemoveByUserData ::
(MonadIO m) =>
Ptr () -- userData
-> m Bool -- result
sourceRemoveByUserData userData = liftIO $ do
result <- g_source_remove_by_user_data userData
let result' = (/= 0) result
return result'
-- method Source::set_name_by_id
-- method type : MemberFunction
-- Args : [Arg {argCName = "tag", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_source_set_name_by_id" g_source_set_name_by_id ::
Word32 -> -- tag : TBasicType TUInt32
CString -> -- name : TBasicType TUTF8
IO ()
sourceSetNameById ::
(MonadIO m) =>
Word32 -- tag
-> T.Text -- name
-> m () -- result
sourceSetNameById tag name = liftIO $ do
name' <- textToCString name
g_source_set_name_by_id tag name'
freeMem name'
return ()
type family ResolveSourceMethod (t :: Symbol) (o :: *) :: * where
ResolveSourceMethod "addChildSource" o = SourceAddChildSourceMethodInfo
ResolveSourceMethod "addPoll" o = SourceAddPollMethodInfo
ResolveSourceMethod "attach" o = SourceAttachMethodInfo
ResolveSourceMethod "destroy" o = SourceDestroyMethodInfo
ResolveSourceMethod "isDestroyed" o = SourceIsDestroyedMethodInfo
ResolveSourceMethod "modifyUnixFd" o = SourceModifyUnixFdMethodInfo
ResolveSourceMethod "queryUnixFd" o = SourceQueryUnixFdMethodInfo
ResolveSourceMethod "ref" o = SourceRefMethodInfo
ResolveSourceMethod "removeChildSource" o = SourceRemoveChildSourceMethodInfo
ResolveSourceMethod "removePoll" o = SourceRemovePollMethodInfo
ResolveSourceMethod "removeUnixFd" o = SourceRemoveUnixFdMethodInfo
ResolveSourceMethod "unref" o = SourceUnrefMethodInfo
ResolveSourceMethod "getCanRecurse" o = SourceGetCanRecurseMethodInfo
ResolveSourceMethod "getContext" o = SourceGetContextMethodInfo
ResolveSourceMethod "getCurrentTime" o = SourceGetCurrentTimeMethodInfo
ResolveSourceMethod "getId" o = SourceGetIdMethodInfo
ResolveSourceMethod "getName" o = SourceGetNameMethodInfo
ResolveSourceMethod "getPriority" o = SourceGetPriorityMethodInfo
ResolveSourceMethod "getReadyTime" o = SourceGetReadyTimeMethodInfo
ResolveSourceMethod "getTime" o = SourceGetTimeMethodInfo
ResolveSourceMethod "setCallback" o = SourceSetCallbackMethodInfo
ResolveSourceMethod "setCallbackIndirect" o = SourceSetCallbackIndirectMethodInfo
ResolveSourceMethod "setCanRecurse" o = SourceSetCanRecurseMethodInfo
ResolveSourceMethod "setFuncs" o = SourceSetFuncsMethodInfo
ResolveSourceMethod "setName" o = SourceSetNameMethodInfo
ResolveSourceMethod "setPriority" o = SourceSetPriorityMethodInfo
ResolveSourceMethod "setReadyTime" o = SourceSetReadyTimeMethodInfo
ResolveSourceMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveSourceMethod t Source, MethodInfo info Source p) => IsLabelProxy t (Source -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveSourceMethod t Source, MethodInfo info Source p) => IsLabel t (Source -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif