{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Objects.Object
(
Object(..) ,
IsObject ,
toObject ,
noObject ,
#if defined(ENABLE_OVERLOADING)
ResolveObjectMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ObjectAddControlBindingMethodInfo ,
#endif
objectAddControlBinding ,
objectCheckUniqueness ,
objectDefaultDeepNotify ,
#if defined(ENABLE_OVERLOADING)
ObjectDefaultErrorMethodInfo ,
#endif
objectDefaultError ,
#if defined(ENABLE_OVERLOADING)
ObjectGetControlBindingMethodInfo ,
#endif
objectGetControlBinding ,
#if defined(ENABLE_OVERLOADING)
ObjectGetControlRateMethodInfo ,
#endif
objectGetControlRate ,
#if defined(ENABLE_OVERLOADING)
ObjectGetGValueArrayMethodInfo ,
#endif
objectGetGValueArray ,
#if defined(ENABLE_OVERLOADING)
ObjectGetNameMethodInfo ,
#endif
objectGetName ,
#if defined(ENABLE_OVERLOADING)
ObjectGetParentMethodInfo ,
#endif
objectGetParent ,
#if defined(ENABLE_OVERLOADING)
ObjectGetPathStringMethodInfo ,
#endif
objectGetPathString ,
#if defined(ENABLE_OVERLOADING)
ObjectGetValueMethodInfo ,
#endif
objectGetValue ,
#if defined(ENABLE_OVERLOADING)
ObjectHasActiveControlBindingsMethodInfo,
#endif
objectHasActiveControlBindings ,
#if defined(ENABLE_OVERLOADING)
ObjectHasAncestorMethodInfo ,
#endif
objectHasAncestor ,
#if defined(ENABLE_OVERLOADING)
ObjectHasAsAncestorMethodInfo ,
#endif
objectHasAsAncestor ,
#if defined(ENABLE_OVERLOADING)
ObjectHasAsParentMethodInfo ,
#endif
objectHasAsParent ,
#if defined(ENABLE_OVERLOADING)
ObjectRefMethodInfo ,
#endif
objectRef ,
#if defined(ENABLE_OVERLOADING)
ObjectRemoveControlBindingMethodInfo ,
#endif
objectRemoveControlBinding ,
objectReplace ,
#if defined(ENABLE_OVERLOADING)
ObjectSetControlBindingDisabledMethodInfo,
#endif
objectSetControlBindingDisabled ,
#if defined(ENABLE_OVERLOADING)
ObjectSetControlBindingsDisabledMethodInfo,
#endif
objectSetControlBindingsDisabled ,
#if defined(ENABLE_OVERLOADING)
ObjectSetControlRateMethodInfo ,
#endif
objectSetControlRate ,
#if defined(ENABLE_OVERLOADING)
ObjectSetNameMethodInfo ,
#endif
objectSetName ,
#if defined(ENABLE_OVERLOADING)
ObjectSetParentMethodInfo ,
#endif
objectSetParent ,
#if defined(ENABLE_OVERLOADING)
ObjectSuggestNextSyncMethodInfo ,
#endif
objectSuggestNextSync ,
#if defined(ENABLE_OVERLOADING)
ObjectSyncValuesMethodInfo ,
#endif
objectSyncValues ,
#if defined(ENABLE_OVERLOADING)
ObjectUnparentMethodInfo ,
#endif
objectUnparent ,
#if defined(ENABLE_OVERLOADING)
ObjectUnrefMethodInfo ,
#endif
objectUnref ,
#if defined(ENABLE_OVERLOADING)
ObjectNamePropertyInfo ,
#endif
clearObjectName ,
constructObjectName ,
getObjectName ,
#if defined(ENABLE_OVERLOADING)
objectName ,
#endif
setObjectName ,
#if defined(ENABLE_OVERLOADING)
ObjectParentPropertyInfo ,
#endif
clearObjectParent ,
constructObjectParent ,
getObjectParent ,
#if defined(ENABLE_OVERLOADING)
objectParent ,
#endif
setObjectParent ,
C_ObjectDeepNotifyCallback ,
ObjectDeepNotifyCallback ,
#if defined(ENABLE_OVERLOADING)
ObjectDeepNotifySignalInfo ,
#endif
afterObjectDeepNotify ,
genClosure_ObjectDeepNotify ,
mk_ObjectDeepNotifyCallback ,
noObjectDeepNotifyCallback ,
onObjectDeepNotify ,
wrap_ObjectDeepNotifyCallback ,
) 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.ControlBinding as Gst.ControlBinding
newtype Object = Object (ManagedPtr Object)
deriving (Object -> Object -> Bool
(Object -> Object -> Bool)
-> (Object -> Object -> Bool) -> Eq Object
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Object -> Object -> Bool
$c/= :: Object -> Object -> Bool
== :: Object -> Object -> Bool
$c== :: Object -> Object -> Bool
Eq)
foreign import ccall "gst_object_get_type"
c_gst_object_get_type :: IO GType
instance GObject Object where
gobjectType :: IO GType
gobjectType = IO GType
c_gst_object_get_type
instance B.GValue.IsGValue Object where
toGValue :: Object -> IO GValue
toGValue o :: Object
o = do
GType
gtype <- IO GType
c_gst_object_get_type
Object -> (Ptr Object -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Object
o (GType -> (GValue -> Ptr Object -> IO ()) -> Ptr Object -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Object -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO Object
fromGValue gv :: GValue
gv = do
Ptr Object
ptr <- GValue -> IO (Ptr Object)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr Object)
(ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Object -> Object
Object Ptr Object
ptr
class (GObject o, O.IsDescendantOf Object o) => IsObject o
instance (GObject o, O.IsDescendantOf Object o) => IsObject o
instance O.HasParentTypes Object
type instance O.ParentTypes Object = '[GObject.Object.Object]
toObject :: (MonadIO m, IsObject o) => o -> m Object
toObject :: o -> m Object
toObject = IO Object -> m Object
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Object -> m Object) -> (o -> IO Object) -> o -> m Object
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Object -> Object) -> o -> IO Object
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr Object -> Object
Object
noObject :: Maybe Object
noObject :: Maybe Object
noObject = Maybe Object
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveObjectMethod (t :: Symbol) (o :: *) :: * where
ResolveObjectMethod "addControlBinding" o = ObjectAddControlBindingMethodInfo
ResolveObjectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveObjectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveObjectMethod "defaultError" o = ObjectDefaultErrorMethodInfo
ResolveObjectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveObjectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveObjectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveObjectMethod "hasActiveControlBindings" o = ObjectHasActiveControlBindingsMethodInfo
ResolveObjectMethod "hasAncestor" o = ObjectHasAncestorMethodInfo
ResolveObjectMethod "hasAsAncestor" o = ObjectHasAsAncestorMethodInfo
ResolveObjectMethod "hasAsParent" o = ObjectHasAsParentMethodInfo
ResolveObjectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveObjectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveObjectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveObjectMethod "ref" o = ObjectRefMethodInfo
ResolveObjectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveObjectMethod "removeControlBinding" o = ObjectRemoveControlBindingMethodInfo
ResolveObjectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveObjectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveObjectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveObjectMethod "suggestNextSync" o = ObjectSuggestNextSyncMethodInfo
ResolveObjectMethod "syncValues" o = ObjectSyncValuesMethodInfo
ResolveObjectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveObjectMethod "unparent" o = ObjectUnparentMethodInfo
ResolveObjectMethod "unref" o = ObjectUnrefMethodInfo
ResolveObjectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveObjectMethod "getControlBinding" o = ObjectGetControlBindingMethodInfo
ResolveObjectMethod "getControlRate" o = ObjectGetControlRateMethodInfo
ResolveObjectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveObjectMethod "getGValueArray" o = ObjectGetGValueArrayMethodInfo
ResolveObjectMethod "getName" o = ObjectGetNameMethodInfo
ResolveObjectMethod "getParent" o = ObjectGetParentMethodInfo
ResolveObjectMethod "getPathString" o = ObjectGetPathStringMethodInfo
ResolveObjectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveObjectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveObjectMethod "getValue" o = ObjectGetValueMethodInfo
ResolveObjectMethod "setControlBindingDisabled" o = ObjectSetControlBindingDisabledMethodInfo
ResolveObjectMethod "setControlBindingsDisabled" o = ObjectSetControlBindingsDisabledMethodInfo
ResolveObjectMethod "setControlRate" o = ObjectSetControlRateMethodInfo
ResolveObjectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveObjectMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveObjectMethod "setName" o = ObjectSetNameMethodInfo
ResolveObjectMethod "setParent" o = ObjectSetParentMethodInfo
ResolveObjectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveObjectMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveObjectMethod t Object, O.MethodInfo info Object p) => OL.IsLabel t (Object -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
type ObjectDeepNotifyCallback =
Object
-> GParamSpec
-> IO ()
noObjectDeepNotifyCallback :: Maybe ObjectDeepNotifyCallback
noObjectDeepNotifyCallback :: Maybe ObjectDeepNotifyCallback
noObjectDeepNotifyCallback = Maybe ObjectDeepNotifyCallback
forall a. Maybe a
Nothing
type C_ObjectDeepNotifyCallback =
Ptr () ->
Ptr Object ->
Ptr GParamSpec ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ObjectDeepNotifyCallback :: C_ObjectDeepNotifyCallback -> IO (FunPtr C_ObjectDeepNotifyCallback)
genClosure_ObjectDeepNotify :: MonadIO m => ObjectDeepNotifyCallback -> m (GClosure C_ObjectDeepNotifyCallback)
genClosure_ObjectDeepNotify :: ObjectDeepNotifyCallback -> m (GClosure C_ObjectDeepNotifyCallback)
genClosure_ObjectDeepNotify cb :: ObjectDeepNotifyCallback
cb = IO (GClosure C_ObjectDeepNotifyCallback)
-> m (GClosure C_ObjectDeepNotifyCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_ObjectDeepNotifyCallback)
-> m (GClosure C_ObjectDeepNotifyCallback))
-> IO (GClosure C_ObjectDeepNotifyCallback)
-> m (GClosure C_ObjectDeepNotifyCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ObjectDeepNotifyCallback
cb' = ObjectDeepNotifyCallback -> C_ObjectDeepNotifyCallback
wrap_ObjectDeepNotifyCallback ObjectDeepNotifyCallback
cb
C_ObjectDeepNotifyCallback
-> IO (FunPtr C_ObjectDeepNotifyCallback)
mk_ObjectDeepNotifyCallback C_ObjectDeepNotifyCallback
cb' IO (FunPtr C_ObjectDeepNotifyCallback)
-> (FunPtr C_ObjectDeepNotifyCallback
-> IO (GClosure C_ObjectDeepNotifyCallback))
-> IO (GClosure C_ObjectDeepNotifyCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_ObjectDeepNotifyCallback
-> IO (GClosure C_ObjectDeepNotifyCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_ObjectDeepNotifyCallback ::
ObjectDeepNotifyCallback ->
C_ObjectDeepNotifyCallback
wrap_ObjectDeepNotifyCallback :: ObjectDeepNotifyCallback -> C_ObjectDeepNotifyCallback
wrap_ObjectDeepNotifyCallback _cb :: ObjectDeepNotifyCallback
_cb _ propObject :: Ptr Object
propObject prop :: Ptr GParamSpec
prop _ = do
Object
propObject' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Object -> Object
Object) Ptr Object
propObject
GParamSpec
prop' <- Ptr GParamSpec -> IO GParamSpec
B.GParamSpec.newGParamSpecFromPtr Ptr GParamSpec
prop
ObjectDeepNotifyCallback
_cb Object
propObject' GParamSpec
prop'
onObjectDeepNotify :: (IsObject a, MonadIO m) => a -> P.Maybe T.Text -> ObjectDeepNotifyCallback -> m SignalHandlerId
onObjectDeepNotify :: a -> Maybe Text -> ObjectDeepNotifyCallback -> m SignalHandlerId
onObjectDeepNotify obj :: a
obj detail :: Maybe Text
detail cb :: ObjectDeepNotifyCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ObjectDeepNotifyCallback
cb' = ObjectDeepNotifyCallback -> C_ObjectDeepNotifyCallback
wrap_ObjectDeepNotifyCallback ObjectDeepNotifyCallback
cb
FunPtr C_ObjectDeepNotifyCallback
cb'' <- C_ObjectDeepNotifyCallback
-> IO (FunPtr C_ObjectDeepNotifyCallback)
mk_ObjectDeepNotifyCallback C_ObjectDeepNotifyCallback
cb'
a
-> Text
-> FunPtr C_ObjectDeepNotifyCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "deep-notify" FunPtr C_ObjectDeepNotifyCallback
cb'' SignalConnectMode
SignalConnectBefore Maybe Text
detail
afterObjectDeepNotify :: (IsObject a, MonadIO m) => a -> P.Maybe T.Text -> ObjectDeepNotifyCallback -> m SignalHandlerId
afterObjectDeepNotify :: a -> Maybe Text -> ObjectDeepNotifyCallback -> m SignalHandlerId
afterObjectDeepNotify obj :: a
obj detail :: Maybe Text
detail cb :: ObjectDeepNotifyCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_ObjectDeepNotifyCallback
cb' = ObjectDeepNotifyCallback -> C_ObjectDeepNotifyCallback
wrap_ObjectDeepNotifyCallback ObjectDeepNotifyCallback
cb
FunPtr C_ObjectDeepNotifyCallback
cb'' <- C_ObjectDeepNotifyCallback
-> IO (FunPtr C_ObjectDeepNotifyCallback)
mk_ObjectDeepNotifyCallback C_ObjectDeepNotifyCallback
cb'
a
-> Text
-> FunPtr C_ObjectDeepNotifyCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj "deep-notify" FunPtr C_ObjectDeepNotifyCallback
cb'' SignalConnectMode
SignalConnectAfter Maybe Text
detail
#if defined(ENABLE_OVERLOADING)
data ObjectDeepNotifySignalInfo
instance SignalInfo ObjectDeepNotifySignalInfo where
type HaskellCallbackType ObjectDeepNotifySignalInfo = ObjectDeepNotifyCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ObjectDeepNotifyCallback cb
cb'' <- mk_ObjectDeepNotifyCallback cb'
connectSignalFunPtr obj "deep-notify" cb'' connectMode detail
#endif
getObjectName :: (MonadIO m, IsObject o) => o -> m (Maybe T.Text)
getObjectName :: o -> m (Maybe Text)
getObjectName 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"
setObjectName :: (MonadIO m, IsObject o) => o -> T.Text -> m ()
setObjectName :: o -> Text -> m ()
setObjectName obj :: o
obj val :: Text
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj "name" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)
constructObjectName :: (IsObject o) => T.Text -> IO (GValueConstruct o)
constructObjectName :: Text -> IO (GValueConstruct o)
constructObjectName 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)
clearObjectName :: (MonadIO m, IsObject o) => o -> m ()
clearObjectName :: o -> m ()
clearObjectName obj :: o
obj = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj "name" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)
#if defined(ENABLE_OVERLOADING)
data ObjectNamePropertyInfo
instance AttrInfo ObjectNamePropertyInfo where
type AttrAllowedOps ObjectNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ObjectNamePropertyInfo = IsObject
type AttrSetTypeConstraint ObjectNamePropertyInfo = (~) T.Text
type AttrTransferTypeConstraint ObjectNamePropertyInfo = (~) T.Text
type AttrTransferType ObjectNamePropertyInfo = T.Text
type AttrGetType ObjectNamePropertyInfo = (Maybe T.Text)
type AttrLabel ObjectNamePropertyInfo = "name"
type AttrOrigin ObjectNamePropertyInfo = Object
attrGet = getObjectName
attrSet = setObjectName
attrTransfer _ v = do
return v
attrConstruct = constructObjectName
attrClear = clearObjectName
#endif
getObjectParent :: (MonadIO m, IsObject o) => o -> m (Maybe Object)
getObjectParent :: o -> m (Maybe Object)
getObjectParent 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 "parent" ManagedPtr Object -> Object
Object
setObjectParent :: (MonadIO m, IsObject o, IsObject a) => o -> a -> m ()
setObjectParent :: o -> a -> m ()
setObjectParent obj :: o
obj val :: a
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe a -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj "parent" (a -> Maybe a
forall a. a -> Maybe a
Just a
val)
constructObjectParent :: (IsObject o, IsObject a) => a -> IO (GValueConstruct o)
constructObjectParent :: a -> IO (GValueConstruct o)
constructObjectParent val :: a
val = String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject "parent" (a -> Maybe a
forall a. a -> Maybe a
Just a
val)
clearObjectParent :: (MonadIO m, IsObject o) => o -> m ()
clearObjectParent :: o -> m ()
clearObjectParent obj :: o
obj = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Object -> IO ()
forall a b.
(GObject a, GObject b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyObject o
obj "parent" (Maybe Object
forall a. Maybe a
Nothing :: Maybe Object)
#if defined(ENABLE_OVERLOADING)
data ObjectParentPropertyInfo
instance AttrInfo ObjectParentPropertyInfo where
type AttrAllowedOps ObjectParentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ObjectParentPropertyInfo = IsObject
type AttrSetTypeConstraint ObjectParentPropertyInfo = IsObject
type AttrTransferTypeConstraint ObjectParentPropertyInfo = IsObject
type AttrTransferType ObjectParentPropertyInfo = Object
type AttrGetType ObjectParentPropertyInfo = (Maybe Object)
type AttrLabel ObjectParentPropertyInfo = "parent"
type AttrOrigin ObjectParentPropertyInfo = Object
attrGet = getObjectParent
attrSet = setObjectParent
attrTransfer _ v = do
unsafeCastTo Object v
attrConstruct = constructObjectParent
attrClear = clearObjectParent
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Object
type instance O.AttributeList Object = ObjectAttributeList
type ObjectAttributeList = ('[ '("name", ObjectNamePropertyInfo), '("parent", ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
objectName :: AttrLabelProxy "name"
objectName = AttrLabelProxy
objectParent :: AttrLabelProxy "parent"
objectParent = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Object = ObjectSignalList
type ObjectSignalList = ('[ '("deepNotify", ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_object_add_control_binding" gst_object_add_control_binding ::
Ptr Object ->
Ptr Gst.ControlBinding.ControlBinding ->
IO CInt
objectAddControlBinding ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a, Gst.ControlBinding.IsControlBinding b) =>
a
-> b
-> m Bool
objectAddControlBinding :: a -> b -> m Bool
objectAddControlBinding object :: a
object binding :: b
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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr ControlBinding
binding' <- b -> IO (Ptr ControlBinding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
binding
CInt
result <- Ptr Object -> Ptr ControlBinding -> IO CInt
gst_object_add_control_binding Ptr Object
object' 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
object
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
binding
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ObjectAddControlBindingMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, Gst.ControlBinding.IsControlBinding b) => O.MethodInfo ObjectAddControlBindingMethodInfo a signature where
overloadedMethod = objectAddControlBinding
#endif
foreign import ccall "gst_object_default_error" gst_object_default_error ::
Ptr Object ->
Ptr GError ->
CString ->
IO ()
objectDefaultError ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> GError
-> Maybe (T.Text)
-> m ()
objectDefaultError :: a -> GError -> Maybe Text -> m ()
objectDefaultError source :: a
source error_ :: GError
error_ debug :: Maybe Text
debug = 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 Object
source' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
source
Ptr GError
error_' <- GError -> IO (Ptr GError)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GError
error_
Ptr CChar
maybeDebug <- case Maybe Text
debug of
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
nullPtr
Just jDebug :: Text
jDebug -> do
Ptr CChar
jDebug' <- Text -> IO (Ptr CChar)
textToCString Text
jDebug
Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
jDebug'
Ptr Object -> Ptr GError -> Ptr CChar -> IO ()
gst_object_default_error Ptr Object
source' Ptr GError
error_' Ptr CChar
maybeDebug
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
source
GError -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GError
error_
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
maybeDebug
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ObjectDefaultErrorMethodInfo
instance (signature ~ (GError -> Maybe (T.Text) -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectDefaultErrorMethodInfo a signature where
overloadedMethod = objectDefaultError
#endif
foreign import ccall "gst_object_get_control_binding" gst_object_get_control_binding ::
Ptr Object ->
CString ->
IO (Ptr Gst.ControlBinding.ControlBinding)
objectGetControlBinding ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> T.Text
-> m (Maybe Gst.ControlBinding.ControlBinding)
objectGetControlBinding :: a -> Text -> m (Maybe ControlBinding)
objectGetControlBinding object :: a
object propertyName :: Text
propertyName = IO (Maybe ControlBinding) -> m (Maybe ControlBinding)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe ControlBinding) -> m (Maybe ControlBinding))
-> IO (Maybe ControlBinding) -> m (Maybe ControlBinding)
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr CChar
propertyName' <- Text -> IO (Ptr CChar)
textToCString Text
propertyName
Ptr ControlBinding
result <- Ptr Object -> Ptr CChar -> IO (Ptr ControlBinding)
gst_object_get_control_binding Ptr Object
object' Ptr CChar
propertyName'
Maybe ControlBinding
maybeResult <- Ptr ControlBinding
-> (Ptr ControlBinding -> IO ControlBinding)
-> IO (Maybe ControlBinding)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr ControlBinding
result ((Ptr ControlBinding -> IO ControlBinding)
-> IO (Maybe ControlBinding))
-> (Ptr ControlBinding -> IO ControlBinding)
-> IO (Maybe ControlBinding)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr ControlBinding
result' -> do
ControlBinding
result'' <- ((ManagedPtr ControlBinding -> ControlBinding)
-> Ptr ControlBinding -> IO ControlBinding
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr ControlBinding -> ControlBinding
Gst.ControlBinding.ControlBinding) Ptr ControlBinding
result'
ControlBinding -> IO ControlBinding
forall (m :: * -> *) a. Monad m => a -> m a
return ControlBinding
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
propertyName'
Maybe ControlBinding -> IO (Maybe ControlBinding)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ControlBinding
maybeResult
#if defined(ENABLE_OVERLOADING)
data ObjectGetControlBindingMethodInfo
instance (signature ~ (T.Text -> m (Maybe Gst.ControlBinding.ControlBinding)), MonadIO m, IsObject a) => O.MethodInfo ObjectGetControlBindingMethodInfo a signature where
overloadedMethod = objectGetControlBinding
#endif
foreign import ccall "gst_object_get_control_rate" gst_object_get_control_rate ::
Ptr Object ->
IO Word64
objectGetControlRate ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> m Word64
objectGetControlRate :: a -> m Word64
objectGetControlRate object :: a
object = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Word64
result <- Ptr Object -> IO Word64
gst_object_get_control_rate Ptr Object
object'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data ObjectGetControlRateMethodInfo
instance (signature ~ (m Word64), MonadIO m, IsObject a) => O.MethodInfo ObjectGetControlRateMethodInfo a signature where
overloadedMethod = objectGetControlRate
#endif
foreign import ccall "gst_object_get_g_value_array" gst_object_get_g_value_array ::
Ptr Object ->
CString ->
Word64 ->
Word64 ->
Word32 ->
Ptr GValue ->
IO CInt
objectGetGValueArray ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> T.Text
-> Word64
-> Word64
-> [GValue]
-> m Bool
objectGetGValueArray :: a -> Text -> Word64 -> Word64 -> [GValue] -> m Bool
objectGetGValueArray object :: a
object propertyName :: Text
propertyName 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr CChar
propertyName' <- Text -> IO (Ptr CChar)
textToCString Text
propertyName
[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 Object
-> Ptr CChar -> Word64 -> Word64 -> Word32 -> Ptr GValue -> IO CInt
gst_object_get_g_value_array Ptr Object
object' Ptr CChar
propertyName' 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
object
(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 CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
propertyName'
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 ObjectGetGValueArrayMethodInfo
instance (signature ~ (T.Text -> Word64 -> Word64 -> [GValue] -> m Bool), MonadIO m, IsObject a) => O.MethodInfo ObjectGetGValueArrayMethodInfo a signature where
overloadedMethod = objectGetGValueArray
#endif
foreign import ccall "gst_object_get_name" gst_object_get_name ::
Ptr Object ->
IO CString
objectGetName ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> m (Maybe T.Text)
objectGetName :: a -> m (Maybe Text)
objectGetName object :: a
object = 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
$ do
Ptr Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr CChar
result <- Ptr Object -> IO (Ptr CChar)
gst_object_get_name Ptr Object
object'
Maybe Text
maybeResult <- Ptr CChar -> (Ptr CChar -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr CChar
result ((Ptr CChar -> IO Text) -> IO (Maybe Text))
-> (Ptr CChar -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr CChar
result' -> do
Text
result'' <- HasCallStack => Ptr CChar -> IO Text
Ptr CChar -> IO Text
cstringToText Ptr CChar
result'
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data ObjectGetNameMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsObject a) => O.MethodInfo ObjectGetNameMethodInfo a signature where
overloadedMethod = objectGetName
#endif
foreign import ccall "gst_object_get_parent" gst_object_get_parent ::
Ptr Object ->
IO (Ptr Object)
objectGetParent ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> m (Maybe Object)
objectGetParent :: a -> m (Maybe Object)
objectGetParent object :: a
object = 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
$ do
Ptr Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object
result <- Ptr Object -> IO (Ptr Object)
gst_object_get_parent Ptr Object
object'
Maybe Object
maybeResult <- Ptr Object -> (Ptr Object -> IO Object) -> IO (Maybe Object)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Object
result ((Ptr Object -> IO Object) -> IO (Maybe Object))
-> (Ptr Object -> IO Object) -> IO (Maybe Object)
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr Object
result' -> do
Object
result'' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Object -> Object
Object) Ptr Object
result'
Object -> IO Object
forall (m :: * -> *) a. Monad m => a -> m a
return Object
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
Maybe Object -> IO (Maybe Object)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Object
maybeResult
#if defined(ENABLE_OVERLOADING)
data ObjectGetParentMethodInfo
instance (signature ~ (m (Maybe Object)), MonadIO m, IsObject a) => O.MethodInfo ObjectGetParentMethodInfo a signature where
overloadedMethod = objectGetParent
#endif
foreign import ccall "gst_object_get_path_string" gst_object_get_path_string ::
Ptr Object ->
IO CString
objectGetPathString ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> m T.Text
objectGetPathString :: a -> m Text
objectGetPathString object :: a
object = IO Text -> m Text
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr CChar
result <- Ptr Object -> IO (Ptr CChar)
gst_object_get_path_string Ptr Object
object'
Text -> Ptr CChar -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "objectGetPathString" Ptr CChar
result
Text
result' <- HasCallStack => Ptr CChar -> IO Text
Ptr CChar -> IO Text
cstringToText Ptr CChar
result
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data ObjectGetPathStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsObject a) => O.MethodInfo ObjectGetPathStringMethodInfo a signature where
overloadedMethod = objectGetPathString
#endif
foreign import ccall "gst_object_get_value" gst_object_get_value ::
Ptr Object ->
CString ->
Word64 ->
IO (Ptr GValue)
objectGetValue ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> T.Text
-> Word64
-> m (Maybe GValue)
objectGetValue :: a -> Text -> Word64 -> m (Maybe GValue)
objectGetValue object :: a
object propertyName :: Text
propertyName 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr CChar
propertyName' <- Text -> IO (Ptr CChar)
textToCString Text
propertyName
Ptr GValue
result <- Ptr Object -> Ptr CChar -> Word64 -> IO (Ptr GValue)
gst_object_get_value Ptr Object
object' Ptr CChar
propertyName' 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
object
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
propertyName'
Maybe GValue -> IO (Maybe GValue)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe GValue
maybeResult
#if defined(ENABLE_OVERLOADING)
data ObjectGetValueMethodInfo
instance (signature ~ (T.Text -> Word64 -> m (Maybe GValue)), MonadIO m, IsObject a) => O.MethodInfo ObjectGetValueMethodInfo a signature where
overloadedMethod = objectGetValue
#endif
foreign import ccall "gst_object_has_active_control_bindings" gst_object_has_active_control_bindings ::
Ptr Object ->
IO CInt
objectHasActiveControlBindings ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> m Bool
objectHasActiveControlBindings :: a -> m Bool
objectHasActiveControlBindings object :: a
object = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
CInt
result <- Ptr Object -> IO CInt
gst_object_has_active_control_bindings Ptr Object
object'
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
object
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ObjectHasActiveControlBindingsMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsObject a) => O.MethodInfo ObjectHasActiveControlBindingsMethodInfo a signature where
overloadedMethod = objectHasActiveControlBindings
#endif
foreign import ccall "gst_object_has_ancestor" gst_object_has_ancestor ::
Ptr Object ->
Ptr Object ->
IO CInt
{-# DEPRECATED objectHasAncestor ["Use 'GI.Gst.Objects.Object.objectHasAsAncestor' instead.","","MT safe. Grabs and releases /@object@/\\'s locks."] #-}
objectHasAncestor ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>
a
-> b
-> m Bool
objectHasAncestor :: a -> b -> m Bool
objectHasAncestor object :: a
object ancestor :: b
ancestor = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object
ancestor' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
ancestor
CInt
result <- Ptr Object -> Ptr Object -> IO CInt
gst_object_has_ancestor Ptr Object
object' Ptr Object
ancestor'
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
object
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
ancestor
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ObjectHasAncestorMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectHasAncestorMethodInfo a signature where
overloadedMethod = objectHasAncestor
#endif
foreign import ccall "gst_object_has_as_ancestor" gst_object_has_as_ancestor ::
Ptr Object ->
Ptr Object ->
IO CInt
objectHasAsAncestor ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>
a
-> b
-> m Bool
objectHasAsAncestor :: a -> b -> m Bool
objectHasAsAncestor object :: a
object ancestor :: b
ancestor = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object
ancestor' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
ancestor
CInt
result <- Ptr Object -> Ptr Object -> IO CInt
gst_object_has_as_ancestor Ptr Object
object' Ptr Object
ancestor'
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
object
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
ancestor
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ObjectHasAsAncestorMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectHasAsAncestorMethodInfo a signature where
overloadedMethod = objectHasAsAncestor
#endif
foreign import ccall "gst_object_has_as_parent" gst_object_has_as_parent ::
Ptr Object ->
Ptr Object ->
IO CInt
objectHasAsParent ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>
a
-> b
-> m Bool
objectHasAsParent :: a -> b -> m Bool
objectHasAsParent object :: a
object parent :: b
parent = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object
parent' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
parent
CInt
result <- Ptr Object -> Ptr Object -> IO CInt
gst_object_has_as_parent Ptr Object
object' Ptr Object
parent'
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
object
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
parent
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ObjectHasAsParentMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectHasAsParentMethodInfo a signature where
overloadedMethod = objectHasAsParent
#endif
foreign import ccall "gst_object_ref" gst_object_ref ::
Ptr Object ->
IO (Ptr Object)
objectRef ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> m Object
objectRef :: a -> m Object
objectRef object :: a
object = IO Object -> m Object
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Object -> m Object) -> IO Object -> m Object
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object
result <- Ptr Object -> IO (Ptr Object)
gst_object_ref Ptr Object
object'
Text -> Ptr Object -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "objectRef" Ptr Object
result
Object
result' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Object -> Object
Object) Ptr Object
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
Object -> IO Object
forall (m :: * -> *) a. Monad m => a -> m a
return Object
result'
#if defined(ENABLE_OVERLOADING)
data ObjectRefMethodInfo
instance (signature ~ (m Object), MonadIO m, IsObject a) => O.MethodInfo ObjectRefMethodInfo a signature where
overloadedMethod = objectRef
#endif
foreign import ccall "gst_object_remove_control_binding" gst_object_remove_control_binding ::
Ptr Object ->
Ptr Gst.ControlBinding.ControlBinding ->
IO CInt
objectRemoveControlBinding ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a, Gst.ControlBinding.IsControlBinding b) =>
a
-> b
-> m Bool
objectRemoveControlBinding :: a -> b -> m Bool
objectRemoveControlBinding object :: a
object binding :: b
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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr ControlBinding
binding' <- b -> IO (Ptr ControlBinding)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
binding
CInt
result <- Ptr Object -> Ptr ControlBinding -> IO CInt
gst_object_remove_control_binding Ptr Object
object' 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
object
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
binding
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ObjectRemoveControlBindingMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, Gst.ControlBinding.IsControlBinding b) => O.MethodInfo ObjectRemoveControlBindingMethodInfo a signature where
overloadedMethod = objectRemoveControlBinding
#endif
foreign import ccall "gst_object_set_control_binding_disabled" gst_object_set_control_binding_disabled ::
Ptr Object ->
CString ->
CInt ->
IO ()
objectSetControlBindingDisabled ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> T.Text
-> Bool
-> m ()
objectSetControlBindingDisabled :: a -> Text -> Bool -> m ()
objectSetControlBindingDisabled object :: a
object propertyName :: Text
propertyName 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr CChar
propertyName' <- Text -> IO (Ptr CChar)
textToCString Text
propertyName
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 Object -> Ptr CChar -> CInt -> IO ()
gst_object_set_control_binding_disabled Ptr Object
object' Ptr CChar
propertyName' CInt
disabled'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
propertyName'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ObjectSetControlBindingDisabledMethodInfo
instance (signature ~ (T.Text -> Bool -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetControlBindingDisabledMethodInfo a signature where
overloadedMethod = objectSetControlBindingDisabled
#endif
foreign import ccall "gst_object_set_control_bindings_disabled" gst_object_set_control_bindings_disabled ::
Ptr Object ->
CInt ->
IO ()
objectSetControlBindingsDisabled ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> Bool
-> m ()
objectSetControlBindingsDisabled :: a -> Bool -> m ()
objectSetControlBindingsDisabled object :: a
object 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
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 Object -> CInt -> IO ()
gst_object_set_control_bindings_disabled Ptr Object
object' CInt
disabled'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ObjectSetControlBindingsDisabledMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetControlBindingsDisabledMethodInfo a signature where
overloadedMethod = objectSetControlBindingsDisabled
#endif
foreign import ccall "gst_object_set_control_rate" gst_object_set_control_rate ::
Ptr Object ->
Word64 ->
IO ()
objectSetControlRate ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> Word64
-> m ()
objectSetControlRate :: a -> Word64 -> m ()
objectSetControlRate object :: a
object controlRate :: Word64
controlRate = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object -> Word64 -> IO ()
gst_object_set_control_rate Ptr Object
object' Word64
controlRate
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ObjectSetControlRateMethodInfo
instance (signature ~ (Word64 -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetControlRateMethodInfo a signature where
overloadedMethod = objectSetControlRate
#endif
foreign import ccall "gst_object_set_name" gst_object_set_name ::
Ptr Object ->
CString ->
IO CInt
objectSetName ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> Maybe (T.Text)
-> m Bool
objectSetName :: a -> Maybe Text -> m Bool
objectSetName object :: a
object name :: Maybe Text
name = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr CChar
maybeName <- case Maybe Text
name of
Nothing -> Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
forall a. Ptr a
nullPtr
Just jName :: Text
jName -> do
Ptr CChar
jName' <- Text -> IO (Ptr CChar)
textToCString Text
jName
Ptr CChar -> IO (Ptr CChar)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CChar
jName'
CInt
result <- Ptr Object -> Ptr CChar -> IO CInt
gst_object_set_name Ptr Object
object' Ptr CChar
maybeName
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
object
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
maybeName
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ObjectSetNameMethodInfo
instance (signature ~ (Maybe (T.Text) -> m Bool), MonadIO m, IsObject a) => O.MethodInfo ObjectSetNameMethodInfo a signature where
overloadedMethod = objectSetName
#endif
foreign import ccall "gst_object_set_parent" gst_object_set_parent ::
Ptr Object ->
Ptr Object ->
IO CInt
objectSetParent ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>
a
-> b
-> m Bool
objectSetParent :: a -> b -> m Bool
objectSetParent object :: a
object parent :: b
parent = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object
parent' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
parent
CInt
result <- Ptr Object -> Ptr Object -> IO CInt
gst_object_set_parent Ptr Object
object' Ptr Object
parent'
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
object
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
parent
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ObjectSetParentMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectSetParentMethodInfo a signature where
overloadedMethod = objectSetParent
#endif
foreign import ccall "gst_object_suggest_next_sync" gst_object_suggest_next_sync ::
Ptr Object ->
IO Word64
objectSuggestNextSync ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> m Word64
objectSuggestNextSync :: a -> m Word64
objectSuggestNextSync object :: a
object = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Word64
result <- Ptr Object -> IO Word64
gst_object_suggest_next_sync Ptr Object
object'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data ObjectSuggestNextSyncMethodInfo
instance (signature ~ (m Word64), MonadIO m, IsObject a) => O.MethodInfo ObjectSuggestNextSyncMethodInfo a signature where
overloadedMethod = objectSuggestNextSync
#endif
foreign import ccall "gst_object_sync_values" gst_object_sync_values ::
Ptr Object ->
Word64 ->
IO CInt
objectSyncValues ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> Word64
-> m Bool
objectSyncValues :: a -> Word64 -> m Bool
objectSyncValues object :: a
object timestamp :: Word64
timestamp = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
CInt
result <- Ptr Object -> Word64 -> IO CInt
gst_object_sync_values Ptr Object
object' Word64
timestamp
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
object
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ObjectSyncValuesMethodInfo
instance (signature ~ (Word64 -> m Bool), MonadIO m, IsObject a) => O.MethodInfo ObjectSyncValuesMethodInfo a signature where
overloadedMethod = objectSyncValues
#endif
foreign import ccall "gst_object_unparent" gst_object_unparent ::
Ptr Object ->
IO ()
objectUnparent ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> m ()
objectUnparent :: a -> m ()
objectUnparent object :: a
object = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object -> IO ()
gst_object_unparent Ptr Object
object'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ObjectUnparentMethodInfo
instance (signature ~ (m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectUnparentMethodInfo a signature where
overloadedMethod = objectUnparent
#endif
foreign import ccall "gst_object_unref" gst_object_unref ::
Ptr Object ->
IO ()
objectUnref ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
a
-> m ()
objectUnref :: a -> m ()
objectUnref object :: a
object = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object -> IO ()
gst_object_unref Ptr Object
object'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ObjectUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectUnrefMethodInfo a signature where
overloadedMethod = objectUnref
#endif
foreign import ccall "gst_object_check_uniqueness" gst_object_check_uniqueness ::
Ptr (GList (Ptr Object)) ->
CString ->
IO CInt
objectCheckUniqueness ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a) =>
[a]
-> T.Text
-> m Bool
objectCheckUniqueness :: [a] -> Text -> m Bool
objectCheckUniqueness list :: [a]
list name :: Text
name = 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 Object]
list' <- (a -> IO (Ptr Object)) -> [a] -> IO [Ptr Object]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr [a]
list
Ptr (GList (Ptr Object))
list'' <- [Ptr Object] -> IO (Ptr (GList (Ptr Object)))
forall a. [Ptr a] -> IO (Ptr (GList (Ptr a)))
packGList [Ptr Object]
list'
Ptr CChar
name' <- Text -> IO (Ptr CChar)
textToCString Text
name
CInt
result <- Ptr (GList (Ptr Object)) -> Ptr CChar -> IO CInt
gst_object_check_uniqueness Ptr (GList (Ptr Object))
list'' Ptr CChar
name'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
(a -> IO ()) -> [a] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr [a]
list
Ptr (GList (Ptr Object)) -> IO ()
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList (Ptr Object))
list''
Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CChar
name'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_object_default_deep_notify" gst_object_default_deep_notify ::
Ptr GObject.Object.Object ->
Ptr Object ->
Ptr GParamSpec ->
Ptr CString ->
IO ()
objectDefaultDeepNotify ::
(B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a, IsObject b) =>
a
-> b
-> GParamSpec
-> Maybe ([T.Text])
-> m ()
objectDefaultDeepNotify :: a -> b -> GParamSpec -> Maybe [Text] -> m ()
objectDefaultDeepNotify object :: a
object orig :: b
orig pspec :: GParamSpec
pspec excludedProps :: Maybe [Text]
excludedProps = 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 Object
object' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
object
Ptr Object
orig' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
orig
Ptr GParamSpec
pspec' <- GParamSpec -> IO (Ptr GParamSpec)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GParamSpec
pspec
Ptr (Ptr CChar)
maybeExcludedProps <- case Maybe [Text]
excludedProps of
Nothing -> Ptr (Ptr CChar) -> IO (Ptr (Ptr CChar))
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr (Ptr CChar)
forall a. Ptr a
nullPtr
Just jExcludedProps :: [Text]
jExcludedProps -> do
Ptr (Ptr CChar)
jExcludedProps' <- [Text] -> IO (Ptr (Ptr CChar))
packZeroTerminatedUTF8CArray [Text]
jExcludedProps
Ptr (Ptr CChar) -> IO (Ptr (Ptr CChar))
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr (Ptr CChar)
jExcludedProps'
Ptr Object
-> Ptr Object -> Ptr GParamSpec -> Ptr (Ptr CChar) -> IO ()
gst_object_default_deep_notify Ptr Object
object' Ptr Object
orig' Ptr GParamSpec
pspec' Ptr (Ptr CChar)
maybeExcludedProps
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
object
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
orig
GParamSpec -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GParamSpec
pspec
(Ptr CChar -> IO ()) -> Ptr (Ptr CChar) -> IO ()
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray Ptr CChar -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr CChar)
maybeExcludedProps
Ptr (Ptr CChar) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr CChar)
maybeExcludedProps
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_object_replace" gst_object_replace ::
Ptr (Ptr Object) ->
Ptr Object ->
IO CInt
objectReplace ::
(B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>
Maybe (a)
-> Maybe (b)
-> m ((Bool, Maybe Object))
objectReplace :: Maybe a -> Maybe b -> m (Bool, Maybe Object)
objectReplace oldobj :: Maybe a
oldobj newobj :: Maybe b
newobj = IO (Bool, Maybe Object) -> m (Bool, Maybe Object)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Maybe Object) -> m (Bool, Maybe Object))
-> IO (Bool, Maybe Object) -> m (Bool, Maybe Object)
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
maybeOldobj <- case Maybe a
oldobj of
Nothing -> Ptr Object -> IO (Ptr Object)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
forall a. Ptr a
nullPtr
Just jOldobj :: a
jOldobj -> do
Ptr Object
jOldobj' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, GObject a) => a -> IO (Ptr b)
B.ManagedPtr.disownObject a
jOldobj
Ptr Object -> IO (Ptr Object)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
jOldobj'
Ptr (Ptr Object)
maybeOldobj' <- IO (Ptr (Ptr Object))
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr (Ptr Object))
Ptr (Ptr Object) -> Ptr Object -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke Ptr (Ptr Object)
maybeOldobj' Ptr Object
maybeOldobj
Ptr Object
maybeNewobj <- case Maybe b
newobj of
Nothing -> Ptr Object -> IO (Ptr Object)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
forall a. Ptr a
nullPtr
Just jNewobj :: b
jNewobj -> do
Ptr Object
jNewobj' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jNewobj
Ptr Object -> IO (Ptr Object)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
jNewobj'
CInt
result <- Ptr (Ptr Object) -> Ptr Object -> IO CInt
gst_object_replace Ptr (Ptr Object)
maybeOldobj' Ptr Object
maybeNewobj
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
Ptr Object
maybeOldobj'' <- Ptr (Ptr Object) -> IO (Ptr Object)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr Object)
maybeOldobj'
Maybe Object
maybeMaybeOldobj'' <- Ptr Object -> (Ptr Object -> IO Object) -> IO (Maybe Object)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Object
maybeOldobj'' ((Ptr Object -> IO Object) -> IO (Maybe Object))
-> (Ptr Object -> IO Object) -> IO (Maybe Object)
forall a b. (a -> b) -> a -> b
$ \maybeOldobj''' :: Ptr Object
maybeOldobj''' -> do
Object
maybeOldobj'''' <- ((ManagedPtr Object -> Object) -> Ptr Object -> IO Object
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Object -> Object
Object) Ptr Object
maybeOldobj'''
Object -> IO Object
forall (m :: * -> *) a. Monad m => a -> m a
return Object
maybeOldobj''''
Maybe a -> (a -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe a
oldobj a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
newobj b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Ptr (Ptr Object) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr Object)
maybeOldobj'
(Bool, Maybe Object) -> IO (Bool, Maybe Object)
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Maybe Object
maybeMaybeOldobj'')
#if defined(ENABLE_OVERLOADING)
#endif