aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-01-03 17:06:45 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:43 +0100
commitffae95a46b66190484f414d40e50434aa278d34d (patch)
treeda0ae7cf6990f4535ed3333043c18dcf701ce1f9 /src
parent3c703dd5a33714852fe0dc32879d6ea8aec7c849 (diff)
iface-modem: new helpers to check if modem has LTE capabilities
Diffstat (limited to 'src')
-rw-r--r--src/mm-iface-modem.c32
-rw-r--r--src/mm-iface-modem.h2
-rw-r--r--src/mm-modem-helpers.h8
3 files changed, 35 insertions, 7 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index 27970e7d..1499bec8 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -2851,7 +2851,7 @@ mm_iface_modem_is_3gpp (MMIfaceModem *self)
}
gboolean
-mm_iface_modem_is_cdma (MMIfaceModem *self)
+mm_iface_modem_is_3gpp_lte (MMIfaceModem *self)
{
MMModemCapability capabilities = MM_MODEM_CAPABILITY_NONE;
@@ -2859,11 +2859,11 @@ mm_iface_modem_is_cdma (MMIfaceModem *self)
MM_IFACE_MODEM_CURRENT_CAPABILITIES, &capabilities,
NULL);
- return (capabilities & MM_MODEM_CAPABILITY_CDMA_EVDO);
+ return (capabilities & MM_MODEM_CAPABILITY_3GPP_LTE);
}
gboolean
-mm_iface_modem_is_cdma_only (MMIfaceModem *self)
+mm_iface_modem_is_cdma (MMIfaceModem *self)
{
MMModemCapability capabilities = MM_MODEM_CAPABILITY_NONE;
@@ -2871,7 +2871,7 @@ mm_iface_modem_is_cdma_only (MMIfaceModem *self)
MM_IFACE_MODEM_CURRENT_CAPABILITIES, &capabilities,
NULL);
- return (capabilities == MM_MODEM_CAPABILITY_CDMA_EVDO);
+ return (capabilities & MM_MODEM_CAPABILITY_CDMA_EVDO);
}
gboolean
@@ -2886,6 +2886,30 @@ mm_iface_modem_is_3gpp_only (MMIfaceModem *self)
return ((MM_MODEM_CAPABILITY_3GPP ^ capabilities) & capabilities);
}
+gboolean
+mm_iface_modem_is_3gpp_lte_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_LTE ^ capabilities) & capabilities);
+}
+
+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);
+}
+
/*****************************************************************************/
static void
diff --git a/src/mm-iface-modem.h b/src/mm-iface-modem.h
index cd25a6bb..804f02cb 100644
--- a/src/mm-iface-modem.h
+++ b/src/mm-iface-modem.h
@@ -253,6 +253,8 @@ 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);
+gboolean mm_iface_modem_is_3gpp_lte (MMIfaceModem *self);
+gboolean mm_iface_modem_is_3gpp_lte_only (MMIfaceModem *self);
/* Check whether this modem has CDMA capabilities */
gboolean mm_iface_modem_is_cdma (MMIfaceModem *self);
diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h
index e8dd3372..725eca3c 100644
--- a/src/mm-modem-helpers.h
+++ b/src/mm-modem-helpers.h
@@ -22,11 +22,13 @@
#include "mm-modem-cdma.h"
#include "mm-charsets.h"
-#define MM_MODEM_CAPABILITY_3GPP \
- (MM_MODEM_CAPABILITY_GSM_UMTS | \
- MM_MODEM_CAPABILITY_LTE | \
+#define MM_MODEM_CAPABILITY_3GPP_LTE \
+ (MM_MODEM_CAPABILITY_LTE | \
MM_MODEM_CAPABILITY_LTE_ADVANCED)
+#define MM_MODEM_CAPABILITY_3GPP \
+ (MM_MODEM_CAPABILITY_GSM_UMTS | \
+ MM_MODEM_CAPABILITY_3GPP_LTE)
/* Network scan results expected */
typedef struct {