From: Takashi Sakamoto Date: Sun, 9 Feb 2020 03:20:53 +0000 (+0900) Subject: timer: user_instance: add an API to start instance for timer device X-Git-Tag: v0.1.0~323 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=261f1e3667f353737c6f7c9c65f512cc2d5dd38d;p=alsa-gobject.git timer: user_instance: add an API to start instance for timer device Signed-off-by: Takashi Sakamoto --- diff --git a/src/timer/alsatimer.map b/src/timer/alsatimer.map index 4dbfe69..d34158c 100644 --- a/src/timer/alsatimer.map +++ b/src/timer/alsatimer.map @@ -37,6 +37,7 @@ ALSA_GOBJECT_0_0_0 { "alsatimer_user_instance_set_params"; "alsatimer_user_instance_get_status"; "alsatimer_user_instance_create_source"; + "alsatimer_user_instance_start"; "alsatimer_instance_info_get_type"; diff --git a/src/timer/user-instance.c b/src/timer/user-instance.c index 6ade25a..2d6d229 100644 --- a/src/timer/user-instance.c +++ b/src/timer/user-instance.c @@ -444,3 +444,21 @@ void alsatimer_user_instance_create_source(ALSATimerUserInstance *self, src->event_data = g_object_new(event_data_class, "type", priv->event_data_type, NULL); } + +/** + * alsatimer_user_instance_start: + * @self: A #ALSATimerUserInstance. + * @error: A #GError. + * + * Start event emission. + */ +void alsatimer_user_instance_start(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_START) < 0) + generate_error(error, errno); +} diff --git a/src/timer/user-instance.h b/src/timer/user-instance.h index c271084..ba91e2d 100644 --- a/src/timer/user-instance.h +++ b/src/timer/user-instance.h @@ -102,6 +102,8 @@ void alsatimer_user_instance_get_status(ALSATimerUserInstance *self, void alsatimer_user_instance_create_source(ALSATimerUserInstance *self, GSource **gsrc, GError **error); +void alsatimer_user_instance_start(ALSATimerUserInstance *self, GError **error); + G_END_DECLS #endif diff --git a/tests/alsatimer-user-instance b/tests/alsatimer-user-instance index 83df59d..f86cf55 100644 --- a/tests/alsatimer-user-instance +++ b/tests/alsatimer-user-instance @@ -22,6 +22,7 @@ methods = ( 'create_source', 'do_handle_event', 'do_handle_disconnection', + 'start', ) signals = ( 'handle-event',