Module pod

Source
Expand description

This module deals with SPA pods, providing ways to represent pods using idiomatic types and serialize them into their raw representation, and the other way around.

Everything concerning serializing raw pods from rust types is in the serialize submodule. and everything about deserializing rust types from raw pods is in the deserialize submodule.

The entire serialization and deserialization approach is inspired by and similar to the excellent serde crate, but is much more specialized to fit the SPA pod format.

Modules§

builder
deserialize
This module deals with deserializing raw SPA pods into rust types.
parser
serialize
This module deals with serializing rust types into raw SPA pods.

Macros§

object
A macro for creating a new Object with properties.
property
A macro for creating a new Object Property.

Structs§

Object
An object from a pod.
Pod
A transparent wrapper around a spa_sys::spa_pod.
PodObject
A transparent wrapper around a spa_sys::spa_pod_object.
PodObjectIter
PodProp
A transparent wrapper around a spa_sys::spa_pod_prop.
PodPropFlags
PodStruct
A transparent wrapper around a spa_sys::spa_pod_struct.
PodStructIter
Property
An object property.
PropertyFlags
Property flags

Enums§

ChoiceValue
A typed choice.
Value
A typed pod value.
ValueArray
an array of same type objects.

Traits§

CanonicalFixedSizedPod
Implementors of this trait are the canonical representation of a specific type of fixed sized SPA pod.
FixedSizedPod
Implementors of this trait can be serialized into pods that always have the same size. This lets them be used as elements in Array type SPA Pods.