"alsatimer_user_instance_attach_as_slave";
"alsatimer_user_instance_get_info";
"alsatimer_user_instance_set_params";
+ "alsatimer_user_instance_get_status";
"alsatimer_instance_info_get_type";
*tv_nsec = (guint)priv->status.tstamp.tv_nsec;
}
+
+void timer_instance_status_refer_private(ALSATimerInstanceStatus *self,
+ struct snd_timer_status **status)
+{
+ ALSATimerInstanceStatusPrivate *priv =
+ alsatimer_instance_status_get_instance_private(self);
+
+ *status = &priv->status;
+}
#include "device-params.h"
#include "instance-info.h"
#include "instance-params.h"
+#include "instance-status.h"
#include <sound/asound.h>
void timer_instance_params_refer_private(ALSATimerInstanceParams *self,
struct snd_timer_params **params);
+void timer_instance_status_refer_private(ALSATimerInstanceStatus *self,
+ struct snd_timer_status **status);
+
G_END_DECLS
#endif
if (ioctl(priv->fd, SNDRV_TIMER_IOCTL_PARAMS, params) < 0)
generate_error(error, errno);
}
+
+/**
+ * alsatimer_user_instance_get_status:
+ * @self: A #ALSATimerUserInstance.
+ * @instance_status: (out): A #ALSATimerInstanceStatus.
+ * @error: A #GError.
+ *
+ * Get the latest status of instance.
+ */
+void alsatimer_user_instance_get_status(ALSATimerUserInstance *self,
+ ALSATimerInstanceStatus **instance_status,
+ GError **error)
+{
+ ALSATimerUserInstancePrivate *priv;
+ struct snd_timer_status *status;
+
+ g_return_if_fail(ALSATIMER_IS_USER_INSTANCE(self));
+ priv = alsatimer_user_instance_get_instance_private(self);
+
+ *instance_status = g_object_new(ALSATIMER_TYPE_INSTANCE_STATUS, NULL);
+ timer_instance_status_refer_private(*instance_status, &status);
+
+ if (ioctl(priv->fd, SNDRV_TIMER_IOCTL_STATUS, status) < 0) {
+ generate_error(error, errno);
+ g_object_unref(*instance_status);
+ }
+}
#include <timer/device-id.h>
#include <timer/instance-info.h>
#include <timer/instance-params.h>
+#include <timer/instance-status.h>
G_BEGIN_DECLS
ALSATimerInstanceParams *const *instance_params,
GError **error);
+void alsatimer_user_instance_get_status(ALSATimerUserInstance *self,
+ ALSATimerInstanceStatus **instance_status,
+ GError **error);
+
G_END_DECLS
#endif
'attach_as_slave',
'get_info',
'set_params',
+ 'get_status',
)
signals = ()