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 |
- 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
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 (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 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 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 :: Structure -> IO GType
Exported types
newZeroStructure :: MonadIO m => m Structure Source
Construct a Structure
struct initialized to zero.
Methods
structureCanIntersect
structureCopy
data StructureCopyMethodInfo Source
((~) (TYPE Lifted) signature (m Structure), MonadIO m) => MethodInfo (TYPE Lifted) StructureCopyMethodInfo Structure signature Source | |
structureCopy :: MonadIO m => Structure -> m Structure Source
structureFilterAndMapInPlace
data StructureFilterAndMapInPlaceMethodInfo Source
((~) (TYPE Lifted) signature (StructureFilterMapFunc -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureFilterAndMapInPlaceMethodInfo Structure signature Source | |
structureFilterAndMapInPlace :: MonadIO m => Structure -> StructureFilterMapFunc -> m () Source
structureFixate
data StructureFixateMethodInfo Source
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureFixateMethodInfo Structure signature Source | |
structureFixate :: MonadIO m => Structure -> m () Source
structureFixateField
structureFixateFieldBoolean
structureFixateFieldNearestDouble
structureFixateFieldNearestFraction
structureFixateFieldNearestFraction :: MonadIO m => Structure -> Text -> Int32 -> Int32 -> m Bool Source
structureFixateFieldNearestInt
structureFixateFieldString
structureForeach
data StructureForeachMethodInfo Source
((~) (TYPE Lifted) signature (StructureForeachFunc -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureForeachMethodInfo Structure signature Source | |
structureForeach :: MonadIO m => Structure -> StructureForeachFunc -> m Bool Source
structureFree
data StructureFreeMethodInfo Source
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureFreeMethodInfo Structure signature Source | |
structureFree :: MonadIO m => Structure -> m () Source
structureFromString
structureGetBoolean
structureGetClockTime
structureGetDate
structureGetDateTime
structureGetDouble
structureGetEnum
structureGetFieldType
structureGetFlagset
structureGetFraction
structureGetInt
structureGetInt64
structureGetName
data StructureGetNameMethodInfo Source
((~) (TYPE Lifted) signature (m Text), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetNameMethodInfo Structure signature Source | |
structureGetName :: MonadIO m => Structure -> m Text Source
structureGetNameId
data StructureGetNameIdMethodInfo Source
((~) (TYPE Lifted) signature (m Word32), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetNameIdMethodInfo Structure signature Source | |
structureGetNameId :: MonadIO m => Structure -> m Word32 Source
structureGetString
structureGetUint
structureGetUint64
structureGetValue
structureHasField
structureHasFieldTyped
structureHasName
structureIdGetValue
structureIdHasField
structureIdHasFieldTyped
structureIdSetValue
structureIdTakeValue
structureIntersect
structureIsEqual
structureIsSubset
structureMapInPlace
data StructureMapInPlaceMethodInfo Source
((~) (TYPE Lifted) signature (StructureMapFunc -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureMapInPlaceMethodInfo Structure signature Source | |
structureMapInPlace :: MonadIO m => Structure -> StructureMapFunc -> m Bool Source
structureNFields
data StructureNFieldsMethodInfo Source
((~) (TYPE Lifted) signature (m Int32), MonadIO m) => MethodInfo (TYPE Lifted) StructureNFieldsMethodInfo Structure signature Source | |
structureNFields :: MonadIO m => Structure -> m Int32 Source
structureNewEmpty
structureNewEmpty :: MonadIO m => Text -> m Structure Source
structureNewFromString
structureNewFromString :: MonadIO m => Text -> m Structure Source
structureNewIdEmpty
structureNewIdEmpty :: MonadIO m => Word32 -> m Structure Source
structureNthFieldName
structureRemoveAllFields
data StructureRemoveAllFieldsMethodInfo Source
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureRemoveAllFieldsMethodInfo Structure signature Source | |
structureRemoveAllFields :: MonadIO m => Structure -> m () Source
structureRemoveField
data StructureRemoveFieldMethodInfo Source
((~) (TYPE Lifted) signature (Text -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureRemoveFieldMethodInfo Structure signature Source | |
structureRemoveField :: MonadIO m => Structure -> Text -> m () Source
structureSetName
data StructureSetNameMethodInfo Source
((~) (TYPE Lifted) signature (Text -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureSetNameMethodInfo Structure signature Source | |
structureSetName :: MonadIO m => Structure -> Text -> m () Source
structureSetParentRefcount
structureSetValue
structureTakeValue
structureToString
data StructureToStringMethodInfo Source
((~) (TYPE Lifted) signature (m Text), MonadIO m) => MethodInfo (TYPE Lifted) StructureToStringMethodInfo Structure signature Source | |
structureToString :: MonadIO m => Structure -> m Text Source
Properties
Type
structureReadType :: Structure -> IO GType Source