diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-iface-modem.c | 32 | ||||
-rw-r--r-- | src/mm-iface-modem.h | 2 | ||||
-rw-r--r-- | src/mm-modem-helpers.h | 8 |
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 { |