PipeWire 1.2.7
|
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. | |
static uint32_t | pw_properties_get_uint32 (const struct pw_properties *properties, const char *key, uint32_t deflt) |
static int32_t | pw_properties_get_int32 (const struct pw_properties *properties, const char *key, int32_t deflt) |
static uint64_t | pw_properties_get_uint64 (const struct pw_properties *properties, const char *key, uint64_t deflt) |
static int64_t | pw_properties_get_int64 (const struct pw_properties *properties, const char *key, int64_t deflt) |
static 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) |
static bool | pw_properties_parse_bool (const char *value) |
static int | pw_properties_parse_int (const char *value) |
static int64_t | pw_properties_parse_int64 (const char *value) |
static uint64_t | pw_properties_parse_uint64 (const char *value) |
static float | pw_properties_parse_float (const char *value) |
static 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 |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
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 ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |