| 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
- structureCanIntersect
- structureCopy
- structureFilterAndMapInPlace
- structureFixate
- structureFixateField
- structureFixateFieldBoolean
- structureFixateFieldNearestDouble
- structureFixateFieldNearestFraction
- structureFixateFieldNearestInt
- structureFixateFieldString
- structureForeach
- structureFree
- structureFromString
- structureGetBoolean
- structureGetClockTime
- structureGetDate
- structureGetDateTime
- structureGetDouble
- structureGetEnum
- structureGetFieldType
- structureGetFlagset
- structureGetFraction
- structureGetInt
- structureGetInt64
- structureGetName
- structureGetNameId
- structureGetString
- structureGetUint
- structureGetUint64
- structureGetValue
- structureHasField
- structureHasFieldTyped
- structureHasName
- structureIdGetValue
- structureIdHasField
- structureIdHasFieldTyped
- structureIdSetValue
- structureIdTakeValue
- structureIntersect
- structureIsEqual
- structureIsSubset
- structureMapInPlace
- structureNFields
- structureNewEmpty
- structureNewFromString
- structureNewIdEmpty
- structureNthFieldName
- structureRemoveAllFields
- structureRemoveField
- structureSetName
- structureSetParentRefcount
- structureSetValue
- structureTakeValue
- structureToString
- 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 (ForeignPtr 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
- structureReadType :: MonadIO m => Structure -> m GType
- structureType :: AttrLabelProxy "type"
- structureWriteType :: MonadIO m => Structure -> GType -> m ()
Exported types
Constructors
| Structure (ForeignPtr Structure) |
Instances
newZeroStructure :: MonadIO m => m Structure Source
Construct a Structure struct initialized to zero.
Methods
structureCanIntersect
data StructureCanIntersectMethodInfo Source
Instances
| ((~) * signature (Structure -> m Bool), MonadIO m) => MethodInfo * StructureCanIntersectMethodInfo Structure signature Source |
structureCopy
data StructureCopyMethodInfo Source
Instances
| ((~) * signature (m Structure), MonadIO m) => MethodInfo * StructureCopyMethodInfo Structure signature Source |
structureCopy :: MonadIO m => Structure -> m Structure Source
structureFilterAndMapInPlace
data StructureFilterAndMapInPlaceMethodInfo Source
Instances
| ((~) * signature (StructureFilterMapFunc -> m ()), MonadIO m) => MethodInfo * StructureFilterAndMapInPlaceMethodInfo Structure signature Source |
structureFilterAndMapInPlace :: MonadIO m => Structure -> StructureFilterMapFunc -> m () Source
structureFixate
data StructureFixateMethodInfo Source
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * StructureFixateMethodInfo Structure signature Source |
structureFixate :: MonadIO m => Structure -> m () Source
structureFixateField
data StructureFixateFieldMethodInfo Source
Instances
| ((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldMethodInfo Structure signature Source |
structureFixateFieldBoolean
data StructureFixateFieldBooleanMethodInfo Source
Instances
| ((~) * signature (Text -> Bool -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldBooleanMethodInfo Structure signature Source |
structureFixateFieldNearestDouble
data StructureFixateFieldNearestDoubleMethodInfo Source
Instances
| ((~) * signature (Text -> Double -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldNearestDoubleMethodInfo Structure signature Source |
structureFixateFieldNearestFraction
data StructureFixateFieldNearestFractionMethodInfo Source
Instances
| ((~) * signature (Text -> Int32 -> Int32 -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldNearestFractionMethodInfo Structure signature Source |
structureFixateFieldNearestFraction :: MonadIO m => Structure -> Text -> Int32 -> Int32 -> m Bool Source
structureFixateFieldNearestInt
data StructureFixateFieldNearestIntMethodInfo Source
Instances
| ((~) * signature (Text -> Int32 -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldNearestIntMethodInfo Structure signature Source |
structureFixateFieldString
data StructureFixateFieldStringMethodInfo Source
Instances
| ((~) * signature (Text -> Text -> m Bool), MonadIO m) => MethodInfo * StructureFixateFieldStringMethodInfo Structure signature Source |
structureForeach
data StructureForeachMethodInfo Source
Instances
| ((~) * signature (StructureForeachFunc -> m Bool), MonadIO m) => MethodInfo * StructureForeachMethodInfo Structure signature Source |
structureForeach :: MonadIO m => Structure -> StructureForeachFunc -> m Bool Source
structureFree
data StructureFreeMethodInfo Source
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * StructureFreeMethodInfo Structure signature Source |
structureFree :: MonadIO m => Structure -> m () Source
structureFromString
structureGetBoolean
data StructureGetBooleanMethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Bool)), MonadIO m) => MethodInfo * StructureGetBooleanMethodInfo Structure signature Source |
structureGetClockTime
data StructureGetClockTimeMethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Word64)), MonadIO m) => MethodInfo * StructureGetClockTimeMethodInfo Structure signature Source |
structureGetDate
data StructureGetDateMethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Date)), MonadIO m) => MethodInfo * StructureGetDateMethodInfo Structure signature Source |
structureGetDateTime
data StructureGetDateTimeMethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, DateTime)), MonadIO m) => MethodInfo * StructureGetDateTimeMethodInfo Structure signature Source |
structureGetDouble
data StructureGetDoubleMethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Double)), MonadIO m) => MethodInfo * StructureGetDoubleMethodInfo Structure signature Source |
structureGetEnum
data StructureGetEnumMethodInfo Source
Instances
| ((~) * signature (Text -> GType -> m (Bool, Int32)), MonadIO m) => MethodInfo * StructureGetEnumMethodInfo Structure signature Source |
structureGetFieldType
data StructureGetFieldTypeMethodInfo Source
Instances
| ((~) * signature (Text -> m GType), MonadIO m) => MethodInfo * StructureGetFieldTypeMethodInfo Structure signature Source |
structureGetFlagset
data StructureGetFlagsetMethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Word32, Word32)), MonadIO m) => MethodInfo * StructureGetFlagsetMethodInfo Structure signature Source |
structureGetFraction
data StructureGetFractionMethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Int32, Int32)), MonadIO m) => MethodInfo * StructureGetFractionMethodInfo Structure signature Source |
structureGetInt
data StructureGetIntMethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Int32)), MonadIO m) => MethodInfo * StructureGetIntMethodInfo Structure signature Source |
structureGetInt64
data StructureGetInt64MethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Int64)), MonadIO m) => MethodInfo * StructureGetInt64MethodInfo Structure signature Source |
structureGetName
data StructureGetNameMethodInfo Source
Instances
| ((~) * signature (m Text), MonadIO m) => MethodInfo * StructureGetNameMethodInfo Structure signature Source |
structureGetName :: MonadIO m => Structure -> m Text Source
structureGetNameId
data StructureGetNameIdMethodInfo Source
Instances
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * StructureGetNameIdMethodInfo Structure signature Source |
structureGetNameId :: MonadIO m => Structure -> m Word32 Source
structureGetString
data StructureGetStringMethodInfo Source
Instances
| ((~) * signature (Text -> m (Maybe Text)), MonadIO m) => MethodInfo * StructureGetStringMethodInfo Structure signature Source |
structureGetUint
data StructureGetUintMethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Word32)), MonadIO m) => MethodInfo * StructureGetUintMethodInfo Structure signature Source |
structureGetUint64
data StructureGetUint64MethodInfo Source
Instances
| ((~) * signature (Text -> m (Bool, Word64)), MonadIO m) => MethodInfo * StructureGetUint64MethodInfo Structure signature Source |
structureGetValue
data StructureGetValueMethodInfo Source
Instances
| ((~) * signature (Text -> m GValue), MonadIO m) => MethodInfo * StructureGetValueMethodInfo Structure signature Source |
structureHasField
data StructureHasFieldMethodInfo Source
Instances
| ((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * StructureHasFieldMethodInfo Structure signature Source |
structureHasFieldTyped
data StructureHasFieldTypedMethodInfo Source
Instances
| ((~) * signature (Text -> GType -> m Bool), MonadIO m) => MethodInfo * StructureHasFieldTypedMethodInfo Structure signature Source |
structureHasName
data StructureHasNameMethodInfo Source
Instances
| ((~) * signature (Text -> m Bool), MonadIO m) => MethodInfo * StructureHasNameMethodInfo Structure signature Source |
structureIdGetValue
data StructureIdGetValueMethodInfo Source
Instances
| ((~) * signature (Word32 -> m GValue), MonadIO m) => MethodInfo * StructureIdGetValueMethodInfo Structure signature Source |
structureIdHasField
data StructureIdHasFieldMethodInfo Source
Instances
| ((~) * signature (Word32 -> m Bool), MonadIO m) => MethodInfo * StructureIdHasFieldMethodInfo Structure signature Source |
structureIdHasFieldTyped
data StructureIdHasFieldTypedMethodInfo Source
Instances
| ((~) * signature (Word32 -> GType -> m Bool), MonadIO m) => MethodInfo * StructureIdHasFieldTypedMethodInfo Structure signature Source |
structureIdSetValue
data StructureIdSetValueMethodInfo Source
Instances
| ((~) * signature (Word32 -> GValue -> m ()), MonadIO m) => MethodInfo * StructureIdSetValueMethodInfo Structure signature Source |
structureIdTakeValue
data StructureIdTakeValueMethodInfo Source
Instances
| ((~) * signature (Word32 -> GValue -> m ()), MonadIO m) => MethodInfo * StructureIdTakeValueMethodInfo Structure signature Source |
structureIntersect
data StructureIntersectMethodInfo Source
Instances
| ((~) * signature (Structure -> m Structure), MonadIO m) => MethodInfo * StructureIntersectMethodInfo Structure signature Source |
structureIsEqual
data StructureIsEqualMethodInfo Source
Instances
| ((~) * signature (Structure -> m Bool), MonadIO m) => MethodInfo * StructureIsEqualMethodInfo Structure signature Source |
structureIsSubset
data StructureIsSubsetMethodInfo Source
Instances
| ((~) * signature (Structure -> m Bool), MonadIO m) => MethodInfo * StructureIsSubsetMethodInfo Structure signature Source |
structureMapInPlace
data StructureMapInPlaceMethodInfo Source
Instances
| ((~) * signature (StructureMapFunc -> m Bool), MonadIO m) => MethodInfo * StructureMapInPlaceMethodInfo Structure signature Source |
structureMapInPlace :: MonadIO m => Structure -> StructureMapFunc -> m Bool Source
structureNFields
data StructureNFieldsMethodInfo Source
Instances
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * StructureNFieldsMethodInfo Structure signature Source |
structureNFields :: MonadIO m => Structure -> m Int32 Source
structureNewEmpty
structureNewEmpty :: MonadIO m => Text -> m Structure Source
structureNewFromString
structureNewIdEmpty
structureNewIdEmpty :: MonadIO m => Word32 -> m Structure Source
structureNthFieldName
data StructureNthFieldNameMethodInfo Source
Instances
| ((~) * signature (Word32 -> m Text), MonadIO m) => MethodInfo * StructureNthFieldNameMethodInfo Structure signature Source |
structureRemoveAllFields
data StructureRemoveAllFieldsMethodInfo Source
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * StructureRemoveAllFieldsMethodInfo Structure signature Source |
structureRemoveAllFields :: MonadIO m => Structure -> m () Source
structureRemoveField
data StructureRemoveFieldMethodInfo Source
Instances
| ((~) * signature (Text -> m ()), MonadIO m) => MethodInfo * StructureRemoveFieldMethodInfo Structure signature Source |
structureRemoveField :: MonadIO m => Structure -> Text -> m () Source
structureSetName
data StructureSetNameMethodInfo Source
Instances
| ((~) * signature (Text -> m ()), MonadIO m) => MethodInfo * StructureSetNameMethodInfo Structure signature Source |
structureSetName :: MonadIO m => Structure -> Text -> m () Source
structureSetParentRefcount
data StructureSetParentRefcountMethodInfo Source
Instances
| ((~) * signature (Int32 -> m Bool), MonadIO m) => MethodInfo * StructureSetParentRefcountMethodInfo Structure signature Source |
structureSetValue
data StructureSetValueMethodInfo Source
Instances
| ((~) * signature (Text -> GValue -> m ()), MonadIO m) => MethodInfo * StructureSetValueMethodInfo Structure signature Source |
structureTakeValue
data StructureTakeValueMethodInfo Source
Instances
| ((~) * signature (Text -> GValue -> m ()), MonadIO m) => MethodInfo * StructureTakeValueMethodInfo Structure signature Source |
structureToString
data StructureToStringMethodInfo Source
Instances
| ((~) * signature (m Text), MonadIO m) => MethodInfo * StructureToStringMethodInfo Structure signature Source |
structureToString :: MonadIO m => Structure -> m Text Source
Properties
Type
structureReadType :: MonadIO m => Structure -> m GType Source
structureType :: AttrLabelProxy "type" Source
structureWriteType :: MonadIO m => Structure -> GType -> m () Source