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 |
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 :: (MonadIO m, IsChildProxy o) => o -> m ChildProxy
- childProxyChildAdded :: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) => a -> b -> Text -> m ()
- childProxyChildRemoved :: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) => a -> b -> Text -> m ()
- childProxyGetChildByIndex :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Word32 -> m (Maybe Object)
- childProxyGetChildByName :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Text -> m (Maybe Object)
- childProxyGetChildrenCount :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> m Word32
- childProxyGetProperty :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Text -> m GValue
- childProxyLookup :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Text -> m (Bool, Object, GParamSpec)
- childProxySetProperty :: (HasCallStack, MonadIO m, IsChildProxy a) => a -> Text -> GValue -> m ()
- type C_ChildProxyChildAddedCallback = Ptr () -> Ptr Object -> CString -> Ptr () -> IO ()
- type ChildProxyChildAddedCallback = Object -> Text -> IO ()
- afterChildProxyChildAdded :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId
- genClosure_ChildProxyChildAdded :: ChildProxyChildAddedCallback -> IO Closure
- mk_ChildProxyChildAddedCallback :: C_ChildProxyChildAddedCallback -> IO (FunPtr C_ChildProxyChildAddedCallback)
- noChildProxyChildAddedCallback :: Maybe ChildProxyChildAddedCallback
- onChildProxyChildAdded :: (IsChildProxy 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 ()
- afterChildProxyChildRemoved :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId
- genClosure_ChildProxyChildRemoved :: ChildProxyChildRemovedCallback -> IO Closure
- mk_ChildProxyChildRemovedCallback :: C_ChildProxyChildRemovedCallback -> IO (FunPtr C_ChildProxyChildRemovedCallback)
- noChildProxyChildRemovedCallback :: Maybe ChildProxyChildRemovedCallback
- onChildProxyChildRemoved :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId
- wrap_ChildProxyChildRemovedCallback :: ChildProxyChildRemovedCallback -> Ptr () -> Ptr Object -> CString -> Ptr () -> IO ()
Exported types
newtype ChildProxy Source #
class GObject o => IsChildProxy o Source #
toChildProxy :: (MonadIO m, IsChildProxy o) => o -> m ChildProxy Source #
Methods
childAdded
:: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) | |
=> a |
|
-> b |
|
-> Text |
|
-> m () |
Emits the "child-added" signal.
childRemoved
childProxyChildRemoved Source #
:: (HasCallStack, MonadIO m, IsChildProxy a, IsObject b) | |
=> a |
|
-> b |
|
-> Text |
|
-> m () |
Emits the "child-removed" signal.
getChildByIndex
childProxyGetChildByIndex Source #
:: (HasCallStack, MonadIO m, IsChildProxy a) | |
=> a |
|
-> Word32 |
|
-> m (Maybe Object) | Returns: the child object or MT safe. |
Fetches a child by its number.
getChildByName
childProxyGetChildByName Source #
:: (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
childProxyGetChildrenCount Source #
:: (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
childProxyGetProperty Source #
:: (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
:: (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
childProxySetProperty Source #
:: (HasCallStack, MonadIO m, IsChildProxy a) | |
=> a |
|
-> Text |
|
-> GValue |
|
-> m () |
Sets a single property using the GstChildProxy mechanism.
Signals
childAdded
afterChildProxyChildAdded :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId Source #
mk_ChildProxyChildAddedCallback :: C_ChildProxyChildAddedCallback -> IO (FunPtr C_ChildProxyChildAddedCallback) Source #
onChildProxyChildAdded :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId Source #
wrap_ChildProxyChildAddedCallback :: ChildProxyChildAddedCallback -> Ptr () -> Ptr Object -> CString -> Ptr () -> IO () Source #
childRemoved
afterChildProxyChildRemoved :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId Source #
mk_ChildProxyChildRemovedCallback :: C_ChildProxyChildRemovedCallback -> IO (FunPtr C_ChildProxyChildRemovedCallback) Source #
onChildProxyChildRemoved :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId Source #
wrap_ChildProxyChildRemovedCallback :: ChildProxyChildRemovedCallback -> Ptr () -> Ptr Object -> CString -> Ptr () -> IO () Source #