summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2013-12-13 14:19:43 +0100
committerJiří Klimeš <jklimes@redhat.com>2013-12-20 11:37:54 +0100
commitf889440b96c254fb9bdd7aea82f628acfad792ee (patch)
treecde8ebaf497fa3586dd7a80202851e9f520a2e8e
parentf4f20ca0bc0ec94c2aee25279b5d2d7ff81079e9 (diff)
downloadNetworkManager-f889440b96c254fb9bdd7aea82f628acfad792ee.tar.gz
cli: more compact format for device info (nmcli device show) (rh #998003)
https://bugzilla.redhat.com/show_bug.cgi?id=998003
-rw-r--r--cli/src/devices.c74
1 files changed, 41 insertions, 33 deletions
diff --git a/cli/src/devices.c b/cli/src/devices.c
index f21e063644..42576a3fbc 100644
--- a/cli/src/devices.c
+++ b/cli/src/devices.c
@@ -99,11 +99,13 @@ static NmcOutputField nmc_fields_dev_show_general[] = {
{"NM-MANAGED", N_("NM-MANAGED"), 15}, /* 13 */
{"AUTOCONNECT", N_("AUTOCONNECT"), 15}, /* 14 */
{"FIRMWARE-MISSING", N_("FIRMWARE-MISSING"), 18}, /* 15 */
- {"CONNECTION", N_("CONNECTION"), 51}, /* 16 */
+ {"CONNECTION", N_("CONNECTION"), 20}, /* 16 */
+ {"CON-UUID", N_("CON-UUID"), 38}, /* 17 */
+ {"CON-PATH", N_("CON-PATH"), 51}, /* 18 */
{NULL, NULL, 0}
};
-#define NMC_FIELDS_DEV_SHOW_GENERAL_ALL "NAME,DEVICE,TYPE,VENDOR,PRODUCT,DRIVER,DRIVER-VERSION,FIRMWARE-VERSION,HWADDR,STATE,REASON,UDI,IP-IFACE,"\
- "NM-MANAGED,AUTOCONNECT,FIRMWARE-MISSING,CONNECTION"
+#define NMC_FIELDS_DEV_SHOW_GENERAL_ALL "NAME,DEVICE,TYPE,VENDOR,PRODUCT,DRIVER,DRIVER-VERSION,FIRMWARE-VERSION,HWADDR,STATE,REASON,"\
+ "UDI,IP-IFACE,NM-MANAGED,AUTOCONNECT,FIRMWARE-MISSING,CONNECTION,CON-UUID,CON-PATH"
#define NMC_FIELDS_DEV_SHOW_GENERAL_COMMON "NAME,DEVICE,TYPE,VENDOR,PRODUCT,DRIVER,HWADDR,STATE"
/* Available fields for 'device show' - CONNECTIONS part */
@@ -247,11 +249,15 @@ static NmcOutputField nmc_fields_dev_show_sections[] = {
{NULL, NULL, 0, NULL }
};
#if WITH_WIMAX
-#define NMC_FIELDS_DEV_SHOW_SECTIONS_ALL "GENERAL,CAPABILITIES,BOND,VLAN,CONNECTIONS,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6"
-#define NMC_FIELDS_DEV_SHOW_SECTIONS_COMMON "GENERAL,CAPABILITIES,BOND,VLAN,CONNECTIONS,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6"
+#define NMC_FIELDS_DEV_SHOW_SECTIONS_ALL "GENERAL,CAPABILITIES,BOND,VLAN,CONNECTIONS,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,"\
+ "WIMAX-PROPERTIES,NSP,IP4,DHCP4,IP6,DHCP6"
+#define NMC_FIELDS_DEV_SHOW_SECTIONS_COMMON "GENERAL.DEVICE,GENERAL.TYPE,GENERAL.HWADDR,GENERAL.STATE,GENERAL.CONNECTION,GENERAL.CON-PATH,"\
+ "WIRED-PROPERTIES,IP4,IP6"
#else
-#define NMC_FIELDS_DEV_SHOW_SECTIONS_ALL "GENERAL,CAPABILITIES,BOND,VLAN,CONNECTIONS,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,IP4,DHCP4,IP6,DHCP6"
-#define NMC_FIELDS_DEV_SHOW_SECTIONS_COMMON "GENERAL,CAPABILITIES,BOND,VLAN,CONNECTIONS,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,IP4,DHCP4,IP6,DHCP6"
+#define NMC_FIELDS_DEV_SHOW_SECTIONS_ALL "GENERAL,CAPABILITIES,BOND,VLAN,CONNECTIONS,WIFI-PROPERTIES,AP,WIRED-PROPERTIES,"\
+ "IP4,DHCP4,IP6,DHCP6"
+#define NMC_FIELDS_DEV_SHOW_SECTIONS_COMMON "GENERAL.DEVICE,GENERAL.TYPE,GENERAL.HWADDR,GENERAL.STATE,GENERAL.CONNECTION,GENERAL.CON-PATH,"\
+ "WIRED-PROPERTIES,IP4,IP6"
#endif
@@ -564,6 +570,30 @@ construct_header_name (const char *base, const char *spec)
return header_name;
}
+static const char *
+get_active_connection_id (NMDevice *device)
+{
+ const GPtrArray *avail_cons;
+ NMActiveConnection *ac;
+ const char *ac_uuid;
+ int i;
+
+ ac = nm_device_get_active_connection (device);
+ if (!ac)
+ return NULL;
+ ac_uuid = nm_active_connection_get_uuid (ac);
+
+ avail_cons = nm_device_get_available_connections (device);
+ for (i = 0; avail_cons && (i < avail_cons->len); i++) {
+ NMRemoteConnection *candidate = g_ptr_array_index (avail_cons, i);
+ const char *test_uuid = nm_connection_get_uuid (NM_CONNECTION (candidate));
+
+ if (g_strcmp0 (ac_uuid, test_uuid) == 0)
+ return nm_connection_get_id (NM_CONNECTION (candidate));
+ }
+ return NULL;
+}
+
static void
show_device_info (NMDevice *device, NmCli *nmc)
{
@@ -659,6 +689,7 @@ show_device_info (NMDevice *device, NmCli *nmc)
state_str = g_strdup_printf ("%d (%s)", state, nmc_device_state_to_string (state));
reason_str = g_strdup_printf ("%d (%s)", reason, nmc_device_reason_to_string (reason));
+ acon = nm_device_get_active_connection (device);
arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX);
set_val_strc (arr, 0, nmc_fields_dev_show_sections[0].name); /* "GENERAL"*/
@@ -677,8 +708,9 @@ show_device_info (NMDevice *device, NmCli *nmc)
set_val_strc (arr, 13, nm_device_get_managed (device) ? _("yes") : _("no"));
set_val_strc (arr, 14, nm_device_get_autoconnect (device) ? _("yes") : _("no"));
set_val_strc (arr, 15, nm_device_get_firmware_missing (device) ? _("yes") : _("no"));
- set_val_strc (arr, 16, ((acon = nm_device_get_active_connection (device)) ?
- nm_object_get_path (NM_OBJECT (acon)) : _("not connected")));
+ set_val_strc (arr, 16, get_active_connection_id (device));
+ set_val_strc (arr, 17, acon ? nm_active_connection_get_uuid (acon) : NULL);
+ set_val_strc (arr, 18, acon ? nm_object_get_path (NM_OBJECT (acon)) : NULL);
g_ptr_array_add (nmc->output_data, arr);
print_data (nmc); /* Print all data */
@@ -1012,30 +1044,6 @@ show_device_info (NMDevice *device, NmCli *nmc)
g_ptr_array_free (fields_in_section, TRUE);
}
-static const char *
-get_active_connection_id (NMDevice *device)
-{
- const GPtrArray *avail_cons;
- NMActiveConnection *ac;
- const char *ac_uuid;
- int i;
-
- ac = nm_device_get_active_connection (device);
- if (!ac)
- return NULL;
- ac_uuid = nm_active_connection_get_uuid (ac);
-
- avail_cons = nm_device_get_available_connections (device);
- for (i = 0; avail_cons && (i < avail_cons->len); i++) {
- NMRemoteConnection *candidate = g_ptr_array_index (avail_cons, i);
- const char *test_uuid = nm_connection_get_uuid (NM_CONNECTION (candidate));
-
- if (g_strcmp0 (ac_uuid, test_uuid) == 0)
- return nm_connection_get_id (NM_CONNECTION (candidate));
- }
- return NULL;
-}
-
static void
fill_output_device_status (NMDevice *device, NmCli *nmc)
{