diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2011-12-21 15:27:10 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2012-03-15 14:14:36 +0100 |
commit | 241c29491873d527ac44272cbf4214e955ec5be6 (patch) | |
tree | 688aa0a28d4cecb6720ca57f74ece70466e71b6a | |
parent | 6583bd61e13e842ab6b016cb0947432f1e3aea26 (diff) |
cli: include 3GPP related stuff when printing modem info
-rw-r--r-- | cli/mmcli-common.c | 13 | ||||
-rw-r--r-- | cli/mmcli-common.h | 1 | ||||
-rw-r--r-- | cli/mmcli-modem.c | 19 |
3 files changed, 33 insertions, 0 deletions
diff --git a/cli/mmcli-common.c b/cli/mmcli-common.c index 60903e8e..89e48323 100644 --- a/cli/mmcli-common.c +++ b/cli/mmcli-common.c @@ -563,6 +563,19 @@ mmcli_get_3gpp_network_availability_string (MMModem3gppNetworkAvailability avail return value->value_nick; } +const gchar * +mmcli_get_3gpp_registration_state_string (MMModem3gppRegistrationState state) +{ + static GEnumClass *enum_class = NULL; + GEnumValue *value; + + if (!enum_class) + enum_class = G_ENUM_CLASS (g_type_class_ref (MM_TYPE_MODEM_3GPP_REGISTRATION_STATE)); + + value = g_enum_get_value (enum_class, state); + return value->value_nick; +} + /* Common options */ static gchar *modem_str; static gchar *bearer_str; diff --git a/cli/mmcli-common.h b/cli/mmcli-common.h index df66c14e..a0df66b3 100644 --- a/cli/mmcli-common.h +++ b/cli/mmcli-common.h @@ -56,6 +56,7 @@ const gchar *mmcli_get_state_string (MMModemState state); const gchar *mmcli_get_state_reason_string (MMModemStateChangeReason reason); const gchar *mmcli_get_lock_string (MMModemLock lock); const gchar *mmcli_get_3gpp_network_availability_string (MMModem3gppNetworkAvailability availability); +const gchar *mmcli_get_3gpp_registration_state_string (MMModem3gppRegistrationState state); GOptionGroup *mmcli_get_common_option_group (void); const gchar *mmcli_get_common_modem_string (void); diff --git a/cli/mmcli-modem.c b/cli/mmcli-modem.c index 2b4dfbc5..29a1d017 100644 --- a/cli/mmcli-modem.c +++ b/cli/mmcli-modem.c @@ -39,6 +39,7 @@ typedef struct { GCancellable *cancellable; MMObject *object; MMModem *modem; + MMModem3gpp *modem_3gpp; } Context; static Context *ctx; @@ -154,6 +155,8 @@ context_free (Context *ctx) g_object_unref (ctx->cancellable); if (ctx->modem) g_object_unref (ctx->modem); + if (ctx->modem_3gpp) + g_object_unref (ctx->modem_3gpp); if (ctx->object) g_object_unref (ctx->object); if (ctx->manager) @@ -296,6 +299,20 @@ print_modem_info (void) VALIDATE (mmcli_get_state_string (mm_modem_get_state (ctx->modem))), VALIDATE (access_technologies_string)); + /* If available, 3GPP related stuff */ + if (ctx->modem_3gpp) { + g_print (" -------------------------\n" + " 3GPP | imei: '%s'\n" + " | operator id: '%s'\n" + " | operator name: '%s'\n" + " | registration: '%s'\n", + VALIDATE (mm_modem_3gpp_get_imei (ctx->modem_3gpp)), + VALIDATE (mm_modem_3gpp_get_operator_code (ctx->modem_3gpp)), + VALIDATE (mm_modem_3gpp_get_operator_name (ctx->modem_3gpp)), + mmcli_get_3gpp_registration_state_string ( + mm_modem_3gpp_get_registration_state ((ctx->modem_3gpp)))); + } + /* SIM related stuff */ sim = mm_modem_get_sim_sync (ctx->modem, NULL, &error); if (error) { @@ -620,6 +637,7 @@ get_modem_ready (GObject *source, { ctx->object = mmcli_get_modem_finish (result, &ctx->manager); ctx->modem = mm_object_get_modem (ctx->object); + ctx->modem_3gpp = mm_object_get_modem_3gpp (ctx->object); if (info_flag) g_assert_not_reached (); @@ -779,6 +797,7 @@ mmcli_modem_run_synchronous (GDBusConnection *connection) mmcli_get_common_modem_string (), &ctx->manager); ctx->modem = mm_object_get_modem (ctx->object); + ctx->modem_3gpp = mm_object_get_modem_3gpp (ctx->object); /* Request to get info from modem? */ if (info_flag) { |