*
* Set the list of [enum@EventType] to filter events. This parameter is effective only for target
* instance with [enum@EventDataType:TIMESTAMP].
+ *
+ * Returns: %TRUE when the overall operation finishes successfully, else %FALSE.
*/
-void alsatimer_instance_params_set_event_filter(ALSATimerInstanceParams *self,
+gboolean alsatimer_instance_params_set_event_filter(ALSATimerInstanceParams *self,
const ALSATimerEventType *entries,
gsize entry_count, GError **error)
{
unsigned int filter;
int i;
- g_return_if_fail(ALSATIMER_IS_INSTANCE_PARAMS(self));
+ g_return_val_if_fail(ALSATIMER_IS_INSTANCE_PARAMS(self), FALSE);
priv = alsatimer_instance_params_get_instance_private(self);
- g_return_if_fail(entries != NULL);
- g_return_if_fail(error == NULL || *error == NULL);
+ g_return_val_if_fail(entries != NULL, FALSE);
+ g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
priv->params.filter = 0;
// Clear the event filter.
if (entries == NULL || entry_count == 0)
- return;
+ return TRUE;
filter = 0;
for (i = 0; i < entry_count; ++i) {
(val > SNDRV_TIMER_EVENT_RESUME &&
val < SNDRV_TIMER_EVENT_MSTART) ||
val > SNDRV_TIMER_EVENT_MRESUME) {
- g_return_if_reached();
+ g_return_val_if_reached(FALSE);
}
filter |= (1u << val);
}
priv->params.filter = filter;
+ return TRUE;
}
/**
*
* Get the list of ALSATimerEventType to filter events. This parameter is effective only for target
* instance with [enum@EventDataType:TIMESTAMP].
+ *
+ * Returns: %TRUE when the overall operation finishes successfully, else %FALSE.
*/
-void alsatimer_instance_params_get_event_filter(ALSATimerInstanceParams *self,
+gboolean alsatimer_instance_params_get_event_filter(ALSATimerInstanceParams *self,
ALSATimerEventType **entries,
gsize *entry_count, GError **error)
{
unsigned int index;
int i;
- g_return_if_fail(ALSATIMER_IS_INSTANCE_PARAMS(self));
+ g_return_val_if_fail(ALSATIMER_IS_INSTANCE_PARAMS(self), FALSE);
priv = alsatimer_instance_params_get_instance_private(self);
- g_return_if_fail(entries != NULL);
- g_return_if_fail(entry_count != NULL);
- g_return_if_fail(error == NULL || *error == NULL);
+ g_return_val_if_fail(entries != NULL, FALSE);
+ g_return_val_if_fail(entry_count != NULL, FALSE);
+ g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
count = 0;
filter = priv->params.filter;
}
if (count == 0)
- return;
+ return TRUE;
list = g_malloc0_n(count, sizeof(*list));
*entries = list;
*entry_count = count;
+ return TRUE;
}
void timer_instance_params_refer_private(ALSATimerInstanceParams *self,
ALSATimerInstanceParams *alsatimer_instance_params_new();
-void alsatimer_instance_params_set_event_filter(ALSATimerInstanceParams *self,
+gboolean alsatimer_instance_params_set_event_filter(ALSATimerInstanceParams *self,
const ALSATimerEventType *entries,
gsize entry_count, GError **error);
-void alsatimer_instance_params_get_event_filter(ALSATimerInstanceParams *self,
+gboolean alsatimer_instance_params_get_event_filter(ALSATimerInstanceParams *self,
ALSATimerEventType **entries,
gsize *entry_count, GError **error);