gi-gst-0.1.6.13: Gst bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gst.Structs.Structure

Contents

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.

Synopsis

Exported types

newtype Structure Source

Instances

BoxedObject Structure Source 
((~) * info (ResolveStructureMethod t Structure), MethodInfo * info Structure p) => IsLabel t (Structure -> p) Source 

Methods

fromLabel :: Proxy# Symbol t -> Structure -> p

((~) * info (ResolveStructureMethod t Structure), MethodInfo * info Structure p) => IsLabelProxy t (Structure -> p) Source 

Methods

fromLabelProxy :: Proxy Symbol t -> Structure -> p

((~) (TYPE Lifted) signature (m Text), MonadIO m) => MethodInfo (TYPE Lifted) StructureToStringMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> GValue -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureTakeValueMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> GValue -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureSetValueMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Int32 -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureSetParentRefcountMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureSetNameMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureRemoveFieldMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureRemoveAllFieldsMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Word32 -> m Text), MonadIO m) => MethodInfo (TYPE Lifted) StructureNthFieldNameMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (m Int32), MonadIO m) => MethodInfo (TYPE Lifted) StructureNFieldsMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (StructureMapFunc -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureMapInPlaceMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Structure -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureIsSubsetMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Structure -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureIsEqualMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Structure -> m Structure), MonadIO m) => MethodInfo (TYPE Lifted) StructureIntersectMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Word32 -> GValue -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureIdTakeValueMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Word32 -> GValue -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureIdSetValueMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Word32 -> GType -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureIdHasFieldTypedMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Word32 -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureIdHasFieldMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Word32 -> m GValue), MonadIO m) => MethodInfo (TYPE Lifted) StructureIdGetValueMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureHasNameMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> GType -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureHasFieldTypedMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureHasFieldMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m GValue), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetValueMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Word64)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetUint64MethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Word32)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetUintMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m Text), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetStringMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (m Word32), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetNameIdMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (m Text), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetNameMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Int64)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetInt64MethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Int32)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetIntMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Int32, Int32)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetFractionMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Word32, Word32)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetFlagsetMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m GType), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetFieldTypeMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> GType -> m (Bool, Int32)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetEnumMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Double)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetDoubleMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, DateTime)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetDateTimeMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Date)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetDateMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Word64)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetClockTimeMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m (Bool, Bool)), MonadIO m) => MethodInfo (TYPE Lifted) StructureGetBooleanMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureFreeMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (StructureForeachFunc -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureForeachMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> Text -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureFixateFieldStringMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> Int32 -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureFixateFieldNearestIntMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> Int32 -> Int32 -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureFixateFieldNearestFractionMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> Double -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureFixateFieldNearestDoubleMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> Bool -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureFixateFieldBooleanMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Text -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureFixateFieldMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureFixateMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (StructureFilterMapFunc -> m ()), MonadIO m) => MethodInfo (TYPE Lifted) StructureFilterAndMapInPlaceMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (m Structure), MonadIO m) => MethodInfo (TYPE Lifted) StructureCopyMethodInfo Structure signature Source 
((~) (TYPE Lifted) signature (Structure -> m Bool), MonadIO m) => MethodInfo (TYPE Lifted) StructureCanIntersectMethodInfo Structure signature Source 

newZeroStructure :: MonadIO m => m Structure Source

Construct a Structure struct initialized to zero.

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

Type