Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
GI.Gst.Interfaces.ChildProxy
Contents
Description
This interface abstracts handling of property sets for elements with
children. Imagine elements such as mixers or polyphonic generators. They all
have multiple Pad
or some kind of voice objects. Another use case are
container elements like Bin
.
The element implementing the interface acts as a parent for those child
objects.
By implementing this interface the child properties can be accessed from the
parent element by using gst_child_proxy_get()
and gst_child_proxy_set()
.
Property names are written as "child-name::property-name". The whole naming
scheme is recursive. Thus "child1::child2::property" is valid too, if
"child1" and "child2" implement the ChildProxy
interface.
- newtype ChildProxy = ChildProxy (ManagedPtr ChildProxy)
- noChildProxy :: Maybe ChildProxy
- class GObject o => IsChildProxy o
- toChildProxy :: IsChildProxy o => o -> IO ChildProxy
- data ChildProxyChildAddedMethodInfo
- childProxyChildAdded :: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) => a -> b -> Text -> m ()
- data ChildProxyChildRemovedMethodInfo
- childProxyChildRemoved :: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) => a -> b -> Text -> m ()
- data ChildProxyGetChildByIndexMethodInfo
- childProxyGetChildByIndex :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Word32 -> m (Maybe Object)
- data ChildProxyGetChildByNameMethodInfo
- childProxyGetChildByName :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Text -> m (Maybe Object)
- data ChildProxyGetChildrenCountMethodInfo
- childProxyGetChildrenCount :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> m Word32
- data ChildProxyGetPropertyMethodInfo
- childProxyGetProperty :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Text -> m GValue
- data ChildProxyLookupMethodInfo
- childProxyLookup :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Text -> m (Bool, Object, GParamSpec)
- data ChildProxySetPropertyMethodInfo
- childProxySetProperty :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Text -> GValue -> m ()
- type C_ChildProxyChildAddedCallback = Ptr () -> Ptr Object -> CString -> Ptr () -> IO ()
- type ChildProxyChildAddedCallback = Object -> Text -> IO ()
- data ChildProxyChildAddedSignalInfo
- afterChildProxyChildAdded :: (GObject a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId
- genClosure_ChildProxyChildAdded :: ChildProxyChildAddedCallback -> IO Closure
- mk_ChildProxyChildAddedCallback :: C_ChildProxyChildAddedCallback -> IO (FunPtr C_ChildProxyChildAddedCallback)
- noChildProxyChildAddedCallback :: Maybe ChildProxyChildAddedCallback
- onChildProxyChildAdded :: (GObject a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId
- wrap_ChildProxyChildAddedCallback :: ChildProxyChildAddedCallback -> Ptr () -> Ptr Object -> CString -> Ptr () -> IO ()
- type C_ChildProxyChildRemovedCallback = Ptr () -> Ptr Object -> CString -> Ptr () -> IO ()
- type ChildProxyChildRemovedCallback = Object -> Text -> IO ()
- data ChildProxyChildRemovedSignalInfo
- afterChildProxyChildRemoved :: (GObject a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId
- genClosure_ChildProxyChildRemoved :: ChildProxyChildRemovedCallback -> IO Closure
- mk_ChildProxyChildRemovedCallback :: C_ChildProxyChildRemovedCallback -> IO (FunPtr C_ChildProxyChildRemovedCallback)
- noChildProxyChildRemovedCallback :: Maybe ChildProxyChildRemovedCallback
- onChildProxyChildRemoved :: (GObject a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId
- wrap_ChildProxyChildRemovedCallback :: ChildProxyChildRemovedCallback -> Ptr () -> Ptr Object -> CString -> Ptr () -> IO ()
Exported types
newtype ChildProxy Source #
Constructors
ChildProxy (ManagedPtr ChildProxy) |
Instances
GObject ChildProxy Source # | |
IsObject ChildProxy Source # | |
IsChildProxy ChildProxy Source # | |
((~) * info (ResolveChildProxyMethod t ChildProxy), MethodInfo * info ChildProxy p) => IsLabel t (ChildProxy -> p) Source # | |
((~) * info (ResolveChildProxyMethod t ChildProxy), MethodInfo * info ChildProxy p) => IsLabelProxy t (ChildProxy -> p) Source # | |
HasAttributeList * ChildProxy Source # | |
type AttributeList ChildProxy Source # | |
type SignalList ChildProxy Source # | |
class GObject o => IsChildProxy o Source #
Instances
toChildProxy :: IsChildProxy o => o -> IO ChildProxy Source #
Methods
childAdded
data ChildProxyChildAddedMethodInfo Source #
Instances
((~) * signature (b -> Text -> m ()), MonadIO m, IsChildProxy a, IsObject b) => MethodInfo * ChildProxyChildAddedMethodInfo a signature Source # | |
Arguments
:: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) | |
=> a |
|
-> b |
|
-> Text |
|
-> m () |
Emits the "child-added" signal.
childRemoved
data ChildProxyChildRemovedMethodInfo Source #
Instances
((~) * signature (b -> Text -> m ()), MonadIO m, IsChildProxy a, IsObject b) => MethodInfo * ChildProxyChildRemovedMethodInfo a signature Source # | |
childProxyChildRemoved Source #
Arguments
:: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) | |
=> a |
|
-> b |
|
-> Text |
|
-> m () |
Emits the "child-removed" signal.
getChildByIndex
data ChildProxyGetChildByIndexMethodInfo Source #
Instances
((~) * signature (Word32 -> m (Maybe Object)), MonadIO m, IsChildProxy a) => MethodInfo * ChildProxyGetChildByIndexMethodInfo a signature Source # | |
childProxyGetChildByIndex Source #
Arguments
:: (HasCallStack, MonadIO m, IsChildProxy a) | |
=> a |
|
-> Word32 |
|
-> m (Maybe Object) | Returns: the child object or MT safe. |
Fetches a child by its number.
getChildByName
data ChildProxyGetChildByNameMethodInfo Source #
Instances
((~) * signature (Text -> m (Maybe Object)), MonadIO m, IsChildProxy a) => MethodInfo * ChildProxyGetChildByNameMethodInfo a signature Source # | |
childProxyGetChildByName Source #
Arguments
:: (HasCallStack, MonadIO m, IsChildProxy a) | |
=> a |
|
-> Text |
|
-> m (Maybe Object) | Returns: the child object or MT safe. |
Looks up a child element by the given name.
This virtual method has a default implementation that uses Object
together with objectGetName
. If the interface is to be used with
GObjects
, this methods needs to be overridden.
getChildrenCount
data ChildProxyGetChildrenCountMethodInfo Source #
Instances
((~) * signature (m Word32), MonadIO m, IsChildProxy a) => MethodInfo * ChildProxyGetChildrenCountMethodInfo a signature Source # | |
childProxyGetChildrenCount Source #
Arguments
:: (HasCallStack, MonadIO m, IsChildProxy a) | |
=> a |
|
-> m Word32 | Returns: the number of child objects MT safe. |
Gets the number of child objects this parent contains.
getProperty
data ChildProxyGetPropertyMethodInfo Source #
Instances
((~) * signature (Text -> m GValue), MonadIO m, IsChildProxy a) => MethodInfo * ChildProxyGetPropertyMethodInfo a signature Source # | |
childProxyGetProperty Source #
Arguments
:: (HasCallStack, MonadIO m, IsChildProxy a) | |
=> a |
|
-> Text |
|
-> m GValue |
Gets a single property using the GstChildProxy mechanism.
You are responsible for freeing it by calling valueUnset
lookup
data ChildProxyLookupMethodInfo Source #
Instances
((~) * signature (Text -> m (Bool, Object, GParamSpec)), MonadIO m, IsChildProxy a) => MethodInfo * ChildProxyLookupMethodInfo a signature Source # | |
Arguments
:: (HasCallStack, MonadIO m, IsChildProxy a) | |
=> a |
|
-> Text |
|
-> m (Bool, Object, GParamSpec) | Returns: |
Looks up which object and ParamSpec
would be effected by the given name
.
MT safe.
setProperty
data ChildProxySetPropertyMethodInfo Source #
Instances
((~) * signature (Text -> GValue -> m ()), MonadIO m, IsChildProxy a) => MethodInfo * ChildProxySetPropertyMethodInfo a signature Source # | |
childProxySetProperty Source #
Arguments
:: (HasCallStack, MonadIO m, IsChildProxy a) | |
=> a |
|
-> Text |
|
-> GValue |
|
-> m () |
Sets a single property using the GstChildProxy mechanism.
Signals
childAdded
afterChildProxyChildAdded :: (GObject a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId Source #
mk_ChildProxyChildAddedCallback :: C_ChildProxyChildAddedCallback -> IO (FunPtr C_ChildProxyChildAddedCallback) Source #
onChildProxyChildAdded :: (GObject a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId Source #
wrap_ChildProxyChildAddedCallback :: ChildProxyChildAddedCallback -> Ptr () -> Ptr Object -> CString -> Ptr () -> IO () Source #
childRemoved
afterChildProxyChildRemoved :: (GObject a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId Source #
mk_ChildProxyChildRemovedCallback :: C_ChildProxyChildRemovedCallback -> IO (FunPtr C_ChildProxyChildRemovedCallback) Source #
onChildProxyChildRemoved :: (GObject a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId Source #
wrap_ChildProxyChildRemovedCallback :: ChildProxyChildRemovedCallback -> Ptr () -> Ptr Object -> CString -> Ptr () -> IO () Source #