From fcdbefa51962aac545db7a797b5fbeb60a66ab60 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Sun, 7 Jul 2013 20:41:17 +0200 Subject: libmm-glib: handle the new 'Signal' interface --- libmm-glib/mm-object.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'libmm-glib/mm-object.c') diff --git a/libmm-glib/mm-object.c b/libmm-glib/mm-object.c index 8d549bc0..d01686e2 100644 --- a/libmm-glib/mm-object.c +++ b/libmm-glib/mm-object.c @@ -412,6 +412,42 @@ mm_object_peek_modem_firmware (MMObject *self) /*****************************************************************************/ +/** + * mm_object_get_modem_signal: + * @self: A #MMObject. + * + * Gets the #MMModemSignal instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal on @self, if any. + * + * Returns: (transfer full): A #MMModemSignal that must be freed with g_object_unref() or %NULL if @self does not implement the interface. + */ +MMModemSignal * +mm_object_get_modem_signal (MMObject *self) +{ + g_return_val_if_fail (MM_IS_OBJECT (MM_GDBUS_OBJECT (self)), NULL); + + return (MMModemSignal *)mm_gdbus_object_get_modem_signal (MM_GDBUS_OBJECT (self)); +} + +/** + * mm_object_peek_modem_signal: (skip) + * @self: A #MMObject. + * + * Like mm_object_get_modem_signal() but doesn't increase the reference count on the returned object. + * + * It is not safe to use the returned object if you are on another thread than the one where the #MMManager is running. + * + * Returns: (transfer none): A #MMModemSignal or %NULL if @self does not implement the interface. Do not free the returned object, it is owned by @self. + */ +MMModemSignal * +mm_object_peek_modem_signal (MMObject *self) +{ + g_return_val_if_fail (MM_IS_OBJECT (MM_GDBUS_OBJECT (self)), NULL); + + return (MMModemSignal *)mm_gdbus_object_peek_modem_signal (MM_GDBUS_OBJECT (self)); +} + +/*****************************************************************************/ + static void mm_object_init (MMObject *self) { -- cgit v1.2.3-70-g09d2