Properties are used to pass around arbitrary key/value pairs. More...
Files | |
| file | properties.h |
pipewire/properties.h | |
Data Structures | |
| struct | pw_properties |
Macros | |
| #define | PW_PROPERTIES_FLAG_NL (1<<0) |
| #define | PW_PROPERTIES_FLAG_RECURSE (1<<1) |
| #define | PW_PROPERTIES_FLAG_ENCLOSE (1<<2) |
| #define | PW_PROPERTIES_FLAG_ARRAY (1<<3) |
| #define | PW_PROPERTIES_FLAG_COLORS (1<<4) |
Functions | |
| struct pw_properties * | pw_properties_new (const char *key,...) |
| Make a new properties object. | |
| struct pw_properties * | pw_properties_new_dict (const struct spa_dict *dict) |
| Make a new properties object from the given dictionary. | |
| struct pw_properties * | pw_properties_new_string (const char *args) |
| Make a new properties object from the given str. | |
| struct pw_properties * | pw_properties_new_string_checked (const char *args, size_t size, struct spa_error_location *loc) |
| struct pw_properties * | pw_properties_copy (const struct pw_properties *properties) |
| Copy a properties object. | |
| int | pw_properties_update_keys (struct pw_properties *props, const struct spa_dict *dict, const char *const keys[]) |
| Copy multiple keys from one property to another. | |
| int | pw_properties_update_ignore (struct pw_properties *props, const struct spa_dict *dict, const char *const ignore[]) |
| int | pw_properties_update (struct pw_properties *props, const struct spa_dict *dict) |
| Update properties. | |
| int | pw_properties_update_string (struct pw_properties *props, const char *str, size_t size) |
| Update the properties from the given string, overwriting any existing keys with the new values from str. | |
| int | pw_properties_update_string_checked (struct pw_properties *props, const char *str, size_t size, struct spa_error_location *loc) |
| Check str is a well-formed properties JSON string and update the properties on success. | |
| int | pw_properties_add (struct pw_properties *oldprops, const struct spa_dict *dict) |
| Add properties. | |
| int | pw_properties_add_keys (struct pw_properties *oldprops, const struct spa_dict *dict, const char *const keys[]) |
| Add keys. | |
| void | pw_properties_clear (struct pw_properties *properties) |
| Clear a properties object. | |
| void | pw_properties_free (struct pw_properties *properties) |
| Free a properties object. | |
| int | pw_properties_set (struct pw_properties *properties, const char *key, const char *value) |
| Set a property value. | |
| int | pw_properties_setf (struct pw_properties *properties, const char *key, const char *format,...) |
| Set a property value by format. | |
| int | pw_properties_setva (struct pw_properties *properties, const char *key, const char *format, va_list args) |
| const char * | pw_properties_get (const struct pw_properties *properties, const char *key) |
| Get a property. | |
| int | pw_properties_fetch_uint32 (const struct pw_properties *properties, const char *key, uint32_t *value) |
| Fetch a property as uint32_t. | |
| int | pw_properties_fetch_int32 (const struct pw_properties *properties, const char *key, int32_t *value) |
| Fetch a property as int32_t. | |
| int | pw_properties_fetch_uint64 (const struct pw_properties *properties, const char *key, uint64_t *value) |
| Fetch a property as uint64_t. | |
| int | pw_properties_fetch_int64 (const struct pw_properties *properties, const char *key, int64_t *value) |
| Fetch a property as int64_t. | |
| int | pw_properties_fetch_bool (const struct pw_properties *properties, const char *key, bool *value) |
| Fetch a property as boolean value. | |
| PW_API_PROPERTIES uint32_t | pw_properties_get_uint32 (const struct pw_properties *properties, const char *key, uint32_t deflt) |
| PW_API_PROPERTIES int32_t | pw_properties_get_int32 (const struct pw_properties *properties, const char *key, int32_t deflt) |
| PW_API_PROPERTIES uint64_t | pw_properties_get_uint64 (const struct pw_properties *properties, const char *key, uint64_t deflt) |
| PW_API_PROPERTIES int64_t | pw_properties_get_int64 (const struct pw_properties *properties, const char *key, int64_t deflt) |
| PW_API_PROPERTIES bool | pw_properties_get_bool (const struct pw_properties *properties, const char *key, bool deflt) |
| const char * | pw_properties_iterate (const struct pw_properties *properties, void **state) |
| Iterate property values. | |
| int | pw_properties_serialize_dict (FILE *f, const struct spa_dict *dict, uint32_t flags) |
| PW_API_PROPERTIES bool | pw_properties_parse_bool (const char *value) |
| PW_API_PROPERTIES int | pw_properties_parse_int (const char *value) |
| PW_API_PROPERTIES int64_t | pw_properties_parse_int64 (const char *value) |
| PW_API_PROPERTIES uint64_t | pw_properties_parse_uint64 (const char *value) |
| PW_API_PROPERTIES float | pw_properties_parse_float (const char *value) |
| PW_API_PROPERTIES double | pw_properties_parse_double (const char *value) |
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.
| #define PW_PROPERTIES_FLAG_NL (1<<0) |
| #define PW_PROPERTIES_FLAG_RECURSE (1<<1) |
| #define PW_PROPERTIES_FLAG_ENCLOSE (1<<2) |
| #define PW_PROPERTIES_FLAG_ARRAY (1<<3) |
| #define PW_PROPERTIES_FLAG_COLORS (1<<4) |
| struct pw_properties * pw_properties_new | ( | const char * | key, |
| ... ) |
Make a new properties object.
| key | a first key |
| ... | value and more keys NULL terminated |
| struct pw_properties * pw_properties_new_dict | ( | const struct spa_dict * | dict | ) |
Make a new properties object from the given dictionary.
| dict | a dictionary. keys and values are copied |
| struct pw_properties * pw_properties_new_string | ( | const char * | object | ) |
Make a new properties object from the given str.
object should be a whitespace separated list of key=value strings or a json object.
| object | a property description |
| struct pw_properties * pw_properties_new_string_checked | ( | const char * | args, |
| size_t | size, | ||
| struct spa_error_location * | loc ) |
| struct pw_properties * pw_properties_copy | ( | const struct pw_properties * | properties | ) |
Copy a properties object.
| properties | properties to copy |
| int pw_properties_update_keys | ( | struct pw_properties * | props, |
| const struct spa_dict * | dict, | ||
| const char *const | keys[] ) |
Copy multiple keys from one property to another.
| props | properties to copy to |
| dict | properties to copy from |
| keys | a NULL terminated list of keys to copy |
| int pw_properties_update_ignore | ( | struct pw_properties * | props, |
| const struct spa_dict * | dict, | ||
| const char *const | ignore[] ) |
| int pw_properties_update | ( | struct pw_properties * | props, |
| const struct spa_dict * | dict ) |
Update properties.
| props | properties to update |
| dict | new properties |
The properties in props are updated with dict. Keys in dict with NULL values are removed from props.
| int pw_properties_update_string | ( | struct pw_properties * | props, |
| const char * | str, | ||
| size_t | size ) |
Update the properties from the given string, overwriting any existing keys with the new values from str.
str should be a whitespace separated list of key=value strings or a json object, see pw_properties_new_string().
| int pw_properties_update_string_checked | ( | struct pw_properties * | props, |
| const char * | str, | ||
| size_t | size, | ||
| struct spa_error_location * | loc ) |
Check str is a well-formed properties JSON string and update the properties on success.
str should be a whitespace separated list of key=value strings or a json object, see pw_properties_new_string().
When the check fails, this function will not update props.
| props | The properties to attempt to update, maybe be NULL to simply check the JSON string. |
| str | The JSON object with new values |
| size | The length of the JSON string. |
| loc | Return value for parse error location |
| int pw_properties_add | ( | struct pw_properties * | props, |
| const struct spa_dict * | dict ) |
Add properties.
| props | properties to add |
| dict | new properties |
The properties from dict that are not yet in props are added.
| int pw_properties_add_keys | ( | struct pw_properties * | props, |
| const struct spa_dict * | dict, | ||
| const char *const | keys[] ) |
Add keys.
| props | properties to add |
| dict | new properties |
| keys | a NULL terminated list of keys to add |
The properties with keys from dict that are not yet in props are added.
| void pw_properties_clear | ( | struct pw_properties * | properties | ) |
| void pw_properties_free | ( | struct pw_properties * | properties | ) |
Free a properties object.
| properties | the properties to free |
| int pw_properties_set | ( | struct pw_properties * | properties, |
| const char * | key, | ||
| const char * | value ) |
Set a property value.
| properties | the properties to change |
| key | a key |
| value | a 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.
| int pw_properties_setf | ( | struct pw_properties * | properties, |
| const char * | key, | ||
| const char * | format, | ||
| ... ) |
Set a property value by format.
| properties | a Properties |
| key | a key |
| format | a 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.
| int pw_properties_setva | ( | struct pw_properties * | properties, |
| const char * | key, | ||
| const char * | format, | ||
| va_list | args ) |
| const char * pw_properties_get | ( | const struct pw_properties * | properties, |
| const char * | key ) |
Get a property.
| properties | a Properties |
| key | a key |
Get the property in properties with key.
| int pw_properties_fetch_uint32 | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| uint32_t * | value ) |
Fetch a property as uint32_t.
| properties | a Properties |
| key | a key |
| value | set to the value of the property on success, otherwise left unmodified |
| -ENOENT | The property does not exist |
| -EINVAL | The property is not in the expected format |
| int pw_properties_fetch_int32 | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| int32_t * | value ) |
Fetch a property as int32_t.
| properties | a Properties |
| key | a key |
| value | set to the value of the property on success, otherwise left unmodified |
| -ENOENT | The property does not exist |
| -EINVAL | The property is not in the expected format |
| int pw_properties_fetch_uint64 | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| uint64_t * | value ) |
Fetch a property as uint64_t.
| properties | a Properties |
| key | a key |
| value | set to the value of the property on success, otherwise left unmodified |
| -ENOENT | The property does not exist |
| -EINVAL | The property is not in the expected format |
| int pw_properties_fetch_int64 | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| int64_t * | value ) |
Fetch a property as int64_t.
| properties | a Properties |
| key | a key |
| value | set to the value of the property on success, otherwise left unmodified |
| -ENOENT | The property does not exist |
| -EINVAL | The property is not in the expected format |
| int pw_properties_fetch_bool | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| bool * | value ) |
Fetch a property as boolean value.
| properties | a Properties |
| key | a key |
| value | set to the value of the property on success, otherwise left unmodified |
| -ENOENT | The property does not exist |
| -EINVAL | The property is not in the expected format |
| PW_API_PROPERTIES uint32_t pw_properties_get_uint32 | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| uint32_t | deflt ) |
| PW_API_PROPERTIES int32_t pw_properties_get_int32 | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| int32_t | deflt ) |
| PW_API_PROPERTIES uint64_t pw_properties_get_uint64 | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| uint64_t | deflt ) |
| PW_API_PROPERTIES int64_t pw_properties_get_int64 | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| int64_t | deflt ) |
| PW_API_PROPERTIES bool pw_properties_get_bool | ( | const struct pw_properties * | properties, |
| const char * | key, | ||
| bool | deflt ) |
| const char * pw_properties_iterate | ( | const struct pw_properties * | properties, |
| void ** | state ) |
Iterate property values.
| properties | a Properties |
| state | state |
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.
| int pw_properties_serialize_dict | ( | FILE * | f, |
| const struct spa_dict * | dict, | ||
| uint32_t | flags ) |
| PW_API_PROPERTIES bool pw_properties_parse_bool | ( | const char * | value | ) |
| PW_API_PROPERTIES int pw_properties_parse_int | ( | const char * | value | ) |
| PW_API_PROPERTIES int64_t pw_properties_parse_int64 | ( | const char * | value | ) |
| PW_API_PROPERTIES uint64_t pw_properties_parse_uint64 | ( | const char * | value | ) |
| PW_API_PROPERTIES float pw_properties_parse_float | ( | const char * | value | ) |
| PW_API_PROPERTIES double pw_properties_parse_double | ( | const char * | value | ) |