Lines Matching refs:data

104 pa_card_new_data* pa_card_new_data_init(pa_card_new_data *data) {
105 pa_assert(data);
107 memset(data, 0, sizeof(*data));
108 data->proplist = pa_proplist_new();
109 data->profiles = pa_hashmap_new_full(pa_idxset_string_hash_func, pa_idxset_string_compare_func, NULL, (pa_free_cb_t) pa_card_profile_free);
110 data->ports = pa_hashmap_new_full(pa_idxset_string_hash_func, pa_idxset_string_compare_func, NULL, (pa_free_cb_t) pa_device_port_unref);
111 return data;
114 void pa_card_new_data_set_name(pa_card_new_data *data, const char *name) {
115 pa_assert(data);
117 pa_xfree(data->name);
118 data->name = pa_xstrdup(name);
121 void pa_card_new_data_set_preferred_port(pa_card_new_data *data, pa_direction_t direction, pa_device_port *port) {
122 pa_assert(data);
125 data->preferred_input_port = port;
127 data->preferred_output_port = port;
130 void pa_card_new_data_done(pa_card_new_data *data) {
132 pa_assert(data);
134 pa_proplist_free(data->proplist);
136 if (data->profiles)
137 pa_hashmap_free(data->profiles);
139 if (data->ports)
140 pa_hashmap_free(data->ports);
142 pa_xfree(data->name);
145 pa_card *pa_card_new(pa_core *core, pa_card_new_data *data) {
154 pa_assert(data);
155 pa_assert(data->name);
156 pa_assert(data->profiles);
157 pa_assert(!pa_hashmap_isempty(data->profiles));
161 if (!(name = pa_namereg_register(core, data->name, PA_NAMEREG_CARD, c, data->namereg_fail))) {
166 pa_card_new_data_set_name(data, name);
167 pa_hook_fire(&core->hooks[PA_CORE_HOOK_CARD_NEW], data);
170 c->name = pa_xstrdup(data->name);
171 c->proplist = pa_proplist_copy(data->proplist);
172 c->driver = pa_xstrdup(pa_path_get_filename(data->driver));
173 c->module = data->module;
180 pa_assert_se(c->profiles = data->profiles);
181 data->profiles = NULL;
182 pa_assert_se(c->ports = data->ports);
183 data->ports = NULL;
191 c->preferred_input_port = data->preferred_input_port;
192 c->preferred_output_port = data->preferred_output_port;
399 pa_card_preferred_port_changed_hook_data data;
424 data.card = c;
425 data.direction = direction;
426 pa_hook_fire(&c->core->hooks[PA_CORE_HOOK_CARD_PREFERRED_PORT_CHANGED], &data);