{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Objects.ControlBinding
(
ControlBinding(..) ,
IsControlBinding ,
toControlBinding ,
noControlBinding ,
#if defined(ENABLE_OVERLOADING)
ResolveControlBindingMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ControlBindingGetGValueArrayMethodInfo ,
#endif
controlBindingGetGValueArray ,
#if defined(ENABLE_OVERLOADING)
ControlBindingGetValueMethodInfo ,
#endif
controlBindingGetValue ,
#if defined(ENABLE_OVERLOADING)
ControlBindingIsDisabledMethodInfo ,
#endif
controlBindingIsDisabled ,
#if defined(ENABLE_OVERLOADING)
ControlBindingSetDisabledMethodInfo ,
#endif
controlBindingSetDisabled ,
#if defined(ENABLE_OVERLOADING)
ControlBindingSyncValuesMethodInfo ,
#endif
controlBindingSyncValues ,
#if defined(ENABLE_OVERLOADING)
ControlBindingNamePropertyInfo ,
#endif
constructControlBindingName ,
#if defined(ENABLE_OVERLOADING)
controlBindingName ,
#endif
getControlBindingName ,
#if defined(ENABLE_OVERLOADING)
ControlBindingObjectPropertyInfo ,
#endif
constructControlBindingObject ,
#if defined(ENABLE_OVERLOADING)
controlBindingObject ,
#endif
getControlBindingObject ,
) 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.GClosure as B.GClosure
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.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
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 GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object
newtype ControlBinding = ControlBinding (ManagedPtr ControlBinding)
deriving (ControlBinding -> ControlBinding -> Bool
(ControlBinding -> ControlBinding -> Bool)
-> (ControlBinding -> ControlBinding -> Bool) -> Eq ControlBinding
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ControlBinding -> ControlBinding -> Bool
$c/= :: ControlBinding -> ControlBinding -> Bool
== :: ControlBinding -> ControlBinding -> Bool
$c== :: ControlBinding -> ControlBinding -> Bool
Eq)
foreign import ccall "gst_control_binding_get_type"
c_gst_control_binding_get_type :: IO GType
instance GObject ControlBinding where
gobjectType :: IO GType
gobjectType = IO GType
c_gst_control_binding_get_type
instance B.GValue.IsGValue ControlBinding where
toGValue :: ControlBinding -> IO GValue
toGValue o :: ControlBinding
o = do
GType
gtype <- IO GType
c_gst_control_binding_get_type
ControlBinding -> (Ptr ControlBinding -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr ControlBinding
o (GType
-> (GValue -> Ptr ControlBinding -> IO ())
-> Ptr ControlBinding
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr ControlBinding -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO ControlBinding
fromGValue gv :: GValue
gv = do
Ptr ControlBinding
ptr <- GValue -> IO (Ptr ControlBinding)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr ControlBinding)
(ManagedPtr ControlBinding -> ControlBinding)
-> Ptr ControlBinding -> IO ControlBinding
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr ControlBinding -> ControlBinding
ControlBinding Ptr ControlBinding
ptr
class (GObject o, O.IsDescendantOf ControlBinding o) => IsControlBinding o
instance (GObject o, O.IsDescendantOf ControlBinding o) => IsControlBinding o
instance O.HasParentTypes ControlBinding
type instance O.ParentTypes ControlBinding = '[Gst.Object.Object, GObject.Object.Object]
toControlBinding :: (MonadIO m, IsControlBinding o) => o -> m ControlBinding
toControlBinding :: o -> m ControlBinding
toControlBinding = IO ControlBinding -> m ControlBinding
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ControlBinding -> m ControlBinding)
-> (o -> IO ControlBinding) -> o -> m ControlBinding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr ControlBinding -> ControlBinding)
-> o -> IO ControlBinding
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr ControlBinding -> ControlBinding
ControlBinding
noControlBinding :: Maybe ControlBinding
noControlBinding :: Maybe ControlBinding
noControlBinding = Maybe ControlBinding
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveControlBindingMethod (t :: Symbol) (o :: *) :: * where
ResolveControlBindingMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveControlBindingMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveControlBindingMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveControlBindingMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveControlBindingMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveControlBindingMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveControlBindingMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveControlBindingMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveControlBindingMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveControlBindingMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveControlBindingMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveControlBindingMethod "isDisabled" o = ControlBindingIsDisabledMethodInfo
ResolveControlBindingMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveControlBindingMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveControlBindingMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveControlBindingMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveControlBindingMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveControlBindingMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveControlBindingMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveControlBindingMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveControlBindingMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveControlBindingMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveControlBindingMethod "syncValues" o = ControlBindingSyncValuesMethodInfo
ResolveControlBindingMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveControlBindingMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveControlBindingMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveControlBindingMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveControlBindingMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveControlBindingMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveControlBindingMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveControlBindingMethod "getGValueArray" o = ControlBindingGetGValueArrayMethodInfo
ResolveControlBindingMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveControlBindingMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveControlBindingMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveControlBindingMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveControlBindingMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveControlBindingMethod "getValue" o = ControlBindingGetValueMethodInfo
ResolveControlBindingMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveControlBindingMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveControlBindingMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveControlBindingMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveControlBindingMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveControlBindingMethod "setDisabled" o = ControlBindingSetDisabledMethodInfo
ResolveControlBindingMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveControlBindingMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveControlBindingMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveControlBindingMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveControlBindingMethod t ControlBinding, O.MethodInfo info ControlBinding p) => OL.IsLabel t (ControlBinding -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getControlBindingName :: (MonadIO m, IsControlBinding o) => o -> m (Maybe T.Text)
getControlBindingName :: o -> m (Maybe Text)
getControlBindingName obj :: o
obj = IO (Maybe Text) -> m (Maybe Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj "name"
constructControlBindingName :: (IsControlBinding o) => T.Text -> IO (GValueConstruct o)
constructControlBindingName :: Text -> IO (GValueConstruct o)
constructControlBindingName val :: Text
val = String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString "name" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)
#if defined(ENABLE_OVERLOADING)
data ControlBindingNamePropertyInfo
instance AttrInfo ControlBindingNamePropertyInfo where
type AttrAllowedOps ControlBindingNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ControlBindingNamePropertyInfo = IsControlBinding
type AttrSetTypeConstraint ControlBindingNamePropertyInfo = (~) T.Text
type AttrTransferTypeConstraint ControlBindingNamePropertyInfo = (~) T.Text
type AttrTransferType ControlBindingNamePropertyInfo = T.Text
type AttrGetType ControlBindingNamePropertyInfo = (Maybe T.Text)
type AttrLabel ControlBindingNamePropertyInfo = "name"
type AttrOrigin ControlBindingNamePropertyInfo = ControlBinding
attrGet = getControlBindingName
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructControlBindingName
attrClear = undefined
#endif
getControlBindingObject :: (MonadIO m, IsControlBinding o) => o -> m (Maybe Gst.Object.Object)
getControlBindingObject :: o -> m (Maybe Object)
getControlBindingObject obj :: o
obj = IO (Maybe Object) -> m (Maybe Object)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Object) -> m (Maybe Object))
-> IO (Maybe Object) -> m (Maybe Object)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Object -> Object) -> IO (Maybe Object)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj "object" ManagedPtr Object -> Object
Gst.Object.Object
constructControlBindingObject :: (IsControlBinding o, Gst.Object.IsObject a) => a -> IO (GValueConstruct o)
constructControlBindingObject :: a -> IO (GValueConstruct o)
constructControlBindingObject val :: a
val = String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject "object" (a -> Maybe a
forall a. a -> Maybe a
Just a
val)
#if defined(ENABLE_OVERLOADING)
data ControlBindingObjectPropertyInfo
instance AttrInfo ControlBindingObjectPropertyInfo where
type AttrAllowedOps ControlBindingObjectPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ControlBindingObjectPropertyInfo = IsControlBinding
type AttrSetTypeConstraint ControlBindingObjectPropertyInfo = Gst.Object.IsObject
type AttrTransferTypeConstraint ControlBindingObjectPropertyInfo = Gst.Object.IsObject
type AttrTransferType ControlBindingObjectPropertyInfo = Gst.Object.Object
type AttrGetType ControlBindingObjectPropertyInfo = (Maybe Gst.Object.Object)
type AttrLabel ControlBindingObjectPropertyInfo = "object"
type AttrOrigin ControlBindingObjectPropertyInfo = ControlBinding
attrGet = getControlBindingObject
attrSet = undefined
attrTransfer _ v = do
unsafeCastTo Gst.Object.Object v
attrConstruct = constructControlBindingObject
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ControlBinding
type instance O.AttributeList ControlBinding = ControlBindingAttributeList
type ControlBindingAttributeList = ('[ '("name", ControlBindingNamePropertyInfo), '("object", ControlBindingObjectPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
controlBindingName :: AttrLabelProxy "name"
controlBindingName = AttrLabelProxy
controlBindingObject :: AttrLabelProxy "object"
controlBindingObject = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList ControlBinding = ControlBindingSignalList
type ControlBindingSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_control_binding_get_g_value_array" gst_control_binding_get_g_value_array ::
Ptr ControlBinding ->
Word64 ->
Word64 ->
Word32 ->
Ptr GValue ->
IO CInt
controlBindingGetGValueArray ::
(B.CallStack.HasCallStack, MonadIO m, IsControlBinding a) =>
a
-> Word64
-> Word64
-> [GValue]
-> m Bool
controlBindingGetGValueArray :: a -> Word64 -> Word64 -> [GValue] -> m Bool
controlBindingGetGValueArray binding :: a
binding timestamp :: Word64
timestamp interval :: Word64
interval values :: [GValue]
values = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
let nValues :: Word32
nValues = Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Word32) -> Int -> Word32
forall a b. (a -> b) -> a -> b
$ [GValue] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [GValue]
values
Ptr ControlBinding
binding' <- a -> IO (Ptr ControlBinding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
[Ptr GValue]
values' <- (GValue -> IO (Ptr GValue)) -> [GValue] -> IO [Ptr GValue]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr [GValue]
values
Ptr GValue
values'' <- Int -> [Ptr GValue] -> IO (Ptr GValue)
forall a. Int -> [Ptr a] -> IO (Ptr a)
packBlockArray 24 [Ptr GValue]
values'
CInt
result <- Ptr ControlBinding
-> Word64 -> Word64 -> Word32 -> Ptr GValue -> IO CInt
gst_control_binding_get_g_value_array Ptr ControlBinding
binding' Word64
timestamp Word64
interval Word32
nValues Ptr GValue
values''
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
(GValue -> IO ()) -> [GValue] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr [GValue]
values
Ptr GValue -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr GValue
values''
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ControlBindingGetGValueArrayMethodInfo
instance (signature ~ (Word64 -> Word64 -> [GValue] -> m Bool), MonadIO m, IsControlBinding a) => O.MethodInfo ControlBindingGetGValueArrayMethodInfo a signature where
overloadedMethod = controlBindingGetGValueArray
#endif
foreign import ccall "gst_control_binding_get_value" gst_control_binding_get_value ::
Ptr ControlBinding ->
Word64 ->
IO (Ptr GValue)
controlBindingGetValue ::
(B.CallStack.HasCallStack, MonadIO m, IsControlBinding a) =>
a
-> Word64
-> m (Maybe GValue)
controlBindingGetValue :: a -> Word64 -> m (Maybe GValue)
controlBindingGetValue binding :: a
binding timestamp :: Word64
timestamp = IO (Maybe GValue) -> m (Maybe GValue)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe GValue) -> m (Maybe GValue))
-> IO (Maybe GValue) -> m (Maybe GValue)
forall a b. (a -> b) -> a -> b
$ do
Ptr ControlBinding
binding' <- a -> IO (Ptr ControlBinding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
Ptr GValue
result <- Ptr ControlBinding -> Word64 -> IO (Ptr GValue)
gst_control_binding_get_value Ptr ControlBinding
binding' Word64
timestamp
Maybe GValue
maybeResult <- Ptr GValue -> (Ptr GValue -> IO GValue) -> IO (Maybe GValue)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr GValue
result ((Ptr GValue -> IO GValue) -> IO (Maybe GValue))
-> (Ptr GValue -> IO GValue) -> IO (Maybe GValue)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr GValue
result' -> do
GValue
result'' <- ((ManagedPtr GValue -> GValue) -> Ptr GValue -> IO GValue
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr GValue -> GValue
GValue) Ptr GValue
result'
GValue -> IO GValue
forall (m :: * -> *) a. Monad m => a -> m a
return GValue
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
Maybe GValue -> IO (Maybe GValue)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GValue
maybeResult
#if defined(ENABLE_OVERLOADING)
data ControlBindingGetValueMethodInfo
instance (signature ~ (Word64 -> m (Maybe GValue)), MonadIO m, IsControlBinding a) => O.MethodInfo ControlBindingGetValueMethodInfo a signature where
overloadedMethod = controlBindingGetValue
#endif
foreign import ccall "gst_control_binding_is_disabled" gst_control_binding_is_disabled ::
Ptr ControlBinding ->
IO CInt
controlBindingIsDisabled ::
(B.CallStack.HasCallStack, MonadIO m, IsControlBinding a) =>
a
-> m Bool
controlBindingIsDisabled :: a -> m Bool
controlBindingIsDisabled binding :: a
binding = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr ControlBinding
binding' <- a -> IO (Ptr ControlBinding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
CInt
result <- Ptr ControlBinding -> IO CInt
gst_control_binding_is_disabled Ptr ControlBinding
binding'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ControlBindingIsDisabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsControlBinding a) => O.MethodInfo ControlBindingIsDisabledMethodInfo a signature where
overloadedMethod = controlBindingIsDisabled
#endif
foreign import ccall "gst_control_binding_set_disabled" gst_control_binding_set_disabled ::
Ptr ControlBinding ->
CInt ->
IO ()
controlBindingSetDisabled ::
(B.CallStack.HasCallStack, MonadIO m, IsControlBinding a) =>
a
-> Bool
-> m ()
controlBindingSetDisabled :: a -> Bool -> m ()
controlBindingSetDisabled binding :: a
binding disabled :: Bool
disabled = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr ControlBinding
binding' <- a -> IO (Ptr ControlBinding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
let disabled' :: CInt
disabled' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
disabled
Ptr ControlBinding -> CInt -> IO ()
gst_control_binding_set_disabled Ptr ControlBinding
binding' CInt
disabled'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ControlBindingSetDisabledMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsControlBinding a) => O.MethodInfo ControlBindingSetDisabledMethodInfo a signature where
overloadedMethod = controlBindingSetDisabled
#endif
foreign import ccall "gst_control_binding_sync_values" gst_control_binding_sync_values ::
Ptr ControlBinding ->
Ptr Gst.Object.Object ->
Word64 ->
Word64 ->
IO CInt
controlBindingSyncValues ::
(B.CallStack.HasCallStack, MonadIO m, IsControlBinding a, Gst.Object.IsObject b) =>
a
-> b
-> Word64
-> Word64
-> m Bool
controlBindingSyncValues :: a -> b -> Word64 -> Word64 -> m Bool
controlBindingSyncValues binding :: a
binding object :: b
object timestamp :: Word64
timestamp lastSync :: Word64
lastSync = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr ControlBinding
binding' <- a -> IO (Ptr ControlBinding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
binding
Ptr Object
object' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
object
CInt
result <- Ptr ControlBinding -> Ptr Object -> Word64 -> Word64 -> IO CInt
gst_control_binding_sync_values Ptr ControlBinding
binding' Ptr Object
object' Word64
timestamp Word64
lastSync
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
binding
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
object
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ControlBindingSyncValuesMethodInfo
instance (signature ~ (b -> Word64 -> Word64 -> m Bool), MonadIO m, IsControlBinding a, Gst.Object.IsObject b) => O.MethodInfo ControlBindingSyncValuesMethodInfo a signature where
overloadedMethod = controlBindingSyncValues
#endif