From 82b45f80e5569b1771a96795267a2ef52cf61658 Mon Sep 17 00:00:00 2001 From: Takashi Sakamoto Date: Sun, 9 Feb 2020 12:20:53 +0900 Subject: [PATCH] timer: user_instance: add an API to stop event emission Signed-off-by: Takashi Sakamoto --- src/timer/alsatimer.map | 1 + src/timer/user-instance.c | 18 ++++++++++++++++++ src/timer/user-instance.h | 2 ++ tests/alsatimer-user-instance | 1 + 4 files changed, 22 insertions(+) diff --git a/src/timer/alsatimer.map b/src/timer/alsatimer.map index d34158c..d50a33f 100644 --- a/src/timer/alsatimer.map +++ b/src/timer/alsatimer.map @@ -38,6 +38,7 @@ ALSA_GOBJECT_0_0_0 { "alsatimer_user_instance_get_status"; "alsatimer_user_instance_create_source"; "alsatimer_user_instance_start"; + "alsatimer_user_instance_stop"; "alsatimer_instance_info_get_type"; diff --git a/src/timer/user-instance.c b/src/timer/user-instance.c index 2d6d229..d9886d9 100644 --- a/src/timer/user-instance.c +++ b/src/timer/user-instance.c @@ -462,3 +462,21 @@ void alsatimer_user_instance_start(ALSATimerUserInstance *self, GError **error) if (ioctl(priv->fd, SNDRV_TIMER_IOCTL_START) < 0) generate_error(error, errno); } + +/** + * alsatimer_user_instance_stop: + * @self: A #ALSATimerUserInstance. + * @error: A #GError. + * + * Stop event emission. + */ +void alsatimer_user_instance_stop(ALSATimerUserInstance *self, GError **error) +{ + ALSATimerUserInstancePrivate *priv; + + g_return_if_fail(ALSATIMER_IS_USER_INSTANCE(self)); + priv = alsatimer_user_instance_get_instance_private(self); + + if (ioctl(priv->fd, SNDRV_TIMER_IOCTL_STOP) < 0) + generate_error(error, errno); +} diff --git a/src/timer/user-instance.h b/src/timer/user-instance.h index ba91e2d..c4e4da7 100644 --- a/src/timer/user-instance.h +++ b/src/timer/user-instance.h @@ -104,6 +104,8 @@ void alsatimer_user_instance_create_source(ALSATimerUserInstance *self, void alsatimer_user_instance_start(ALSATimerUserInstance *self, GError **error); +void alsatimer_user_instance_stop(ALSATimerUserInstance *self, GError **error); + G_END_DECLS #endif diff --git a/tests/alsatimer-user-instance b/tests/alsatimer-user-instance index f86cf55..acc04c4 100644 --- a/tests/alsatimer-user-instance +++ b/tests/alsatimer-user-instance @@ -23,6 +23,7 @@ methods = ( 'do_handle_event', 'do_handle_disconnection', 'start', + 'stop', ) signals = ( 'handle-event', -- 2.47.3