device-port: Add a property list to ports.

They're not used for anything yet, but hopefully soon they'll be.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
This commit is contained in:
David Henningsson 2011-12-02 13:34:54 +01:00 committed by Tanu Kaskinen
parent 1623859d1b
commit 0ef3456f68
3 changed files with 9 additions and 1 deletions

View file

@ -124,9 +124,13 @@ static void append_port_list(pa_strbuf *s, pa_hashmap *ports)
return; return;
pa_strbuf_puts(s, "\tports:\n"); pa_strbuf_puts(s, "\tports:\n");
PA_HASHMAP_FOREACH(p, ports, state) PA_HASHMAP_FOREACH(p, ports, state) {
char *t = pa_proplist_to_string_sep(p->proplist, "\n\t\t\t\t");
pa_strbuf_printf(s, "\t\t%s: %s (priority %u, available: %s)\n", pa_strbuf_printf(s, "\t\t%s: %s (priority %u, available: %s)\n",
p->name, p->description, p->priority, port_available_to_string(p->available)); p->name, p->description, p->priority, port_available_to_string(p->available));
pa_strbuf_printf(s, "\t\t\tproperties:\n\t\t\t\t%s\n", t);
pa_xfree(t);
}
} }
char *pa_card_list_to_string(pa_core *c) { char *pa_card_list_to_string(pa_core *c) {

View file

@ -70,6 +70,8 @@ static void device_port_free(pa_object *o) {
pa_assert(p); pa_assert(p);
pa_assert(pa_device_port_refcnt(p) == 0); pa_assert(pa_device_port_refcnt(p) == 0);
if (p->proplist)
pa_proplist_free(p->proplist);
if (p->profiles) if (p->profiles)
pa_hashmap_free(p->profiles, NULL, NULL); pa_hashmap_free(p->profiles, NULL, NULL);
pa_xfree(p->name); pa_xfree(p->name);
@ -94,6 +96,7 @@ pa_device_port *pa_device_port_new(pa_core *c, const char *name, const char *des
p->profiles = NULL; p->profiles = NULL;
p->is_input = FALSE; p->is_input = FALSE;
p->is_output = FALSE; p->is_output = FALSE;
p->proplist = pa_proplist_new();
return p; return p;
} }

View file

@ -47,6 +47,7 @@ struct pa_device_port {
unsigned priority; unsigned priority;
pa_port_available_t available; /* PA_PORT_AVAILABLE_UNKNOWN, PA_PORT_AVAILABLE_NO or PA_PORT_AVAILABLE_YES */ pa_port_available_t available; /* PA_PORT_AVAILABLE_UNKNOWN, PA_PORT_AVAILABLE_NO or PA_PORT_AVAILABLE_YES */
pa_proplist *proplist;
pa_hashmap *profiles; /* Can be NULL. Does not own the profiles */ pa_hashmap *profiles; /* Can be NULL. Does not own the profiles */
pa_bool_t is_input:1; pa_bool_t is_input:1;
pa_bool_t is_output:1; pa_bool_t is_output:1;