Go to the documentation of this file.
25 #ifndef PIPEWIRE_PROPERTIES_H
26 #define PIPEWIRE_PROPERTIES_H
76 const
char *str,
size_t size);
105 static inline
bool pw_properties_parse_bool(const
char *value) {
109 static inline int pw_properties_parse_int(
const char *value) {
114 static inline int64_t pw_properties_parse_int64(
const char *value) {
119 static inline uint64_t pw_properties_parse_uint64(
const char *value) {
124 static inline float pw_properties_parse_float(
const char *value) {
126 return spa_atof(value, &v) ? v : 0.0f;
129 static inline double pw_properties_parse_double(
const char *value) {
131 return spa_atod(value, &v) ? v : 0.0;
uint32_t flags
Definition: utils/dict.h:50
uint32_t flags
extra flags
Definition: properties.h:51
#define SPA_FLAG_CLEAR(field, flag)
Definition: defs.h:75
const char * key
Definition: utils/dict.h:42
SPA_EXPORT int pw_properties_update_ignore(struct pw_properties *props, const struct spa_dict *dict, const char *ignore[])
Definition: properties.c:271
int spa_json_container_len(struct spa_json *iter, const char *value, int len)
Definition: json.h:198
SPA_EXPORT struct pw_properties * pw_properties_new_string(const char *object)
Make a new properties object from the given str.
Definition: properties.c:205
#define pw_array_check_index(a, idx, t)
Check if an item with index idx and type t exist in array.
Definition: array.h:66
int spa_json_enter_object(struct spa_json *iter, struct spa_json *sub)
Definition: json.h:212
bool spa_streq(const char *s1, const char *s2)
Definition: string.h:50
#define SPA_EXPORT
Definition: defs.h:207
bool spa_json_is_bool(const char *val, int len)
Definition: json.h:286
#define SPA_ROUND_UP_N(num, align)
Definition: defs.h:221
#define pw_array_for_each(pos, array)
Definition: array.h:72
#define SPA_PRINTF_FUNC(fmt, arg1)
Definition: defs.h:204
static uint32_t int int res
Definition: core.h:329
#define pw_array_get_len(a, t)
Get the number of items of type t in array.
Definition: array.h:62
struct spa_dict dict
dictionary of key/values
Definition: properties.h:50
Definition: utils/dict.h:41
#define SPA_CONTAINER_OF(p, t, m)
Definition: defs.h:170
bool spa_json_is_float(const char *val, int len)
Definition: json.h:240
int spa_json_is_container(const char *val, int len)
Definition: json.h:193
SPA_EXPORT int pw_properties_setf(struct pw_properties *properties, const char *key, const char *format,...)
Set a property value by format.
Definition: properties.c:492
bool spa_atod(const char *str, double *val)
Convert str to a double and store the result in val.
Definition: string.h:257
SPA_EXPORT int pw_properties_serialize_dict(FILE *f, const struct spa_dict *dict, uint32_t flags)
Definition: properties.c:597
#define pw_array_get_unchecked(a, idx, t)
Get the item with index idx and type t from array.
Definition: array.h:64
#define spa_dict_for_each(item, dict)
Definition: utils/dict.h:58
const struct spa_dict_item * items
Definition: utils/dict.h:52
bool spa_json_is_null(const char *val, int len)
Definition: json.h:228
SPA_EXPORT struct pw_properties * pw_properties_new_dict(const struct spa_dict *dict)
Make a new properties object from the given dictionary.
Definition: properties.c:130
#define SPA_DICT_FLAG_SORTED
items are sorted
Definition: utils/dict.h:49
void spa_json_init(struct spa_json *iter, const char *data, size_t size)
Definition: json.h:59
SPA_EXPORT int pw_properties_update(struct pw_properties *props, const struct spa_dict *dict)
Update properties.
Definition: properties.c:314
bool spa_atof(const char *str, float *val)
Convert str to a float and store the result in val.
Definition: string.h:233
Definition: utils/dict.h:48
bool spa_atoi32(const char *str, int32_t *val, int base)
Convert str to an int32_t with the given base and store the result in val.
Definition: string.h:73
const char * spa_dict_lookup(const struct spa_dict *dict, const char *key)
Definition: utils/dict.h:99
int spa_json_parse_string(const char *val, int len, char *result)
Definition: json.h:314
int spa_json_get_string(struct spa_json *iter, char *res, int maxlen)
Definition: json.h:358
const SPA_EXPORT char * pw_properties_get(const struct pw_properties *properties, const char *key)
Get a property.
Definition: properties.c:515
const char * value
Definition: utils/dict.h:43
SPA_EXPORT struct pw_properties * pw_properties_copy(const struct pw_properties *properties)
Copy a properties object.
Definition: properties.c:232
SPA_EXPORT int pw_properties_set(struct pw_properties *properties, const char *key, const char *value)
Set a property value.
Definition: properties.c:459
int spa_json_next(struct spa_json *iter, const char **value)
Get the next token.
Definition: json.h:72
const struct spa_dict_item * spa_dict_lookup_item(const struct spa_dict *dict, const char *key)
Definition: utils/dict.h:77
const SPA_EXPORT char * pw_properties_iterate(const struct pw_properties *properties, void **state)
Iterate property values.
Definition: properties.c:540
SPA_EXPORT void pw_properties_clear(struct pw_properties *properties)
Clear a properties object.
Definition: properties.c:291
SPA_EXPORT 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 s...
Definition: properties.c:158
#define SPA_SENTINEL
Definition: defs.h:208
SPA_EXPORT int pw_properties_add(struct pw_properties *props, const struct spa_dict *dict)
Add properties.
Definition: properties.c:337
#define SPA_INT_TO_PTR(u)
Definition: defs.h:175
bool spa_atoi64(const char *str, int64_t *val, int base)
Convert str to an int64_t with the given base and store the result in val.
Definition: string.h:129
struct pw_control this
Definition: control.c:34
bool spa_atou64(const char *str, uint64_t *val, int base)
Convert str to an uint64_t with the given base and store the result in val.
Definition: string.h:154
SPA_EXPORT struct pw_properties * pw_properties_new(const char *key,...)
Make a new properties object.
Definition: properties.c:100
uint32_t n_items
Definition: utils/dict.h:51
#define SPA_PTR_TO_INT(p)
Definition: defs.h:174
SPA_EXPORT int pw_properties_add_keys(struct pw_properties *props, const struct spa_dict *dict, const char *keys[])
Add keys.
Definition: properties.c:363
bool spa_atob(const char *str)
Convert str to a boolean.
Definition: string.h:177
static uint32_t int int const char va_list args
Definition: core.h:330
SPA_EXPORT int pw_properties_update_keys(struct pw_properties *props, const struct spa_dict *dict, const char *keys[])
Copy multiple keys from one property to another.
Definition: properties.c:247
Definition: properties.h:49
SPA_EXPORT void pw_properties_free(struct pw_properties *properties)
Free a properties object.
Definition: properties.c:386
int int pw_properties_setva(struct pw_properties *properties, const char *key, const char *format, va_list args) SPA_PRINTF_FUNC(3
SPA_EXPORT int pw_properties_setva(struct pw_properties *properties, const char *key, const char *format, va_list args)
Definition: properties.c:465