| 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.Structs.Structure
Contents
- Exported types
- Methods
- canIntersect
- copy
- filterAndMapInPlace
- fixate
- fixateField
- fixateFieldBoolean
- fixateFieldNearestDouble
- fixateFieldNearestFraction
- fixateFieldNearestInt
- fixateFieldString
- foreach
- free
- fromString
- getBoolean
- getClockTime
- getDate
- getDateTime
- getDouble
- getEnum
- getFieldType
- getFlagset
- getFraction
- getInt
- getInt64
- getName
- getNameId
- getString
- getUint
- getUint64
- getValue
- hasField
- hasFieldTyped
- hasName
- idGetValue
- idHasField
- idHasFieldTyped
- idSetValue
- idTakeValue
- intersect
- isEqual
- isSubset
- mapInPlace
- nFields
- newEmpty
- newFromString
- newIdEmpty
- nthFieldName
- removeAllFields
- removeField
- setName
- setParentRefcount
- setValue
- takeValue
- toString
- Properties
Description
A #GstStructure is a collection of key/value pairs. The keys are expressed as GQuarks and the values can be of any GType.
In addition to the key/value pairs, a #GstStructure also has a name. The name starts with a letter and can be filled by letters, numbers and any of "/-_.:".
#GstStructure is used by various GStreamer subsystems to store information in a flexible and extensible way. A #GstStructure does not have a refcount because it usually is part of a higher level object such as #GstCaps, GstEvent, #GstQuery. It provides a means to enforce mutability using the refcount of the parent with the gst_structure_set_parent_refcount() method.
A #GstStructure can be created with gst_structure_new_empty() or gst_structure_new(), which both take a name and an optional set of key/value pairs along with the types of the values.
Field values can be changed with gst_structure_set_value() or gst_structure_set().
Field values can be retrieved with gst_structure_get_value() or the more convenient gst_structure_get_*() functions.
Fields can be removed with gst_structure_remove_field() or gst_structure_remove_fields().
Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not allowed. Strings may be %NULL however.
Be aware that the current GstStructure serialization into string has limited support for nested GstStructure fields. It can only support one level of nesting. Using more levels will lead to unexpected behavior when using serialization features, such as gst_caps_to_string() or gst_value_serialize() and their counterparts.
- newtype Structure = Structure (ManagedPtr Structure)
- newZeroStructure :: MonadIO m => m Structure
- noStructure :: Maybe Structure
- data StructureCanIntersectMethodInfo
- structureCanIntersect :: MonadIO m => Structure -> Structure -> m Bool
- data StructureCopyMethodInfo
- structureCopy :: MonadIO m => Structure -> m Structure
- data StructureFilterAndMapInPlaceMethodInfo
- structureFilterAndMapInPlace :: MonadIO m => Structure -> StructureFilterMapFunc -> m ()
- data StructureFixateMethodInfo
- structureFixate :: MonadIO m => Structure -> m ()
- data StructureFixateFieldMethodInfo
- structureFixateField :: MonadIO m => Structure -> Text -> m Bool
- data StructureFixateFieldBooleanMethodInfo
- structureFixateFieldBoolean :: MonadIO m => Structure -> Text -> Bool -> m Bool
- data StructureFixateFieldNearestDoubleMethodInfo
- structureFixateFieldNearestDouble :: MonadIO m => Structure -> Text -> Double -> m Bool
- data StructureFixateFieldNearestFractionMethodInfo
- structureFixateFieldNearestFraction :: MonadIO m => Structure -> Text -> Int32 -> Int32 -> m Bool
- data StructureFixateFieldNearestIntMethodInfo
- structureFixateFieldNearestInt :: MonadIO m => Structure -> Text -> Int32 -> m Bool
- data StructureFixateFieldStringMethodInfo
- structureFixateFieldString :: MonadIO m => Structure -> Text -> Text -> m Bool
- data StructureForeachMethodInfo
- structureForeach :: MonadIO m => Structure -> StructureForeachFunc -> m Bool
- data StructureFreeMethodInfo
- structureFree :: MonadIO m => Structure -> m ()
- structureFromString :: MonadIO m => Text -> m (Maybe Structure, Text)
- data StructureGetBooleanMethodInfo
- structureGetBoolean :: MonadIO m => Structure -> Text -> m (Bool, Bool)
- data StructureGetClockTimeMethodInfo
- structureGetClockTime :: MonadIO m => Structure -> Text -> m (Bool, Word64)
- data StructureGetDateMethodInfo
- structureGetDate :: MonadIO m => Structure -> Text -> m (Bool, Date)
- data StructureGetDateTimeMethodInfo
- structureGetDateTime :: MonadIO m => Structure -> Text -> m (Bool, DateTime)
- data StructureGetDoubleMethodInfo
- structureGetDouble :: MonadIO m => Structure -> Text -> m (Bool, Double)
- data StructureGetEnumMethodInfo
- structureGetEnum :: MonadIO m => Structure -> Text -> GType -> m (Bool, Int32)
- data StructureGetFieldTypeMethodInfo
- structureGetFieldType :: MonadIO m => Structure -> Text -> m GType
- data StructureGetFlagsetMethodInfo
- structureGetFlagset :: MonadIO m => Structure -> Text -> m (Bool, Word32, Word32)
- data StructureGetFractionMethodInfo
- structureGetFraction :: MonadIO m => Structure -> Text -> m (Bool, Int32, Int32)
- data StructureGetIntMethodInfo
- structureGetInt :: MonadIO m => Structure -> Text -> m (Bool, Int32)
- data StructureGetInt64MethodInfo
- structureGetInt64 :: MonadIO m => Structure -> Text -> m (Bool, Int64)
- data StructureGetNameMethodInfo
- structureGetName :: MonadIO m => Structure -> m Text
- data StructureGetNameIdMethodInfo
- structureGetNameId :: MonadIO m => Structure -> m Word32
- data StructureGetStringMethodInfo
- structureGetString :: MonadIO m => Structure -> Text -> m (Maybe Text)
- data StructureGetUintMethodInfo
- structureGetUint :: MonadIO m => Structure -> Text -> m (Bool, Word32)
- data StructureGetUint64MethodInfo
- structureGetUint64 :: MonadIO m => Structure -> Text -> m (Bool, Word64)
- data StructureGetValueMethodInfo
- structureGetValue :: MonadIO m => Structure -> Text -> m GValue
- data StructureHasFieldMethodInfo
- structureHasField :: MonadIO m => Structure -> Text -> m Bool
- data StructureHasFieldTypedMethodInfo
- structureHasFieldTyped :: MonadIO m => Structure -> Text -> GType -> m Bool
- data StructureHasNameMethodInfo
- structureHasName :: MonadIO m => Structure -> Text -> m Bool
- data StructureIdGetValueMethodInfo
- structureIdGetValue :: MonadIO m => Structure -> Word32 -> m GValue
- data StructureIdHasFieldMethodInfo
- structureIdHasField :: MonadIO m => Structure -> Word32 -> m Bool
- data StructureIdHasFieldTypedMethodInfo
- structureIdHasFieldTyped :: MonadIO m => Structure -> Word32 -> GType -> m Bool
- data StructureIdSetValueMethodInfo
- structureIdSetValue :: MonadIO m => Structure -> Word32 -> GValue -> m ()
- data StructureIdTakeValueMethodInfo
- structureIdTakeValue :: MonadIO m => Structure -> Word32 -> GValue -> m ()
- data StructureIntersectMethodInfo
- structureIntersect :: MonadIO m => Structure -> Structure -> m Structure
- data StructureIsEqualMethodInfo
- structureIsEqual :: MonadIO m => Structure -> Structure -> m Bool
- data StructureIsSubsetMethodInfo
- structureIsSubset :: MonadIO m => Structure -> Structure -> m Bool
- data StructureMapInPlaceMethodInfo
- structureMapInPlace :: MonadIO m => Structure -> StructureMapFunc -> m Bool
- data StructureNFieldsMethodInfo
- structureNFields :: MonadIO m => Structure -> m Int32
- structureNewEmpty :: MonadIO m => Text -> m Structure
- structureNewFromString :: MonadIO m => Text -> m (Maybe Structure)
- structureNewIdEmpty :: MonadIO m => Word32 -> m Structure
- data StructureNthFieldNameMethodInfo
- structureNthFieldName :: MonadIO m => Structure -> Word32 -> m Text
- data StructureRemoveAllFieldsMethodInfo
- structureRemoveAllFields :: MonadIO m => Structure -> m ()
- data StructureRemoveFieldMethodInfo
- structureRemoveField :: MonadIO m => Structure -> Text -> m ()
- data StructureSetNameMethodInfo
- structureSetName :: MonadIO m => Structure -> Text -> m ()
- data StructureSetParentRefcountMethodInfo
- structureSetParentRefcount :: MonadIO m => Structure -> Int32 -> m Bool
- data StructureSetValueMethodInfo
- structureSetValue :: MonadIO m => Structure -> Text -> GValue -> m ()
- data StructureTakeValueMethodInfo
- structureTakeValue :: MonadIO m => Structure -> Text -> GValue -> m ()
- data StructureToStringMethodInfo
- structureToString :: MonadIO m => Structure -> m Text
- getStructureType :: MonadIO m => Structure -> m GType
- setStructureType :: MonadIO m => Structure -> GType -> m ()
- structure_type :: AttrLabelProxy "type"
Exported types
Instances
| BoxedObject Structure Source # | |
| (~) AttrOpTag tag AttrSet => Constructible Structure tag Source # | |
| ((~) * info (ResolveStructureMethod t Structure), MethodInfo * info Structure p) => IsLabel t (Structure -> p) Source # | |
| ((~) * info (ResolveStructureMethod t Structure), MethodInfo * info Structure p) => IsLabelProxy t (Structure -> p) Source # | |
| HasAttributeList * Structure Source # | |
| ((~) * signature (m Text), MonadIO m) => MethodInfo * StructureToStringMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> GValue -> m ()), MonadIO m) => MethodInfo * StructureTakeValueMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> GValue -> m ()), MonadIO m) => MethodInfo * StructureSetValueMethodInfo Structure signature Source # | |
| ((~) * signature (Int32 -> m Bool), MonadIO m) => MethodInfo * StructureSetParentRefcountMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m ()), MonadIO m) => MethodInfo * StructureSetNameMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m ()), MonadIO m) => MethodInfo * StructureRemoveFieldMethodInfo Structure signature Source # | |
| ((~) * signature (m ()), MonadIO m) => MethodInfo * StructureRemoveAllFieldsMethodInfo Structure signature Source # | |
| ((~) * signature (Word32 -> m Text), MonadIO m) => MethodInfo * StructureNthFieldNameMethodInfo Structure signature Source # | |
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * StructureNFieldsMethodInfo Structure signature Source # | |
| ((~) * signature (StructureMapFunc -> m Bool), MonadIO m) => MethodInfo * StructureMapInPlaceMethodInfo Structure signature Source # | |
| ((~) * signature (Structure -> m Bool), MonadIO m) => MethodInfo * StructureIsSubsetMethodInfo Structure signature Source # | |
| ((~) * signature (Structure -> m Bool), MonadIO m) => MethodInfo * StructureIsEqualMethodInfo Structure signature Source # | |
| ((~) * signature (Structure -> m Structure), MonadIO m) => MethodInfo * StructureIntersectMethodInfo Structure signature Source # | |
| ((~) * signature (Word32 -> GValue -> m ()), MonadIO m) => MethodInfo * StructureIdTakeValueMethodInfo Structure signature Source # | |
| ((~) * signature (Word32 -> GValue -> m ()), MonadIO m) => MethodInfo * StructureIdSetValueMethodInfo Structure signature Source # | |
| ((~) * signature (Word32 -> GType -> m Bool), MonadIO m) => MethodInfo * StructureIdHasFieldTypedMethodInfo Structure signature Source # | |
| ((~) * signature (Word32 -> m Bool), MonadIO m) => MethodInfo * StructureIdHasFieldMethodInfo Structure signature Source # | |
| ((~) * signature (Word32 -> m GValue), MonadIO m) => MethodInfo * StructureIdGetValueMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * StructureHasNameMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> GType -> m Bool), MonadIO m) => MethodInfo * StructureHasFieldTypedMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * StructureHasFieldMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m GValue), MonadIO m) => MethodInfo * StructureGetValueMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Word64)), MonadIO m) => MethodInfo * StructureGetUint64MethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Word32)), MonadIO m) => MethodInfo * StructureGetUintMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Maybe Text)), MonadIO m) => MethodInfo * StructureGetStringMethodInfo Structure signature Source # | |
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * StructureGetNameIdMethodInfo Structure signature Source # | |
| ((~) * signature (m Text), MonadIO m) => MethodInfo * StructureGetNameMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Int64)), MonadIO m) => MethodInfo * StructureGetInt64MethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Int32)), MonadIO m) => MethodInfo * StructureGetIntMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Int32, Int32)), MonadIO m) => MethodInfo * StructureGetFractionMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Word32, Word32)), MonadIO m) => MethodInfo * StructureGetFlagsetMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m GType), MonadIO m) => MethodInfo * StructureGetFieldTypeMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> GType -> m (Bool, Int32)), MonadIO m) => MethodInfo * StructureGetEnumMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Double)), MonadIO m) => MethodInfo * StructureGetDoubleMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, DateTime)), MonadIO m) => MethodInfo * StructureGetDateTimeMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Date)), MonadIO m) => MethodInfo * StructureGetDateMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Word64)), MonadIO m) => MethodInfo * StructureGetClockTimeMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m (Bool, Bool)), MonadIO m) => MethodInfo * StructureGetBooleanMethodInfo Structure signature Source # | |
| ((~) * signature (m ()), MonadIO m) => MethodInfo * StructureFreeMethodInfo Structure signature Source # | |
| ((~) * signature (StructureForeachFunc -> m Bool), MonadIO m) => MethodInfo * StructureForeachMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> Text -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldStringMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> Int32 -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldNearestIntMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> Int32 -> Int32 -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldNearestFractionMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> Double -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldNearestDoubleMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> Bool -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldBooleanMethodInfo Structure signature Source # | |
| ((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldMethodInfo Structure signature Source # | |
| ((~) * signature (m ()), MonadIO m) => MethodInfo * StructureFixateMethodInfo Structure signature Source # | |
| ((~) * signature (StructureFilterMapFunc -> m ()), MonadIO m) => MethodInfo * StructureFilterAndMapInPlaceMethodInfo Structure signature Source # | |
| ((~) * signature (m Structure), MonadIO m) => MethodInfo * StructureCopyMethodInfo Structure signature Source # | |
| ((~) * signature (Structure -> m Bool), MonadIO m) => MethodInfo * StructureCanIntersectMethodInfo Structure signature Source # | |
| type AttributeList Structure Source # | |
newZeroStructure :: MonadIO m => m Structure Source #
Construct a Structure struct initialized to zero.
Methods
canIntersect
copy
filterAndMapInPlace
data StructureFilterAndMapInPlaceMethodInfo Source #
Instances
| ((~) * signature (StructureFilterMapFunc -> m ()), MonadIO m) => MethodInfo * StructureFilterAndMapInPlaceMethodInfo Structure signature Source # | |
structureFilterAndMapInPlace :: MonadIO m => Structure -> StructureFilterMapFunc -> m () Source #
fixate
structureFixate :: MonadIO m => Structure -> m () Source #
fixateField
fixateFieldBoolean
fixateFieldNearestDouble
fixateFieldNearestFraction
structureFixateFieldNearestFraction :: MonadIO m => Structure -> Text -> Int32 -> Int32 -> m Bool Source #
fixateFieldNearestInt
fixateFieldString
foreach
data StructureForeachMethodInfo Source #
Instances
| ((~) * signature (StructureForeachFunc -> m Bool), MonadIO m) => MethodInfo * StructureForeachMethodInfo Structure signature Source # | |
structureForeach :: MonadIO m => Structure -> StructureForeachFunc -> m Bool Source #
free
structureFree :: MonadIO m => Structure -> m () Source #
fromString
getBoolean
getClockTime
getDate
getDateTime
getDouble
getEnum
getFieldType
structureGetFieldType :: MonadIO m => Structure -> Text -> m GType Source #
getFlagset
getFraction
getInt
getInt64
getName
structureGetName :: MonadIO m => Structure -> m Text Source #
getNameId
getString
getUint
getUint64
getValue
structureGetValue :: MonadIO m => Structure -> Text -> m GValue Source #
hasField
hasFieldTyped
hasName
idGetValue
idHasField
idHasFieldTyped
idSetValue
idTakeValue
intersect
isEqual
isSubset
mapInPlace
data StructureMapInPlaceMethodInfo Source #
Instances
| ((~) * signature (StructureMapFunc -> m Bool), MonadIO m) => MethodInfo * StructureMapInPlaceMethodInfo Structure signature Source # | |
structureMapInPlace :: MonadIO m => Structure -> StructureMapFunc -> m Bool Source #
nFields
newEmpty
structureNewEmpty :: MonadIO m => Text -> m Structure Source #
newFromString
newIdEmpty
nthFieldName
removeAllFields
structureRemoveAllFields :: MonadIO m => Structure -> m () Source #
removeField
structureRemoveField :: MonadIO m => Structure -> Text -> m () Source #
setName
structureSetName :: MonadIO m => Structure -> Text -> m () Source #
setParentRefcount
setValue
structureSetValue :: MonadIO m => Structure -> Text -> GValue -> m () Source #
takeValue
structureTakeValue :: MonadIO m => Structure -> Text -> GValue -> m () Source #
toString
structureToString :: MonadIO m => Structure -> m Text Source #
Properties
type
getStructureType :: MonadIO m => Structure -> m GType Source #
setStructureType :: MonadIO m => Structure -> GType -> m () Source #
structure_type :: AttrLabelProxy "type" Source #