module GI.Gst.Objects.ControlBinding
(
ControlBinding(..) ,
IsControlBinding ,
toControlBinding ,
noControlBinding ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ControlBindingGetGValueArrayMethodInfo ,
#endif
controlBindingGetGValueArray ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ControlBindingGetValueMethodInfo ,
#endif
controlBindingGetValue ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ControlBindingIsDisabledMethodInfo ,
#endif
controlBindingIsDisabled ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ControlBindingSetDisabledMethodInfo ,
#endif
controlBindingSetDisabled ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ControlBindingSyncValuesMethodInfo ,
#endif
controlBindingSyncValues ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ControlBindingNamePropertyInfo ,
#endif
constructControlBindingName ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
controlBindingName ,
#endif
getControlBindingName ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ControlBindingObjectPropertyInfo ,
#endif
constructControlBindingObject ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
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.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Objects.Object as Gst.Object
newtype ControlBinding = ControlBinding (ManagedPtr ControlBinding)
foreign import ccall "gst_control_binding_get_type"
c_gst_control_binding_get_type :: IO GType
instance GObject ControlBinding where
gobjectType _ = c_gst_control_binding_get_type
class GObject o => IsControlBinding o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError ControlBinding a) =>
IsControlBinding a
#endif
instance IsControlBinding ControlBinding
instance Gst.Object.IsObject ControlBinding
instance GObject.Object.IsObject ControlBinding
toControlBinding :: (MonadIO m, IsControlBinding o) => o -> m ControlBinding
toControlBinding = liftIO . unsafeCastTo ControlBinding
noControlBinding :: Maybe ControlBinding
noControlBinding = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveControlBindingMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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 "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) => O.IsLabelProxy t (ControlBinding -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveControlBindingMethod t ControlBinding, O.MethodInfo info ControlBinding p) => O.IsLabel t (ControlBinding -> 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
getControlBindingName :: (MonadIO m, IsControlBinding o) => o -> m (Maybe T.Text)
getControlBindingName obj = liftIO $ getObjectPropertyString obj "name"
constructControlBindingName :: (IsControlBinding o) => T.Text -> IO (GValueConstruct o)
constructControlBindingName val = constructObjectPropertyString "name" (Just val)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ControlBindingNamePropertyInfo
instance AttrInfo ControlBindingNamePropertyInfo where
type AttrAllowedOps ControlBindingNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ControlBindingNamePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint ControlBindingNamePropertyInfo = IsControlBinding
type AttrGetType ControlBindingNamePropertyInfo = (Maybe T.Text)
type AttrLabel ControlBindingNamePropertyInfo = "name"
type AttrOrigin ControlBindingNamePropertyInfo = ControlBinding
attrGet _ = getControlBindingName
attrSet _ = undefined
attrConstruct _ = constructControlBindingName
attrClear _ = undefined
#endif
getControlBindingObject :: (MonadIO m, IsControlBinding o) => o -> m (Maybe Gst.Object.Object)
getControlBindingObject obj = liftIO $ getObjectPropertyObject obj "object" Gst.Object.Object
constructControlBindingObject :: (IsControlBinding o, Gst.Object.IsObject a) => a -> IO (GValueConstruct o)
constructControlBindingObject val = constructObjectPropertyObject "object" (Just val)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ControlBindingObjectPropertyInfo
instance AttrInfo ControlBindingObjectPropertyInfo where
type AttrAllowedOps ControlBindingObjectPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ControlBindingObjectPropertyInfo = Gst.Object.IsObject
type AttrBaseTypeConstraint ControlBindingObjectPropertyInfo = IsControlBinding
type AttrGetType ControlBindingObjectPropertyInfo = (Maybe Gst.Object.Object)
type AttrLabel ControlBindingObjectPropertyInfo = "object"
type AttrOrigin ControlBindingObjectPropertyInfo = ControlBinding
attrGet _ = getControlBindingObject
attrSet _ = undefined
attrConstruct _ = constructControlBindingObject
attrClear _ = undefined
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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) && !defined(__HADDOCK_VERSION__)
controlBindingName :: AttrLabelProxy "name"
controlBindingName = AttrLabelProxy
controlBindingObject :: AttrLabelProxy "object"
controlBindingObject = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 binding timestamp interval values = liftIO $ do
let nValues = fromIntegral $ length values
binding' <- unsafeManagedPtrCastPtr binding
values' <- mapM unsafeManagedPtrGetPtr values
values'' <- packBlockArray 24 values'
result <- gst_control_binding_get_g_value_array binding' timestamp interval nValues values''
let result' = (/= 0) result
touchManagedPtr binding
mapM_ touchManagedPtr values
freeMem values''
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 binding timestamp = liftIO $ do
binding' <- unsafeManagedPtrCastPtr binding
result <- gst_control_binding_get_value binding' timestamp
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapBoxed GValue) result'
return result''
touchManagedPtr binding
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 binding = liftIO $ do
binding' <- unsafeManagedPtrCastPtr binding
result <- gst_control_binding_is_disabled binding'
let result' = (/= 0) result
touchManagedPtr binding
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 binding disabled = liftIO $ do
binding' <- unsafeManagedPtrCastPtr binding
let disabled' = (fromIntegral . fromEnum) disabled
gst_control_binding_set_disabled binding' disabled'
touchManagedPtr binding
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 binding object timestamp lastSync = liftIO $ do
binding' <- unsafeManagedPtrCastPtr binding
object' <- unsafeManagedPtrCastPtr object
result <- gst_control_binding_sync_values binding' object' timestamp lastSync
let result' = (/= 0) result
touchManagedPtr binding
touchManagedPtr object
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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