Lines Matching refs:client
111 struct cras_observer_client *client; in output_volume_alert() local
115 DL_FOREACH (g_observer->clients, client) { in output_volume_alert()
116 if (client->ops.output_volume_changed) in output_volume_alert()
117 client->ops.output_volume_changed(client->context, in output_volume_alert()
124 struct cras_observer_client *client; in output_mute_alert() local
128 DL_FOREACH (g_observer->clients, client) { in output_mute_alert()
129 if (client->ops.output_mute_changed) in output_mute_alert()
130 client->ops.output_mute_changed(client->context, in output_mute_alert()
139 struct cras_observer_client *client; in capture_gain_alert() local
143 DL_FOREACH (g_observer->clients, client) { in capture_gain_alert()
144 if (client->ops.capture_gain_changed) in capture_gain_alert()
145 client->ops.capture_gain_changed(client->context, in capture_gain_alert()
152 struct cras_observer_client *client; in capture_mute_alert() local
156 DL_FOREACH (g_observer->clients, client) { in capture_mute_alert()
157 if (client->ops.capture_mute_changed) in capture_mute_alert()
158 client->ops.capture_mute_changed( in capture_mute_alert()
159 client->context, mute_data->muted, in capture_mute_alert()
171 struct cras_observer_client *client; in nodes_alert() local
173 DL_FOREACH (g_observer->clients, client) { in nodes_alert()
174 if (client->ops.nodes_changed) in nodes_alert()
175 client->ops.nodes_changed(client->context); in nodes_alert()
181 struct cras_observer_client *client; in active_node_alert() local
185 DL_FOREACH (g_observer->clients, client) { in active_node_alert()
186 if (client->ops.active_node_changed) in active_node_alert()
187 client->ops.active_node_changed(client->context, in active_node_alert()
195 struct cras_observer_client *client; in output_node_volume_alert() local
199 DL_FOREACH (g_observer->clients, client) { in output_node_volume_alert()
200 if (client->ops.output_node_volume_changed) in output_node_volume_alert()
201 client->ops.output_node_volume_changed( in output_node_volume_alert()
202 client->context, node_data->node_id, in output_node_volume_alert()
209 struct cras_observer_client *client; in node_left_right_swapped_alert() local
213 DL_FOREACH (g_observer->clients, client) { in node_left_right_swapped_alert()
214 if (client->ops.node_left_right_swapped_changed) in node_left_right_swapped_alert()
215 client->ops.node_left_right_swapped_changed( in node_left_right_swapped_alert()
216 client->context, node_data->node_id, in node_left_right_swapped_alert()
223 struct cras_observer_client *client; in input_node_gain_alert() local
227 DL_FOREACH (g_observer->clients, client) { in input_node_gain_alert()
228 if (client->ops.input_node_gain_changed) in input_node_gain_alert()
229 client->ops.input_node_gain_changed(client->context, in input_node_gain_alert()
237 struct cras_observer_client *client; in suspend_changed_alert() local
241 DL_FOREACH (g_observer->clients, client) { in suspend_changed_alert()
242 if (client->ops.suspend_changed) in suspend_changed_alert()
243 client->ops.suspend_changed(client->context, in suspend_changed_alert()
250 struct cras_observer_client *client; in num_active_streams_alert() local
254 DL_FOREACH (g_observer->clients, client) { in num_active_streams_alert()
255 if (client->ops.num_active_streams_changed) in num_active_streams_alert()
256 client->ops.num_active_streams_changed( in num_active_streams_alert()
257 client->context, streams_data->direction, in num_active_streams_alert()
264 struct cras_observer_client *client; in num_input_streams_with_permission_alert() local
268 DL_FOREACH (g_observer->clients, client) { in num_input_streams_with_permission_alert()
269 if (client->ops.num_input_streams_with_permission_changed) in num_input_streams_with_permission_alert()
270 client->ops.num_input_streams_with_permission_changed( in num_input_streams_with_permission_alert()
271 client->context, in num_input_streams_with_permission_alert()
278 struct cras_observer_client *client; in hotword_triggered_alert() local
282 DL_FOREACH (g_observer->clients, client) { in hotword_triggered_alert()
283 if (client->ops.hotword_triggered) in hotword_triggered_alert()
284 client->ops.hotword_triggered(client->context, in hotword_triggered_alert()
292 struct cras_observer_client *client; in non_empty_audio_state_changed_alert() local
296 DL_FOREACH (g_observer->clients, client) { in non_empty_audio_state_changed_alert()
297 if (client->ops.non_empty_audio_state_changed) { in non_empty_audio_state_changed_alert()
298 client->ops.non_empty_audio_state_changed( in non_empty_audio_state_changed_alert()
299 client->context, in non_empty_audio_state_changed_alert()
307 struct cras_observer_client *client; in bt_battery_changed_alert() local
311 DL_FOREACH (g_observer->clients, client) { in bt_battery_changed_alert()
312 if (client->ops.bt_battery_changed) in bt_battery_changed_alert()
313 client->ops.bt_battery_changed(client->context, in bt_battery_changed_alert()
427 void cras_observer_get_ops(const struct cras_observer_client *client, in cras_observer_get_ops() argument
432 if (!client) in cras_observer_get_ops()
435 memcpy(ops, &client->ops, sizeof(*ops)); in cras_observer_get_ops()
438 void cras_observer_set_ops(struct cras_observer_client *client, in cras_observer_set_ops() argument
441 if (!client) in cras_observer_set_ops()
444 memset(&client->ops, 0, sizeof(client->ops)); in cras_observer_set_ops()
446 memcpy(&client->ops, ops, sizeof(client->ops)); in cras_observer_set_ops()
452 struct cras_observer_client *client; in cras_observer_add() local
454 client = (struct cras_observer_client *)calloc(1, sizeof(*client)); in cras_observer_add()
455 if (!client) in cras_observer_add()
457 client->context = context; in cras_observer_add()
458 DL_APPEND(g_observer->clients, client); in cras_observer_add()
459 cras_observer_set_ops(client, ops); in cras_observer_add()
460 return client; in cras_observer_add()
463 void cras_observer_remove(struct cras_observer_client *client) in cras_observer_remove() argument
465 if (!client) in cras_observer_remove()
467 DL_DELETE(g_observer->clients, client); in cras_observer_remove()
468 free(client); in cras_observer_remove()