| 
    PipeWire
    0.3.33
    
   | 
 
Properties are used to pass around arbitrary key/value pairs. More...
Data Structures | |
| struct | pw_properties | 
Macros | |
| #define | PW_PROPERTIES_FLAG_NL (1<<0) | 
Functions | |
| struct pw_properties * | pw_properties_new (const char *key,...) 1 | 
| Make a new properties object.  More... | |
| struct pw_properties * | pw_properties_new_dict (const struct spa_dict *dict) | 
| Make a new properties object from the given dictionary.  More... | |
| struct pw_properties * | pw_properties_new_string (const char *args) | 
| Make a new properties object from the given str.  More... | |
| struct pw_properties * | pw_properties_copy (const struct pw_properties *properties) | 
| Copy a properties object.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| int | pw_properties_add (struct pw_properties *oldprops, const struct spa_dict *dict) | 
| Add properties.  More... | |
| int | pw_properties_add_keys (struct pw_properties *oldprops, const struct spa_dict *dict, const char *const keys[]) | 
| Add keys.  More... | |
| void | pw_properties_clear (struct pw_properties *properties) | 
| Clear a properties object.  More... | |
| void | pw_properties_free (struct pw_properties *properties) | 
| Free a properties object.  More... | |
| int | pw_properties_set (struct pw_properties *properties, const char *key, const char *value) | 
| Set a property value.  More... | |
| int | pw_properties_setf (struct pw_properties *properties, const char *key, const char *format,...) 1(3 | 
| int int | pw_properties_setva (struct pw_properties *properties, const char *key, const char *format, va_list args) 1(3 | 
| int int 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... | |
| int | pw_properties_serialize_dict (FILE *f, const struct spa_dict *dict, uint32_t flags) | 
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) | 
| 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.
References spa_dict::items, spa_dict_item::key, spa_dict::n_items, props, pw_properties_get(), pw_properties_set(), and spa_dict_item::value.
| 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.
References props, pw_properties_get(), pw_properties_set(), and spa_dict_lookup().
| void pw_properties_clear | ( | struct pw_properties * | properties | ) | 
Clear a properties object.
| properties | properties to clear | 
References pw_array_for_each, and SPA_CONTAINER_OF.
Referenced by pw_properties_free().
| struct pw_properties* pw_properties_copy | ( | const struct pw_properties * | properties | ) | 
Copy a properties object.
| properties | properties to copy | 
References dict, and pw_properties_new_dict().
Referenced by pipewire__module_init().
| void pw_properties_free | ( | struct pw_properties * | properties | ) | 
Free a properties object.
| properties | the properties to free | 
References pw_properties_clear(), and SPA_CONTAINER_OF.
Referenced by pw_context_create_core(), pw_context_create_factory(), pw_context_destroy(), pw_impl_core_destroy(), pw_impl_factory_destroy(), pw_impl_module_destroy(), and sm_bluez5_monitor_start().
| int int const char* pw_properties_get | ( | const struct pw_properties * | properties, | 
| const char * | key | ||
| ) | 
Get a property.
| properties | a Key-Value pairs | 
| key | a key | 
Get the property in properties with key.
References SPA_CONTAINER_OF.
Referenced by main(), pipewire__module_init(), pw_context_create_core(), pw_context_get_conf_section(), pw_context_parse_conf_section(), pw_filter_connect(), pw_properties_add(), pw_properties_add_keys(), sm_alsa_midi_start(), sm_alsa_monitor_start(), sm_bluez5_monitor_start(), and sm_policy_node_start().
| const char* pw_properties_iterate | ( | const struct pw_properties * | properties, | 
| void ** | state | ||
| ) | 
Iterate property values.
| properties | a Key-Value pairs | 
| 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.
References pw_array_check_index, pw_array_get_unchecked, SPA_CONTAINER_OF, SPA_INT_TO_PTR, and SPA_PTR_TO_INT.
Referenced by sm_bluez5_monitor_start().
| struct pw_properties* pw_properties_new | ( | const char * | key, | 
| ... | |||
| ) | 
Make a new properties object.
| key | a first key | 
| ... | value and more keys NULL terminated | 
Referenced by main(), pipewire__module_init(), pw_context_connect_self(), pw_context_create_client(), pw_context_create_core(), pw_context_create_device(), pw_context_create_factory(), pw_context_create_metadata(), pw_context_create_node(), pw_context_create_port(), pw_filter_add_port(), pw_filter_new_simple(), pw_global_new(), pw_stream_new_simple(), sm_alsa_midi_start(), sm_alsa_monitor_start(), sm_bluez5_autoswitch_start(), sm_bluez5_monitor_start(), sm_default_nodes_start(), sm_default_profile_start(), sm_default_routes_start(), sm_restore_stream_start(), and sm_v4l2_monitor_start().
| 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 | 
Referenced by pw_context_create_port(), and pw_properties_copy().
| 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 | 
Referenced by pipewire__module_init().
| int pw_properties_serialize_dict | ( | FILE * | f, | 
| const struct spa_dict * | dict, | ||
| uint32_t | flags | ||
| ) | 
| 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.
Referenced by pipewire__module_init(), pw_context_connect_self(), pw_context_create_metadata(), pw_context_create_port(), pw_properties_add(), pw_properties_add_keys(), pw_properties_update(), pw_properties_update_keys(), pw_properties_update_string(), sm_bluez5_monitor_start(), and sm_streams_follow_default_start().
| int pw_properties_setf | ( | struct pw_properties * | properties, | 
| const char * | key, | ||
| const char * | format, | ||
| ... | |||
| ) | 
Referenced by pipewire__module_init(), pw_context_create_core(), and pw_context_create_port().
| int int pw_properties_setva | ( | struct pw_properties * | properties, | 
| const char * | key, | ||
| const char * | format, | ||
| va_list | args | ||
| ) | 
| 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.
References spa_dict_item::key, props, pw_properties_set(), spa_dict_for_each, and spa_dict_item::value.
Referenced by pw_context_update_properties(), pw_core_update_properties(), pw_filter_update_properties(), pw_impl_core_update_properties(), pw_impl_factory_update_properties(), pw_impl_module_update_properties(), and pw_stream_update_properties().
| int pw_properties_update_ignore | ( | struct pw_properties * | props, | 
| const struct spa_dict * | dict, | ||
| const char *const | ignore[] | ||
| ) | 
References spa_dict_for_each.
| 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 | 
References dict, props, pw_properties_set(), and spa_dict_lookup().
Referenced by pw_global_update_keys().
| 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().
References props, pw_properties_set(), SPA_CONTAINER_OF, spa_json_container_len(), spa_json_enter_object(), spa_json_get_string(), spa_json_init(), spa_json_is_container(), spa_json_is_null(), spa_json_next(), spa_json_parse_string(), and impl::this.
Referenced by main(), pipewire__module_init(), sm_alsa_monitor_start(), and sm_bluez5_monitor_start().