gi-gst-0.1.6.13: GI/Gst/Objects/Task.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)
-}
module GI.Gst.Objects.Task
(
-- * Exported types
Task(..) ,
TaskK ,
toTask ,
noTask ,
-- * Methods
-- ** taskCleanupAll
taskCleanupAll ,
-- ** taskGetPool
TaskGetPoolMethodInfo ,
taskGetPool ,
-- ** taskGetState
TaskGetStateMethodInfo ,
taskGetState ,
-- ** taskJoin
TaskJoinMethodInfo ,
taskJoin ,
-- ** taskNew
taskNew ,
-- ** taskPause
TaskPauseMethodInfo ,
taskPause ,
-- ** taskSetEnterCallback
TaskSetEnterCallbackMethodInfo ,
taskSetEnterCallback ,
-- ** taskSetLeaveCallback
TaskSetLeaveCallbackMethodInfo ,
taskSetLeaveCallback ,
-- ** taskSetLock
TaskSetLockMethodInfo ,
taskSetLock ,
-- ** taskSetPool
TaskSetPoolMethodInfo ,
taskSetPool ,
-- ** taskSetState
TaskSetStateMethodInfo ,
taskSetState ,
-- ** taskStart
TaskStartMethodInfo ,
taskStart ,
-- ** taskStop
TaskStopMethodInfo ,
taskStop ,
) 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.Gst.Types
import GI.Gst.Callbacks
import qualified GI.GLib as GLib
import qualified GI.GObject as GObject
newtype Task = Task (ForeignPtr Task)
foreign import ccall "gst_task_get_type"
c_gst_task_get_type :: IO GType
type instance ParentTypes Task = TaskParentTypes
type TaskParentTypes = '[Object, GObject.Object]
instance GObject Task where
gobjectIsInitiallyUnowned _ = True
gobjectType _ = c_gst_task_get_type
class GObject o => TaskK o
instance (GObject o, IsDescendantOf Task o) => TaskK o
toTask :: TaskK o => o -> IO Task
toTask = unsafeCastTo Task
noTask :: Maybe Task
noTask = Nothing
type family ResolveTaskMethod (t :: Symbol) (o :: *) :: * where
ResolveTaskMethod "addControlBinding" o = ObjectAddControlBindingMethodInfo
ResolveTaskMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveTaskMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveTaskMethod "defaultError" o = ObjectDefaultErrorMethodInfo
ResolveTaskMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveTaskMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveTaskMethod "hasActiveControlBindings" o = ObjectHasActiveControlBindingsMethodInfo
ResolveTaskMethod "hasAncestor" o = ObjectHasAncestorMethodInfo
ResolveTaskMethod "hasAsAncestor" o = ObjectHasAsAncestorMethodInfo
ResolveTaskMethod "hasAsParent" o = ObjectHasAsParentMethodInfo
ResolveTaskMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveTaskMethod "join" o = TaskJoinMethodInfo
ResolveTaskMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveTaskMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveTaskMethod "pause" o = TaskPauseMethodInfo
ResolveTaskMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveTaskMethod "removeControlBinding" o = ObjectRemoveControlBindingMethodInfo
ResolveTaskMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveTaskMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveTaskMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveTaskMethod "start" o = TaskStartMethodInfo
ResolveTaskMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveTaskMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveTaskMethod "stop" o = TaskStopMethodInfo
ResolveTaskMethod "suggestNextSync" o = ObjectSuggestNextSyncMethodInfo
ResolveTaskMethod "syncValues" o = ObjectSyncValuesMethodInfo
ResolveTaskMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveTaskMethod "unparent" o = ObjectUnparentMethodInfo
ResolveTaskMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveTaskMethod "getControlBinding" o = ObjectGetControlBindingMethodInfo
ResolveTaskMethod "getControlRate" o = ObjectGetControlRateMethodInfo
ResolveTaskMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveTaskMethod "getGValueArray" o = ObjectGetGValueArrayMethodInfo
ResolveTaskMethod "getName" o = ObjectGetNameMethodInfo
ResolveTaskMethod "getParent" o = ObjectGetParentMethodInfo
ResolveTaskMethod "getPathString" o = ObjectGetPathStringMethodInfo
ResolveTaskMethod "getPool" o = TaskGetPoolMethodInfo
ResolveTaskMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveTaskMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveTaskMethod "getState" o = TaskGetStateMethodInfo
ResolveTaskMethod "getValue" o = ObjectGetValueMethodInfo
ResolveTaskMethod "getValueArray" o = ObjectGetValueArrayMethodInfo
ResolveTaskMethod "setControlBindingDisabled" o = ObjectSetControlBindingDisabledMethodInfo
ResolveTaskMethod "setControlBindingsDisabled" o = ObjectSetControlBindingsDisabledMethodInfo
ResolveTaskMethod "setControlRate" o = ObjectSetControlRateMethodInfo
ResolveTaskMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveTaskMethod "setEnterCallback" o = TaskSetEnterCallbackMethodInfo
ResolveTaskMethod "setLeaveCallback" o = TaskSetLeaveCallbackMethodInfo
ResolveTaskMethod "setLock" o = TaskSetLockMethodInfo
ResolveTaskMethod "setName" o = ObjectSetNameMethodInfo
ResolveTaskMethod "setParent" o = ObjectSetParentMethodInfo
ResolveTaskMethod "setPool" o = TaskSetPoolMethodInfo
ResolveTaskMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveTaskMethod "setState" o = TaskSetStateMethodInfo
ResolveTaskMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveTaskMethod t Task, MethodInfo info Task p) => IsLabelProxy t (Task -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveTaskMethod t Task, MethodInfo info Task p) => IsLabel t (Task -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
type instance AttributeList Task = TaskAttributeList
type TaskAttributeList = ('[ '("name", ObjectNamePropertyInfo), '("parent", ObjectParentPropertyInfo)] :: [(Symbol, *)])
type instance SignalList Task = TaskSignalList
type TaskSignalList = ('[ '("deepNotify", ObjectDeepNotifySignalInfo), '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method Task::new
-- method type : Constructor
-- Args : [Arg {argCName = "func", argType = TInterface "Gst" "TaskFunction", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, 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},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Task"
-- throws : False
-- Skip return : False
foreign import ccall "gst_task_new" gst_task_new ::
FunPtr TaskFunctionC -> -- func : TInterface "Gst" "TaskFunction"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO (Ptr Task)
taskNew ::
(MonadIO m) =>
TaskFunction -- func
-> m Task -- result
taskNew func = liftIO $ do
func' <- mkTaskFunction (taskFunctionWrapper Nothing func)
let userData = castFunPtrToPtr func'
let notify = safeFreeFunPtrPtr
result <- gst_task_new func' userData notify
checkUnexpectedReturnNULL "gst_task_new" result
result' <- (wrapObject Task) result
return result'
-- method Task::get_pool
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "TaskPool"
-- throws : False
-- Skip return : False
foreign import ccall "gst_task_get_pool" gst_task_get_pool ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
IO (Ptr TaskPool)
taskGetPool ::
(MonadIO m, TaskK a) =>
a -- _obj
-> m TaskPool -- result
taskGetPool _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_task_get_pool _obj'
checkUnexpectedReturnNULL "gst_task_get_pool" result
result' <- (wrapObject TaskPool) result
touchManagedPtr _obj
return result'
data TaskGetPoolMethodInfo
instance (signature ~ (m TaskPool), MonadIO m, TaskK a) => MethodInfo TaskGetPoolMethodInfo a signature where
overloadedMethod _ = taskGetPool
-- method Task::get_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "TaskState"
-- throws : False
-- Skip return : False
foreign import ccall "gst_task_get_state" gst_task_get_state ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
IO CUInt
taskGetState ::
(MonadIO m, TaskK a) =>
a -- _obj
-> m TaskState -- result
taskGetState _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_task_get_state _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data TaskGetStateMethodInfo
instance (signature ~ (m TaskState), MonadIO m, TaskK a) => MethodInfo TaskGetStateMethodInfo a signature where
overloadedMethod _ = taskGetState
-- method Task::join
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", 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 "gst_task_join" gst_task_join ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
IO CInt
taskJoin ::
(MonadIO m, TaskK a) =>
a -- _obj
-> m Bool -- result
taskJoin _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_task_join _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data TaskJoinMethodInfo
instance (signature ~ (m Bool), MonadIO m, TaskK a) => MethodInfo TaskJoinMethodInfo a signature where
overloadedMethod _ = taskJoin
-- method Task::pause
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", 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 "gst_task_pause" gst_task_pause ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
IO CInt
taskPause ::
(MonadIO m, TaskK a) =>
a -- _obj
-> m Bool -- result
taskPause _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_task_pause _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data TaskPauseMethodInfo
instance (signature ~ (m Bool), MonadIO m, TaskK a) => MethodInfo TaskPauseMethodInfo a signature where
overloadedMethod _ = taskPause
-- method Task::set_enter_callback
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enter_func", argType = TInterface "Gst" "TaskThreadFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, 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},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_task_set_enter_callback" gst_task_set_enter_callback ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
FunPtr TaskThreadFuncC -> -- enter_func : TInterface "Gst" "TaskThreadFunc"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
taskSetEnterCallback ::
(MonadIO m, TaskK a) =>
a -- _obj
-> TaskThreadFunc -- enterFunc
-> m () -- result
taskSetEnterCallback _obj enterFunc = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
enterFunc' <- mkTaskThreadFunc (taskThreadFuncWrapper Nothing enterFunc)
let userData = castFunPtrToPtr enterFunc'
let notify = safeFreeFunPtrPtr
gst_task_set_enter_callback _obj' enterFunc' userData notify
touchManagedPtr _obj
return ()
data TaskSetEnterCallbackMethodInfo
instance (signature ~ (TaskThreadFunc -> m ()), MonadIO m, TaskK a) => MethodInfo TaskSetEnterCallbackMethodInfo a signature where
overloadedMethod _ = taskSetEnterCallback
-- method Task::set_leave_callback
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "leave_func", argType = TInterface "Gst" "TaskThreadFunc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, 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},Arg {argCName = "notify", argType = TInterface "GLib" "DestroyNotify", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_task_set_leave_callback" gst_task_set_leave_callback ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
FunPtr TaskThreadFuncC -> -- leave_func : TInterface "Gst" "TaskThreadFunc"
Ptr () -> -- user_data : TBasicType TVoid
FunPtr GLib.DestroyNotifyC -> -- notify : TInterface "GLib" "DestroyNotify"
IO ()
taskSetLeaveCallback ::
(MonadIO m, TaskK a) =>
a -- _obj
-> TaskThreadFunc -- leaveFunc
-> m () -- result
taskSetLeaveCallback _obj leaveFunc = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
leaveFunc' <- mkTaskThreadFunc (taskThreadFuncWrapper Nothing leaveFunc)
let userData = castFunPtrToPtr leaveFunc'
let notify = safeFreeFunPtrPtr
gst_task_set_leave_callback _obj' leaveFunc' userData notify
touchManagedPtr _obj
return ()
data TaskSetLeaveCallbackMethodInfo
instance (signature ~ (TaskThreadFunc -> m ()), MonadIO m, TaskK a) => MethodInfo TaskSetLeaveCallbackMethodInfo a signature where
overloadedMethod _ = taskSetLeaveCallback
-- method Task::set_lock
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mutex", argType = TInterface "GLib" "RecMutex", 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 "gst_task_set_lock" gst_task_set_lock ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
Ptr GLib.RecMutex -> -- mutex : TInterface "GLib" "RecMutex"
IO ()
taskSetLock ::
(MonadIO m, TaskK a) =>
a -- _obj
-> GLib.RecMutex -- mutex
-> m () -- result
taskSetLock _obj mutex = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let mutex' = unsafeManagedPtrGetPtr mutex
gst_task_set_lock _obj' mutex'
touchManagedPtr _obj
touchManagedPtr mutex
return ()
data TaskSetLockMethodInfo
instance (signature ~ (GLib.RecMutex -> m ()), MonadIO m, TaskK a) => MethodInfo TaskSetLockMethodInfo a signature where
overloadedMethod _ = taskSetLock
-- method Task::set_pool
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pool", argType = TInterface "Gst" "TaskPool", 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 "gst_task_set_pool" gst_task_set_pool ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
Ptr TaskPool -> -- pool : TInterface "Gst" "TaskPool"
IO ()
taskSetPool ::
(MonadIO m, TaskK a, TaskPoolK b) =>
a -- _obj
-> b -- pool
-> m () -- result
taskSetPool _obj pool = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let pool' = unsafeManagedPtrCastPtr pool
gst_task_set_pool _obj' pool'
touchManagedPtr _obj
touchManagedPtr pool
return ()
data TaskSetPoolMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, TaskK a, TaskPoolK b) => MethodInfo TaskSetPoolMethodInfo a signature where
overloadedMethod _ = taskSetPool
-- method Task::set_state
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface "Gst" "TaskState", 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 "gst_task_set_state" gst_task_set_state ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
CUInt -> -- state : TInterface "Gst" "TaskState"
IO CInt
taskSetState ::
(MonadIO m, TaskK a) =>
a -- _obj
-> TaskState -- state
-> m Bool -- result
taskSetState _obj state = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let state' = (fromIntegral . fromEnum) state
result <- gst_task_set_state _obj' state'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data TaskSetStateMethodInfo
instance (signature ~ (TaskState -> m Bool), MonadIO m, TaskK a) => MethodInfo TaskSetStateMethodInfo a signature where
overloadedMethod _ = taskSetState
-- method Task::start
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", 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 "gst_task_start" gst_task_start ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
IO CInt
taskStart ::
(MonadIO m, TaskK a) =>
a -- _obj
-> m Bool -- result
taskStart _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_task_start _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data TaskStartMethodInfo
instance (signature ~ (m Bool), MonadIO m, TaskK a) => MethodInfo TaskStartMethodInfo a signature where
overloadedMethod _ = taskStart
-- method Task::stop
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "Task", 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 "gst_task_stop" gst_task_stop ::
Ptr Task -> -- _obj : TInterface "Gst" "Task"
IO CInt
taskStop ::
(MonadIO m, TaskK a) =>
a -- _obj
-> m Bool -- result
taskStop _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_task_stop _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data TaskStopMethodInfo
instance (signature ~ (m Bool), MonadIO m, TaskK a) => MethodInfo TaskStopMethodInfo a signature where
overloadedMethod _ = taskStop
-- method Task::cleanup_all
-- method type : MemberFunction
-- Args : []
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_task_cleanup_all" gst_task_cleanup_all ::
IO ()
taskCleanupAll ::
(MonadIO m) =>
m () -- result
taskCleanupAll = liftIO $ do
gst_task_cleanup_all
return ()