aboutsummaryrefslogtreecommitdiff
path: root/libmm-glib/mm-object.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-07-07 20:41:17 +0200
committerAleksander Morgado <aleksander@lanedo.com>2013-08-21 12:33:09 +0200
commitfcdbefa51962aac545db7a797b5fbeb60a66ab60 (patch)
treed0cd380b81426ccec857fbcd4df2f2c7a3a6528d /libmm-glib/mm-object.c
parent37115dee9383c79985e6b05122380449b408ae13 (diff)
libmm-glib: handle the new 'Signal' interface
Diffstat (limited to 'libmm-glib/mm-object.c')
-rw-r--r--libmm-glib/mm-object.c36
1 files changed, 36 insertions, 0 deletions
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.
+ *
+ * <warning>It is not safe to use the returned object if you are on another thread than the one where the #MMManager is running.</warning>
+ *
+ * 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)
{