PipeWire  0.1.4.1
pw_properties Class Reference

A collection of key/value pairs. More...

Public Member Functions

struct pw_propertiespw_properties_new (const char *key,...)
 Make a new properties object. More...
 
struct pw_propertiespw_properties_new_dict (const struct spa_dict *dict)
 Make a new properties object from the given dictionary. More...
 
struct pw_propertiespw_properties_copy (const struct pw_properties *properties)
 Copy a properties object. More...
 
struct pw_propertiespw_properties_merge (const struct pw_properties *oldprops, struct pw_properties *newprops)
 Merge properties into one. More...
 
void pw_properties_free (struct pw_properties *properties)
 Free a properties object. More...
 
void pw_properties_set (struct pw_properties *properties, const char *key, const char *value)
 Set a property value. More...
 
void pw_properties_setf (struct pw_properties *properties, const char *key, const char *format,...)
 Set a property value by format. More...
 
const char * pw_properties_get (const struct pw_properties *properties, const char *key)
 Get a property. More...
 
const char * pw_properties_iterate (const struct pw_properties *properties, void **state)
 Iterate property values. More...
 

Data Fields

struct spa_dict dict
 

Detailed Description

A collection of key/value pairs.

Properties are used to pass around arbitrary key/value pairs. Both keys and values are strings which keeps things simple. Encoding of arbitrary values should be done by using a string serialization such as base64 for binary blobs.

Member Function Documentation

◆ pw_properties_copy()

struct pw_properties * pw_properties_copy ( const struct pw_properties properties)

Copy a properties object.

Parameters
propertiesproperties to copy
Returns
a new properties object

References pw_array_for_each, and pw_properties_new().

◆ pw_properties_free()

void pw_properties_free ( struct pw_properties properties)

Free a properties object.

Parameters
propertiesthe properties to free

References pw_array_for_each.

◆ pw_properties_get()

const char * pw_properties_get ( const struct pw_properties properties,
const char *  key 
)

Get a property.

Parameters
propertiesa pw_properties
keya key
Returns
the property for key or NULL when the key was not found

Get the property in properties with key.

◆ pw_properties_iterate()

const char * pw_properties_iterate ( const struct pw_properties properties,
void **  state 
)

Iterate property values.

Parameters
propertiesa pw_properties
statestate
Returns
The next key or NULL when there are no more keys to iterate.

Iterate over properties, returning each key in turn. state should point to a pointer holding NULL to get the first element and will be updated after each iteration. When NULL is returned, all elements have been iterated.

◆ pw_properties_merge()

struct pw_properties * pw_properties_merge ( const struct pw_properties oldprops,
struct pw_properties newprops 
)

Merge properties into one.

Parameters
oldpropsproperties to merge into
newpropsproperties to merge
Returns
a newly allocated pw_properties

A new pw_properties is allocated and the properties of oldprops and newprops are copied into it in that order.

References pw_properties_copy(), pw_properties_get(), pw_properties_iterate(), and pw_properties_set().

◆ pw_properties_new()

struct pw_properties * pw_properties_new ( const char *  key,
  ... 
)

Make a new properties object.

Parameters
keya first key
...value and more keys NULL terminated
Returns
a newly allocated properties object

◆ pw_properties_new_dict()

struct pw_properties * pw_properties_new_dict ( const struct spa_dict *  dict)

Make a new properties object from the given dictionary.

Parameters
dicta dictionary. keys and values are copied
Returns
a new properties object

◆ pw_properties_set()

void pw_properties_set ( struct pw_properties properties,
const char *  key,
const char *  value 
)

Set a property value.

Parameters
propertiesthe properties to change
keya key
valuea value or NULL to remove the key

Set the property in properties with key to value. Any previous value of key will be overwritten. When value is NULL, the key will be removed.

◆ pw_properties_setf()

void pw_properties_setf ( struct pw_properties properties,
const char *  key,
const char *  format,
  ... 
)

Set a property value by format.

Parameters
propertiesa pw_properties
keya key
formata value
...extra arguments

Set the property in properties with key to the value in printf style format Any previous value of key will be overwritten.

Field Documentation

◆ dict

struct spa_dict pw_properties::dict

The documentation for this class was generated from the following files: