aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2011-12-31 11:12:19 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:42 +0100
commit0f7716887c0839515a55863397423df24fa7c2bd (patch)
tree6cb14ddc2e572dcd68604aeec71db945b2fee118
parentdd3d1c0337e54366d8da3558f05f5f4f0a572017 (diff)
iface-modem: new methods to check for specific capabilities being supported
-rw-r--r--src/mm-iface-modem.c36
-rw-r--r--src/mm-iface-modem.h5
2 files changed, 41 insertions, 0 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index 97c50c24..3d34b2eb 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -2917,6 +2917,42 @@ mm_iface_modem_is_3gpp (MMIfaceModem *self)
return (capabilities & MM_MODEM_CAPABILITY_3GPP);
}
+gboolean
+mm_iface_modem_is_cdma (MMIfaceModem *self)
+{
+ MMModemCapability capabilities = MM_MODEM_CAPABILITY_NONE;
+
+ g_object_get (self,
+ MM_IFACE_MODEM_CURRENT_CAPABILITIES, &capabilities,
+ NULL);
+
+ return (capabilities & MM_MODEM_CAPABILITY_CDMA_EVDO);
+}
+
+gboolean
+mm_iface_modem_is_cdma_only (MMIfaceModem *self)
+{
+ MMModemCapability capabilities = MM_MODEM_CAPABILITY_NONE;
+
+ g_object_get (self,
+ MM_IFACE_MODEM_CURRENT_CAPABILITIES, &capabilities,
+ NULL);
+
+ return (capabilities == MM_MODEM_CAPABILITY_CDMA_EVDO);
+}
+
+gboolean
+mm_iface_modem_is_3gpp_only (MMIfaceModem *self)
+{
+ MMModemCapability capabilities = MM_MODEM_CAPABILITY_NONE;
+
+ g_object_get (self,
+ MM_IFACE_MODEM_CURRENT_CAPABILITIES, &capabilities,
+ NULL);
+
+ return ((MM_MODEM_CAPABILITY_3GPP ^ capabilities) & capabilities);
+}
+
/*****************************************************************************/
static void
diff --git a/src/mm-iface-modem.h b/src/mm-iface-modem.h
index e86b0da6..3aba24c9 100644
--- a/src/mm-iface-modem.h
+++ b/src/mm-iface-modem.h
@@ -276,6 +276,11 @@ GType mm_iface_modem_get_type (void);
/* Check whether this modem has 3GPP capabilities */
gboolean mm_iface_modem_is_3gpp (MMIfaceModem *self);
+gboolean mm_iface_modem_is_3gpp_only (MMIfaceModem *self);
+
+/* Check whether this modem has CDMA capabilities */
+gboolean mm_iface_modem_is_cdma (MMIfaceModem *self);
+gboolean mm_iface_modem_is_cdma_only (MMIfaceModem *self);
/* Initialize Modem interface (async) */
void mm_iface_modem_initialize (MMIfaceModem *self,