cli: print properties only if registered in the specific network(s)

If registered in the 3GPP network, print 3GPP-specific properties; and if
registered in a CDMA network, print CDMA-specific properties.
This commit is contained in:
Aleksander Morgado
2012-03-15 14:14:50 +01:00
parent 5f5ad38431
commit 31131a1f66
+52 -38
View File
@@ -218,10 +218,6 @@ status_process_reply (MMModemSimpleStatusProperties *result,
gchar *access_tech_str;
guint signal_quality;
gboolean signal_quality_recent = FALSE;
guint sid;
guint nid;
gchar *sid_str = NULL;
gchar *nid_str = NULL;
signal_quality = (mm_modem_simple_status_properties_get_signal_quality (
result,
@@ -231,44 +227,62 @@ status_process_reply (MMModemSimpleStatusProperties *result,
access_tech_str = (mm_modem_get_access_technologies_string (
mm_modem_simple_status_properties_get_access_technologies (result)));
sid = mm_modem_simple_status_properties_get_cdma_sid (result);
sid_str = (sid != MM_MODEM_CDMA_SID_UNKNOWN ?
g_strdup_printf ("%u", sid) :
NULL);
nid = mm_modem_simple_status_properties_get_cdma_nid (result);
nid_str = (nid != MM_MODEM_CDMA_NID_UNKNOWN ?
g_strdup_printf ("%u", nid) :
NULL);
g_print (" -------------------------\n"
" | signal quality: '%u' (%s)\n"
g_print (" | signal quality: '%u' (%s)\n"
" | bands: '%s'\n"
" | access tech: '%s'\n"
" -------------------------\n"
" 3GPP | registration: '%s'\n"
" | operator code: '%s'\n"
" | operator name: '%s'\n"
" -------------------------\n"
" CDMA | sid: '%s'\n"
" | nid: '%s'\n"
" | registration: CDMA1x '%s'\n"
" | EV-DO '%s'\n",
" | access tech: '%s'\n",
signal_quality, signal_quality_recent ? "recent" : "cached",
VALIDATE_UNKNOWN (bands_str),
VALIDATE_UNKNOWN (access_tech_str),
mmcli_get_3gpp_registration_state_string (
mm_modem_simple_status_properties_get_3gpp_registration_state (result)),
VALIDATE_UNKNOWN (mm_modem_simple_status_properties_get_3gpp_operator_code (result)),
VALIDATE_UNKNOWN (mm_modem_simple_status_properties_get_3gpp_operator_name (result)),
VALIDATE_UNKNOWN (sid_str),
VALIDATE_UNKNOWN (nid_str),
mmcli_get_cdma_registration_state_string (
mm_modem_simple_status_properties_get_cdma_cdma1x_registration_state (result)),
mmcli_get_cdma_registration_state_string (
mm_modem_simple_status_properties_get_cdma_evdo_registration_state (result)));
VALIDATE_UNKNOWN (access_tech_str));
if ((mm_modem_simple_status_properties_get_3gpp_registration_state (result) ==
MM_MODEM_3GPP_REGISTRATION_STATE_HOME) ||
(mm_modem_simple_status_properties_get_3gpp_registration_state (result) ==
MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING)) {
g_print (" -------------------------\n"
" 3GPP | registration: '%s'\n"
" | operator code: '%s'\n"
" | operator name: '%s'\n",
mmcli_get_3gpp_registration_state_string (
mm_modem_simple_status_properties_get_3gpp_registration_state (result)),
VALIDATE_UNKNOWN (mm_modem_simple_status_properties_get_3gpp_operator_code (result)),
VALIDATE_UNKNOWN (mm_modem_simple_status_properties_get_3gpp_operator_name (result)));
}
if ((mm_modem_simple_status_properties_get_cdma_cdma1x_registration_state (result) !=
MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN) ||
(mm_modem_simple_status_properties_get_cdma_evdo_registration_state (result) !=
MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN)) {
guint sid;
guint nid;
gchar *sid_str = NULL;
gchar *nid_str = NULL;
sid = mm_modem_simple_status_properties_get_cdma_sid (result);
sid_str = (sid != MM_MODEM_CDMA_SID_UNKNOWN ?
g_strdup_printf ("%u", sid) :
NULL);
nid = mm_modem_simple_status_properties_get_cdma_nid (result);
nid_str = (nid != MM_MODEM_CDMA_NID_UNKNOWN ?
g_strdup_printf ("%u", nid) :
NULL);
g_print (" -------------------------\n"
" CDMA | sid: '%s'\n"
" | nid: '%s'\n"
" | registration: CDMA1x '%s'\n"
" | EV-DO '%s'\n",
VALIDATE_UNKNOWN (sid_str),
VALIDATE_UNKNOWN (nid_str),
mmcli_get_cdma_registration_state_string (
mm_modem_simple_status_properties_get_cdma_cdma1x_registration_state (result)),
mmcli_get_cdma_registration_state_string (
mm_modem_simple_status_properties_get_cdma_evdo_registration_state (result)));
g_free (sid_str);
g_free (nid_str);
}
g_free (sid_str);
g_free (nid_str);
g_free (access_tech_str);
g_free (bands_str);
}