Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
- Exported types
- Methods
- addMetasFromString
- checkMetaRegistered
- foreach
- getBoolean
- getDate
- getDateTime
- getDouble
- getFloat
- getInt
- getInt64
- getMarkerList
- getMeta
- getString
- getUint
- getUint64
- metasToString
- registerMeta
- registerMetaBoolean
- registerMetaDate
- registerMetaDateTime
- registerMetaDouble
- registerMetaFloat
- registerMetaInt
- registerMetaInt64
- registerMetaString
- registerMetaUint
- registerMetaUint64
- registerStaticMeta
- setBoolean
- setDate
- setDateTime
- setDouble
- setFloat
- setInt
- setInt64
- setMarkerList
- setMeta
- setString
- setUint
- setUint64
- Signals
A Object
that implements MetaContainer
can have metadata set on
it, that is data that is unimportant to its function within GES, but
may hold some useful information. In particular,
metaContainerSetMeta
can be used to store any Value
under
any generic field (specified by a string key). The same method can also
be used to remove the field by passing Nothing
. A number of convenience
methods are also provided to make it easier to set common value types.
The metadata can then be read with metaContainerGetMeta
and
similar convenience methods.
Registered Fields
By default, any Value
can be set for a metadata field. However, you
can register some fields as static, that is they only allow values of a
specific type to be set under them, using
metaContainerRegisterMeta
or
metaContainerRegisterStaticMeta
. The set MetaFlag
will
determine whether the value can be changed, but even if it can be
changed, it must be changed to a value of the same type.
Internally, some GES objects will be initialized with static metadata
fields. These will correspond to some standard keys, such as
META_VOLUME
.
Synopsis
- newtype MetaContainer = MetaContainer (ManagedPtr MetaContainer)
- class (GObject o, IsDescendantOf MetaContainer o) => IsMetaContainer o
- toMetaContainer :: (MonadIO m, IsMetaContainer o) => o -> m MetaContainer
- metaContainerAddMetasFromString :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m Bool
- metaContainerCheckMetaRegistered :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, [MetaFlag], GType)
- metaContainerForeach :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> MetaForeachFunc -> m ()
- metaContainerGetBoolean :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, Bool)
- metaContainerGetDate :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, Date)
- metaContainerGetDateTime :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, DateTime)
- metaContainerGetDouble :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, Double)
- metaContainerGetFloat :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, Float)
- metaContainerGetInt :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, Int32)
- metaContainerGetInt64 :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, Int64)
- metaContainerGetMarkerList :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Maybe MarkerList)
- metaContainerGetMeta :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Maybe GValue)
- metaContainerGetString :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Maybe Text)
- metaContainerGetUint :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, Word32)
- metaContainerGetUint64 :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> m (Bool, Word64)
- metaContainerMetasToString :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> m Text
- metaContainerRegisterMeta :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> GValue -> m Bool
- metaContainerRegisterMetaBoolean :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> Bool -> m Bool
- metaContainerRegisterMetaDate :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> Date -> m Bool
- metaContainerRegisterMetaDateTime :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> DateTime -> m Bool
- metaContainerRegisterMetaDouble :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> Double -> m Bool
- metaContainerRegisterMetaFloat :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> Float -> m Bool
- metaContainerRegisterMetaInt :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> Int32 -> m Bool
- metaContainerRegisterMetaInt64 :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> Int64 -> m Bool
- metaContainerRegisterMetaString :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> Text -> m Bool
- metaContainerRegisterMetaUint :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> Word32 -> m Bool
- metaContainerRegisterMetaUint64 :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> Word64 -> m Bool
- metaContainerRegisterStaticMeta :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> [MetaFlag] -> Text -> GType -> m Bool
- metaContainerSetBoolean :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Bool -> m Bool
- metaContainerSetDate :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Date -> m Bool
- metaContainerSetDateTime :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> DateTime -> m Bool
- metaContainerSetDouble :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Double -> m Bool
- metaContainerSetFloat :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Float -> m Bool
- metaContainerSetInt :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Int32 -> m Bool
- metaContainerSetInt64 :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Int64 -> m Bool
- metaContainerSetMarkerList :: (HasCallStack, MonadIO m, IsMetaContainer a, IsMarkerList b) => a -> Text -> b -> m Bool
- metaContainerSetMeta :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Maybe GValue -> m Bool
- metaContainerSetString :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Text -> m Bool
- metaContainerSetUint :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Word32 -> m Bool
- metaContainerSetUint64 :: (HasCallStack, MonadIO m, IsMetaContainer a) => a -> Text -> Word64 -> m Bool
- type MetaContainerNotifyMetaCallback = Text -> Maybe GValue -> IO ()
- afterMetaContainerNotifyMeta :: (IsMetaContainer a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => MetaContainerNotifyMetaCallback) -> m SignalHandlerId
- onMetaContainerNotifyMeta :: (IsMetaContainer a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => MetaContainerNotifyMetaCallback) -> m SignalHandlerId
Exported types
newtype MetaContainer Source #
Memory-managed wrapper type.
MetaContainer (ManagedPtr MetaContainer) |
Instances
Eq MetaContainer Source # | |
Defined in GI.GES.Interfaces.MetaContainer (==) :: MetaContainer -> MetaContainer -> Bool # (/=) :: MetaContainer -> MetaContainer -> Bool # | |
GObject MetaContainer Source # | |
Defined in GI.GES.Interfaces.MetaContainer | |
ManagedPtrNewtype MetaContainer Source # | |
Defined in GI.GES.Interfaces.MetaContainer toManagedPtr :: MetaContainer -> ManagedPtr MetaContainer | |
TypedObject MetaContainer Source # | |
Defined in GI.GES.Interfaces.MetaContainer | |
HasParentTypes MetaContainer Source # | |
Defined in GI.GES.Interfaces.MetaContainer | |
IsGValue (Maybe MetaContainer) Source # | Convert |
Defined in GI.GES.Interfaces.MetaContainer gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe MetaContainer -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe MetaContainer) | |
type ParentTypes MetaContainer Source # | |
Defined in GI.GES.Interfaces.MetaContainer type ParentTypes MetaContainer = '[Object] |
class (GObject o, IsDescendantOf MetaContainer o) => IsMetaContainer o Source #
Type class for types which can be safely cast to MetaContainer
, for instance with toMetaContainer
.
Instances
(GObject o, IsDescendantOf MetaContainer o) => IsMetaContainer o Source # | |
Defined in GI.GES.Interfaces.MetaContainer |
toMetaContainer :: (MonadIO m, IsMetaContainer o) => o -> m MetaContainer Source #
Cast to MetaContainer
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Click to display all available methods, including inherited ones
Methods
addMetasFromString, bindProperty, bindPropertyFull, checkMetaRegistered, forceFloating, foreach, freezeNotify, getv, isFloating, metasToString, notify, notifyByPspec, ref, refSink, registerMeta, registerMetaBoolean, registerMetaDate, registerMetaDateTime, registerMetaDouble, registerMetaFloat, registerMetaInt, registerMetaInt64, registerMetaString, registerMetaUint, registerMetaUint64, registerStaticMeta, runDispose, stealData, stealQdata, thawNotify, unref, watchClosure.
Getters
getBoolean, getData, getDate, getDateTime, getDouble, getFloat, getInt, getInt64, getMarkerList, getMeta, getProperty, getQdata, getString, getUint, getUint64.
Setters
setBoolean, setData, setDataFull, setDate, setDateTime, setDouble, setFloat, setInt, setInt64, setMarkerList, setMeta, setProperty, setString, setUint, setUint64.
addMetasFromString
metaContainerAddMetasFromString Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m Bool | Returns: |
Deserializes the given string, and adds and sets the found fields and
their values on the container. The string should be the return of
metaContainerMetasToString
.
checkMetaRegistered
metaContainerCheckMetaRegistered Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, [MetaFlag], GType) | Returns: |
Checks whether the specified field has been registered as static, and
gets the registered type and flags of the field, as used in
metaContainerRegisterMeta
and
metaContainerRegisterStaticMeta
.
foreach
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> MetaForeachFunc |
|
-> m () |
Calls the given function on each of the meta container's set metadata fields.
getBoolean
metaContainerGetBoolean Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, Bool) | Returns: |
Gets the current boolean value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
getDate
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, Date) | Returns: |
Gets the current date value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
getDateTime
metaContainerGetDateTime Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, DateTime) | Returns: |
Gets the current date time value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
getDouble
metaContainerGetDouble Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, Double) | Returns: |
Gets the current double value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
getFloat
metaContainerGetFloat Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, Float) | Returns: |
Gets the current float value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
getInt
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, Int32) | Returns: |
Gets the current int value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
getInt64
metaContainerGetInt64 Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, Int64) | Returns: |
Gets the current int64 value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
getMarkerList
metaContainerGetMarkerList Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Maybe MarkerList) | Returns: A copy of the marker list value under |
Gets the current marker list value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
Since: 1.18
getMeta
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Maybe GValue) | Returns: The value under |
Gets the current value of the specified field of the meta container.
getString
metaContainerGetString Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Maybe Text) | Returns: The string value under |
Gets the current string value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
getUint
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, Word32) | Returns: |
Gets the current uint value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
getUint64
metaContainerGetUint64 Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> m (Bool, Word64) | Returns: |
Gets the current uint64 value of the specified field of the meta container. If the field does not have a set value, or it is of the wrong type, the method will fail.
metasToString
metaContainerMetasToString Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> m Text | Returns: A serialized |
Serializes the set metadata fields of the meta container to a string.
registerMeta
metaContainerRegisterMeta Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> GValue |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the
given value, and registers the field to only hold a value of the
same type. After calling this, only values of the same type as value
can be set for this field. The given flags can be set to make this
field only readable after calling this method.
registerMetaBoolean
metaContainerRegisterMetaBoolean Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> Bool |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given boolean value, and registers the field to only hold a boolean typed value. After calling this, only boolean values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerMetaDate
metaContainerRegisterMetaDate Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> Date |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given date value, and registers the field to only hold a date typed value. After calling this, only date values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerMetaDateTime
metaContainerRegisterMetaDateTime Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> DateTime |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given date time value, and registers the field to only hold a date time typed value. After calling this, only date time values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerMetaDouble
metaContainerRegisterMetaDouble Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> Double |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given double value, and registers the field to only hold a double typed value. After calling this, only double values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerMetaFloat
metaContainerRegisterMetaFloat Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> Float |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given float value, and registers the field to only hold a float typed value. After calling this, only float values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerMetaInt
metaContainerRegisterMetaInt Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> Int32 |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given int value, and registers the field to only hold an int typed value. After calling this, only int values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerMetaInt64
metaContainerRegisterMetaInt64 Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> Int64 |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given int64 value, and registers the field to only hold an int64 typed value. After calling this, only int64 values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerMetaString
metaContainerRegisterMetaString Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> Text |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given string value, and registers the field to only hold a string typed value. After calling this, only string values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerMetaUint
metaContainerRegisterMetaUint Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> Word32 |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given uint value, and registers the field to only hold a uint typed value. After calling this, only uint values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerMetaUint64
metaContainerRegisterMetaUint64 Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> Word64 |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given uint64 value, and registers the field to only hold a uint64 typed value. After calling this, only uint64 values can be set for this field. The given flags can be set to make this field only readable after calling this method.
registerStaticMeta
metaContainerRegisterStaticMeta Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> [MetaFlag] |
|
-> Text |
|
-> GType |
|
-> m Bool | Returns: |
Registers a static metadata field on the container to only hold the specified type. After calling this, setting a value under this field can only succeed if its type matches the registered type of the field.
Unlike metaContainerRegisterMeta
, no (initial) value is set
for this field, which means you can use this method to reserve the
space to be _optionally_ set later.
Note that if a value has already been set for the field being
registered, then its type must match the registering type, and its
value will be left in place. If the field has no set value, then
you will likely want to include GES_META_WRITABLE
in flags
to allow
the value to be set later.
Since: 1.18
setBoolean
metaContainerSetBoolean Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Bool |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given boolean value.
setDate
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Date |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given date value.
setDateTime
metaContainerSetDateTime Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> DateTime |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given date time value.
setDouble
metaContainerSetDouble Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Double |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given double value.
setFloat
metaContainerSetFloat Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Float |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given float value.
setInt
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Int32 |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given int value.
setInt64
metaContainerSetInt64 Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Int64 |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given int64 value.
setMarkerList
metaContainerSetMarkerList Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a, IsMarkerList b) | |
=> a |
|
-> Text |
|
-> b |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given marker list value.
Since: 1.18
setMeta
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Maybe GValue |
|
-> m Bool | Returns: |
setString
metaContainerSetString Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Text |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given string value.
setUint
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Word32 |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given uint value.
setUint64
metaContainerSetUint64 Source #
:: (HasCallStack, MonadIO m, IsMetaContainer a) | |
=> a |
|
-> Text |
|
-> Word64 |
|
-> m Bool | Returns: |
Sets the value of the specified field of the meta container to the given uint64 value.
Signals
notifyMeta
type MetaContainerNotifyMetaCallback Source #
= Text |
|
-> Maybe GValue |
|
-> IO () |
This is emitted for a meta container whenever the metadata under one
of its fields changes, is set for the first time, or is removed. In
the latter case, value
will be Nothing
.
afterMetaContainerNotifyMeta :: (IsMetaContainer a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => MetaContainerNotifyMetaCallback) -> m SignalHandlerId Source #
Connect a signal handler for the notifyMeta signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
metaContainer #notifyMeta callback
This signal admits a optional parameter detail
.
If it's not Nothing
, we will connect to “notify-meta::detail
” instead.
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onMetaContainerNotifyMeta :: (IsMetaContainer a, MonadIO m) => a -> Maybe Text -> ((?self :: a) => MetaContainerNotifyMetaCallback) -> m SignalHandlerId Source #
Connect a signal handler for the notifyMeta signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
metaContainer #notifyMeta callback
This signal admits a optional parameter detail
.
If it's not Nothing
, we will connect to “notify-meta::detail
” instead.