aboutsummaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/mmcli-modem.c102
1 files changed, 101 insertions, 1 deletions
diff --git a/cli/mmcli-modem.c b/cli/mmcli-modem.c
index f2d25598..13220d3f 100644
--- a/cli/mmcli-modem.c
+++ b/cli/mmcli-modem.c
@@ -166,6 +166,68 @@ prefix_newlines (const gchar *prefix,
NULL);
}
+static const gchar *
+get_ip_method_string (MMModemIpMethod ip_method)
+{
+ switch (ip_method) {
+ case MM_MODEM_IP_METHOD_PPP:
+ return "PPP";
+ case MM_MODEM_IP_METHOD_STATIC:
+ return "Static";
+ case MM_MODEM_IP_METHOD_DHCP:
+ return "DHCP";
+ }
+
+ g_warn_if_reached ();
+ return NULL;
+}
+
+static const gchar *
+get_modem_type_string (MMModemType type)
+{
+ switch (type) {
+ case MM_MODEM_TYPE_UNKNOWN:
+ return "Unknown";
+ case MM_MODEM_TYPE_GSM:
+ return "GSM";
+ case MM_MODEM_TYPE_CDMA:
+ return "CDMA";
+ }
+
+ g_warn_if_reached ();
+ return NULL;
+}
+
+static const gchar *
+get_state_string (MMModemState state)
+{
+ switch (state) {
+ case MM_MODEM_STATE_UNKNOWN:
+ return "Unknown";
+ case MM_MODEM_STATE_DISABLED:
+ return "Disabled";
+ case MM_MODEM_STATE_DISABLING:
+ return "Disabling";
+ case MM_MODEM_STATE_ENABLING:
+ return "Enabling";
+ case MM_MODEM_STATE_ENABLED:
+ return "Enabled";
+ case MM_MODEM_STATE_SEARCHING:
+ return "Searching";
+ case MM_MODEM_STATE_REGISTERED:
+ return "Registered";
+ case MM_MODEM_STATE_DISCONNECTING:
+ return "Disconnecting";
+ case MM_MODEM_STATE_CONNECTING:
+ return "Connecting";
+ case MM_MODEM_STATE_CONNECTED:
+ return "Connected";
+ }
+
+ g_warn_if_reached ();
+ return NULL;
+}
+
static void
get_info_process_reply (gboolean result,
const GError *error,
@@ -177,8 +239,16 @@ get_info_process_reply (gboolean result,
gchar *master_device;
gchar *device;
gchar *device_id;
+ gchar *equipment_id;
gchar *driver;
gchar *plugin;
+ MMModemType type;
+ gboolean enabled;
+ gchar *unlock_required;
+ guint32 unlock_retries;
+ gchar *unlock;
+ MMModemIpMethod ip_method;
+ MMModemState state;
if (!result) {
g_printerr ("couldn't get info from modem: '%s'\n",
@@ -190,8 +260,22 @@ get_info_process_reply (gboolean result,
master_device = mm_modem_get_master_device (ctxt.modem);
device = mm_modem_get_device (ctxt.modem);
device_id = mm_modem_get_device_identifier (ctxt.modem);
+ equipment_id = mm_modem_get_equipment_identifier (ctxt.modem);
driver = mm_modem_get_driver (ctxt.modem);
plugin = mm_modem_get_plugin (ctxt.modem);
+ type = mm_modem_get_modem_type (ctxt.modem);
+ enabled = mm_modem_get_enabled (ctxt.modem);
+ unlock_required = mm_modem_get_unlock_required (ctxt.modem);
+ unlock_retries = mm_modem_get_unlock_retries (ctxt.modem);
+ ip_method = mm_modem_get_ip_method (ctxt.modem);
+ state = mm_modem_get_state (ctxt.modem);
+
+ /* Strings with mixed properties */
+ unlock = (unlock_required ?
+ g_strdup_printf ("%s (%u retries)",
+ unlock_required,
+ unlock_retries) :
+ g_strdup ("not required"));
/* Rework possible multiline strings */
prefixed_revision = prefix_newlines (" | ",
@@ -203,29 +287,45 @@ get_info_process_reply (gboolean result,
" Hardware | manufacturer: '%s'\n"
" | model: '%s'\n"
" | revision: '%s'\n"
+ " | type: '%s'\n"
" -------------------------\n"
" System | master device: '%s'\n"
" | device: '%s'\n"
" | device id: '%s'\n"
+ " | equipment id: '%s'\n"
" | driver: '%s'\n"
" | plugin: '%s'\n"
+ " -------------------------\n"
+ " Status | enabled: '%s'\n"
+ " | unlock: '%s'\n"
+ " | IP method: '%s'\n"
+ " | state: '%s'\n"
"\n",
ctxt.modem_str,
manufacturer,
model,
prefixed_revision ? prefixed_revision : revision,
+ get_modem_type_string (type),
master_device,
device,
device_id,
+ equipment_id,
driver,
- plugin);
+ plugin,
+ enabled ? "yes" : "no",
+ unlock,
+ get_ip_method_string (ip_method),
+ get_state_string (state));
g_free (prefixed_revision);
g_free (master_device);
g_free (device);
g_free (device_id);
+ g_free (equipment_id);
g_free (driver);
g_free (plugin);
+ g_free (unlock_required);
+ g_free (unlock);
}
static void