[PATCH 1/2] libmm-glib: add methods to retrieve 'Bearers' property in Modem interface

Ben Chan benchan at chromium.org
Thu Nov 21 22:24:49 PST 2013


---
 docs/reference/libmm-glib/libmm-glib-sections.txt |  2 ++
 libmm-glib/mm-modem.c                             | 39 +++++++++++++++++++++++
 libmm-glib/mm-modem.h                             |  3 ++
 3 files changed, 44 insertions(+)

diff --git a/docs/reference/libmm-glib/libmm-glib-sections.txt b/docs/reference/libmm-glib/libmm-glib-sections.txt
index 71b809a..415962f 100644
--- a/docs/reference/libmm-glib/libmm-glib-sections.txt
+++ b/docs/reference/libmm-glib/libmm-glib-sections.txt
@@ -113,6 +113,8 @@ mm_modem_peek_unlock_retries
 mm_modem_get_unlock_retries
 mm_modem_get_max_bearers
 mm_modem_get_max_active_bearers
+mm_modem_get_bearer_paths
+mm_modem_dup_bearer_paths
 mm_modem_get_own_numbers
 mm_modem_dup_own_numbers
 mm_modem_peek_supported_modes
diff --git a/libmm-glib/mm-modem.c b/libmm-glib/mm-modem.c
index c1dee3a..213f679 100644
--- a/libmm-glib/mm-modem.c
+++ b/libmm-glib/mm-modem.c
@@ -341,6 +341,45 @@ mm_modem_get_max_active_bearers (MMModem *self)
 /*****************************************************************************/
 
 /**
+ * mm_modem_get_bearer_paths:
+ * @self: A #MMModem.
+ *
+ * Gets the DBus paths of the #MMBearer handled in this #MMModem.
+ *
+ * <warning>The returned value is only valid until the property changes so
+ * it is only safe to use this function on the thread where
+ * @self was constructed. Use mm_modem_dup_bearer_paths() if on another
+ * thread.</warning>
+ *
+ * Returns: (transfer none): The DBus paths of the #MMBearer handled in this #MMModem, or %NULL if none available. Do not free the returned value, it belongs to @self.
+ */
+const gchar * const *
+mm_modem_get_bearer_paths (MMModem *self)
+{
+    g_return_val_if_fail (MM_IS_MODEM (self), NULL);
+
+    return mm_gdbus_modem_get_bearers (MM_GDBUS_MODEM (self));
+}
+
+/**
+ * mm_modem_dup_bearer_paths:
+ * @self: A #MMModem.
+ *
+ * Gets a copy of the DBus paths of the #MMBearer handled in this #MMModem.
+ *
+ * Returns: (transfer full): The DBus paths of the #MMBearer handled in this #MMModem, or %NULL if none available. The returned value should be freed with g_strfreev().
+ */
+gchar **
+mm_modem_dup_bearer_paths (MMModem *self)
+{
+    g_return_val_if_fail (MM_IS_MODEM (self), NULL);
+
+    return mm_gdbus_modem_dup_bearers (MM_GDBUS_MODEM (self));
+}
+
+/*****************************************************************************/
+
+/**
  * mm_modem_get_manufacturer:
  * @self: A #MMModem.
  *
diff --git a/libmm-glib/mm-modem.h b/libmm-glib/mm-modem.h
index 8fb1faf..0490628 100644
--- a/libmm-glib/mm-modem.h
+++ b/libmm-glib/mm-modem.h
@@ -87,6 +87,9 @@ guint              mm_modem_get_max_bearers          (MMModem *self);
 
 guint              mm_modem_get_max_active_bearers   (MMModem *self);
 
+const gchar * const *mm_modem_get_bearer_paths       (MMModem *self);
+gchar              **mm_modem_dup_bearer_paths       (MMModem *self);
+
 const gchar       *mm_modem_get_manufacturer         (MMModem *self);
 gchar             *mm_modem_dup_manufacturer         (MMModem *self);
 
-- 
1.8.4.1



More information about the ModemManager-devel mailing list