"alsaseq_client_info_get_type";
"alsaseq_client_info_new";
- "alsaseq_client_info_set_event_filter";
- "alsaseq_client_info_get_event_filter";
"alsaseq_user_client_get_type";
"alsaseq_user_client_new";
"alsaseq_user_client_get_queue_tempo";
"alsaseq_user_client_set_queue_timer";
"alsaseq_user_client_get_queue_timer";
+
+ "alsaseq_client_info_set_event_filter";
+ "alsaseq_client_info_get_event_filter";
} ALSA_GOBJECT_0_2_0;
* @error: A [struct@GLib.Error].
*
* Set the list of type of events configured to be listen.
+ *
+ * Returns: %TRUE when the overall operation finishes successfully, else %FALSE.
*/
-void alsaseq_client_info_set_event_filter(ALSASeqClientInfo *self,
- const ALSASeqEventType *event_types,
- gsize event_type_count,
- GError **error)
+gboolean alsaseq_client_info_set_event_filter(ALSASeqClientInfo *self,
+ const ALSASeqEventType *event_types,
+ gsize event_type_count, GError **error)
{
ALSASeqClientInfoPrivate *priv;
int i;
- g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(self));
+ g_return_val_if_fail(ALSASEQ_IS_CLIENT_INFO(self), FALSE);
priv = alsaseq_client_info_get_instance_private(self);
- g_return_if_fail(event_types != NULL);
- g_return_if_fail(error == NULL || *error == NULL);
+ g_return_val_if_fail(event_types != NULL, FALSE);
+ g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
memset(priv->info.event_filter, 0, sizeof(priv->info.event_filter));
if (order < G_N_ELEMENTS(priv->info.event_filter))
priv->info.event_filter[order] |= 1u << idx;
}
+
+ return TRUE;
}
/**
* @error: A [struct@GLib.Error].
*
* Get the list of type of events configured to be listen.
+ *
+ * Returns: %TRUE when the overall operation finishes successfully, else %FALSE.
*/
-void alsaseq_client_info_get_event_filter(ALSASeqClientInfo *self,
- ALSASeqEventType **event_types,
- gsize *event_type_count,
- GError **error)
+gboolean alsaseq_client_info_get_event_filter(ALSASeqClientInfo *self,
+ ALSASeqEventType **event_types,
+ gsize *event_type_count, GError **error)
{
ALSASeqClientInfoPrivate *priv;
unsigned int count;
unsigned int index;
int i;
- g_return_if_fail(ALSASEQ_IS_CLIENT_INFO(self));
+ g_return_val_if_fail(ALSASEQ_IS_CLIENT_INFO(self), FALSE);
priv = alsaseq_client_info_get_instance_private(self);
- g_return_if_fail(event_types != NULL);
- g_return_if_fail(event_type_count != NULL);
- g_return_if_fail(error == NULL || *error == NULL);
+ g_return_val_if_fail(event_types != NULL, FALSE);
+ g_return_val_if_fail(event_type_count != NULL, FALSE);
+ g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
count = 0;
for (i = 0; i < SNDRV_SEQ_EVENT_NONE + 1; ++i) {
if (count == 0) {
*event_types = NULL;
*event_type_count = 0;
- return;
+ return TRUE;
}
*event_types = g_malloc0_n(count, sizeof(*event_types));
++index;
}
}
+
+ return TRUE;
}
void seq_client_info_refer_private(ALSASeqClientInfo *self,
ALSASeqClientInfo *alsaseq_client_info_new();
-void alsaseq_client_info_set_event_filter(ALSASeqClientInfo *self,
- const ALSASeqEventType *event_types,
- gsize event_type_count,
- GError **error);
-
-void alsaseq_client_info_get_event_filter(ALSASeqClientInfo *self,
- ALSASeqEventType **event_types,
- gsize *event_type_count,
- GError **error);
+gboolean alsaseq_client_info_set_event_filter(ALSASeqClientInfo *self,
+ const ALSASeqEventType *event_types,
+ gsize event_type_count, GError **error);
+
+gboolean alsaseq_client_info_get_event_filter(ALSASeqClientInfo *self,
+ ALSASeqEventType **event_types,
+ gsize *event_type_count, GError **error);
G_END_DECLS