diff options
author | Francesco Giudici <fgiudici@redhat.com> | 2017-03-28 10:55:48 +0200 |
---|---|---|
committer | Francesco Giudici <fgiudici@redhat.com> | 2017-03-28 10:55:48 +0200 |
commit | 5526769950c81cf0f410a852b1fcfb70c9e9b158 (patch) | |
tree | 049a04ad1c84075c4058c5d6c697e7e5bceff9a5 | |
parent | 76cf0e590fff7206378f46568782d3b7244c2ad5 (diff) | |
parent | 8bfb9989cd46fc77314c5f8c0bfcbb7ceb360dfb (diff) | |
download | NetworkManager-5526769950c81cf0f410a852b1fcfb70c9e9b158.tar.gz |
merge: branch 'fg/nmcli_parsing_rh1391170'
https://bugzilla.redhat.com/show_bug.cgi?id=1391170
-rw-r--r-- | clients/cli/connections.c | 5 | ||||
-rw-r--r-- | clients/cli/devices.c | 32 | ||||
-rw-r--r-- | clients/cli/general.c | 25 | ||||
-rw-r--r-- | clients/cli/nmcli.c | 40 | ||||
-rw-r--r-- | clients/cli/settings.c | 816 | ||||
-rw-r--r-- | clients/cli/utils.c | 255 | ||||
-rw-r--r-- | clients/cli/utils.h | 1 | ||||
-rw-r--r-- | man/nmcli-examples.xml | 19 | ||||
-rw-r--r-- | man/nmcli.xml | 28 |
9 files changed, 667 insertions, 554 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c index fecec0d403..2578a4963e 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -1801,10 +1801,7 @@ do_connections_show (NmCli *nmc, int argc, char **argv) tmpl = nmc_fields_con_show; tmpl_len = sizeof (nmc_fields_con_show); nmc->print_fields.indices = parse_output_fields (fields_str, tmpl, FALSE, NULL, &err); - if (err) { - goto finish; - } - if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &err)) + if (err) goto finish; /* Add headers */ diff --git a/clients/cli/devices.c b/clients/cli/devices.c index f7e36ad5cf..b1677ef49d 100644 --- a/clients/cli/devices.c +++ b/clients/cli/devices.c @@ -92,8 +92,8 @@ NmcOutputField nmc_fields_dev_show_connections[] = { {"AVAILABLE-CONNECTIONS", N_("AVAILABLE-CONNECTIONS")}, /* 2 */ {NULL, NULL} }; -#define NMC_FIELDS_DEV_SHOW_CONNECTIONS_ALL "AVAILABLE-CONNECTION-PATHS,AVAILABLE-CONNECTIONS" -#define NMC_FIELDS_DEV_SHOW_CONNECTIONS_COMMON "AVAILABLE-CONNECTION-PATHS,AVAILABLE-CONNECTIONS" +#define NMC_FIELDS_DEV_SHOW_CONNECTIONS_ALL "NAME,AVAILABLE-CONNECTION-PATHS,AVAILABLE-CONNECTIONS" +#define NMC_FIELDS_DEV_SHOW_CONNECTIONS_COMMON "NAME,AVAILABLE-CONNECTION-PATHS,AVAILABLE-CONNECTIONS" /* Available fields for 'device show' - CAPABILITIES part */ NmcOutputField nmc_fields_dev_show_cap[] = { @@ -1084,7 +1084,7 @@ show_device_info (NMDevice *device, NmCli *nmc) if (!nmc->required_fields || strcasecmp (nmc->required_fields, "common") == 0) fields_str = fields_common; - else if (!nmc->required_fields || strcasecmp (nmc->required_fields, "all") == 0) + else if (strcasecmp (nmc->required_fields, "all") == 0) fields_str = fields_all; else fields_str = nmc->required_fields; @@ -1097,8 +1097,10 @@ show_device_info (NMDevice *device, NmCli *nmc) return FALSE; } - /* Main header */ + /* Main header (pretty only) */ nmc->print_fields.header_name = (char *) construct_header_name (base_hdr, nm_device_get_iface (device)); + + /* Lazy way to retrieve sorted array from 0 to the number of dev fields */ nmc->print_fields.indices = parse_output_fields (NMC_FIELDS_DEV_SHOW_GENERAL_ALL, nmc_fields_dev_show_general, FALSE, NULL, NULL); @@ -1492,12 +1494,6 @@ do_devices_status (NmCli *nmc, int argc, char **argv) if (nmc->complete) return nmc->return_value; - if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error)) { - g_string_printf (nmc->return_text, _("Error: %s."), error->message); - g_error_free (error); - return NMC_RESULT_ERROR_USER_INPUT; - } - while (argc > 0) { g_printerr (_("Unknown parameter: %s\n"), *argv); argc--; @@ -3617,14 +3613,6 @@ static NMCCommand device_wifi_cmds[] = { static NMCResultCode do_device_wifi (NmCli *nmc, int argc, char **argv) { - GError *error = NULL; - - if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error)) { - g_string_printf (nmc->return_text, _("Error: %s."), error->message); - g_error_free (error); - return NMC_RESULT_ERROR_USER_INPUT; - } - nmc_do_cmd (nmc, device_wifi_cmds, *argv, argc, argv); return nmc->return_value; @@ -3789,14 +3777,6 @@ static NMCCommand device_lldp_cmds[] = { static NMCResultCode do_device_lldp (NmCli *nmc, int argc, char **argv) { - GError *error = NULL; - - if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error)) { - g_string_printf (nmc->return_text, _("Error: %s."), error->message); - g_error_free (error); - return NMC_RESULT_ERROR_USER_INPUT; - } - if (!nmc->mode_specified) nmc->multiline_output = TRUE; /* multiline mode is default for 'device lldp' */ diff --git a/clients/cli/general.c b/clients/cli/general.c index 72fefdf83b..c11697350a 100644 --- a/clients/cli/general.c +++ b/clients/cli/general.c @@ -385,13 +385,6 @@ show_nm_status (NmCli *nmc, const char *pretty_header_name, const char *print_fl static NMCResultCode do_general_status (NmCli *nmc, int argc, char **argv) { - gs_free_error GError *error = NULL; - - if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error)) { - g_string_printf (nmc->return_text, _("Error: %s."), error->message); - return NMC_RESULT_ERROR_USER_INPUT; - } - if (nmc->complete) return nmc->return_value; @@ -566,13 +559,6 @@ show_nm_permissions (NmCli *nmc) static NMCResultCode do_general_permissions (NmCli *nmc, int argc, char **argv) { - gs_free_error GError *error = NULL; - - if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error)) { - g_string_printf (nmc->return_text, _("Error: %s."), error->message); - return NMC_RESULT_ERROR_USER_INPUT; - } - if (nmc->complete) return nmc->return_value; @@ -655,12 +641,6 @@ do_general_logging (NmCli *nmc, int argc, char **argv) gs_free_error GError *error = NULL; if (argc == 0) { - if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error)) { - g_string_printf (nmc->return_text, _("Error: %s."), error->message); - g_error_free (error); - return NMC_RESULT_ERROR_USER_INPUT; - } - if (nmc->complete) return nmc->return_value; @@ -918,17 +898,12 @@ static NMCResultCode do_radio_all (NmCli *nmc, int argc, char **argv) { gboolean enable_flag; - gs_free_error GError *error = NULL; if (argc == 0) { if (nmc->complete) return nmc->return_value; /* no argument, show all radio switches */ - if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error)) { - g_string_printf (nmc->return_text, _("Error: %s."), error->message); - return NMC_RESULT_ERROR_USER_INPUT; - } show_nm_status (nmc, _("Radio switches"), NMC_FIELDS_NM_STATUS_RADIO); } else { if (nmc->complete) { diff --git a/clients/cli/nmcli.c b/clients/cli/nmcli.c index 429acf9fbc..6f0edbf012 100644 --- a/clients/cli/nmcli.c +++ b/clients/cli/nmcli.c @@ -171,17 +171,18 @@ usage (void) g_printerr (_("Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }\n" "\n" "OPTIONS\n" - " -t[erse] terse output\n" - " -p[retty] pretty output\n" - " -m[ode] tabular|multiline output mode\n" - " -c[olors] auto|yes|no whether to use colors in output\n" - " -f[ields] <field1,field2,...>|all|common specify fields to output\n" - " -e[scape] yes|no escape columns separators in values\n" - " -a[sk] ask for missing parameters\n" - " -s[how-secrets] allow displaying passwords\n" - " -w[ait] <seconds> set timeout waiting for finishing operations\n" - " -v[ersion] show program version\n" - " -h[elp] print this help\n" + " -t[erse] terse output\n" + " -p[retty] pretty output\n" + " -m[ode] tabular|multiline output mode\n" + " -c[olors] auto|yes|no whether to use colors in output\n" + " -f[ields] <field1,field2,...>|all|common specify fields to output\n" + " -g[et-values] <field1,field2,...>|all|common shortcut for -m tabular -t -f\n" + " -e[scape] yes|no escape columns separators in values\n" + " -a[sk] ask for missing parameters\n" + " -s[how-secrets] allow displaying passwords\n" + " -w[ait] <seconds> set timeout waiting for finishing operations\n" + " -v[ersion] show program version\n" + " -h[elp] print this help\n" "\n" "OBJECT\n" " g[eneral] NetworkManager's general status and operations\n" @@ -231,7 +232,7 @@ process_command_line (NmCli *nmc, int argc, char **argv) if (argc == 1 && nmc->complete) { nmc_complete_strings (opt, "--terse", "--pretty", "--mode", "--colors", "--escape", "--fields", "--nocheck", "--ask", "--show-secrets", - "--wait", "--version", "--help", NULL); + "--get-values", "--wait", "--version", "--help", NULL); } if (opt[1] == '-') { @@ -332,6 +333,21 @@ process_command_line (NmCli *nmc, int argc, char **argv) if (argc == 1 && nmc->complete) complete_fields (argv[0]); nmc->required_fields = g_strdup (argv[0]); + } else if (matches (opt, "-get-values")) { + if (next_arg (&argc, &argv) != 0) { + g_string_printf (nmc->return_text, _("Error: fields for '%s' options are missing."), opt); + nmc->return_value = NMC_RESULT_ERROR_USER_INPUT; + return FALSE; + } + if (argc == 1 && nmc->complete) + complete_fields (argv[0]); + nmc->required_fields = g_strdup (argv[0]); + nmc->print_output = NMC_PRINT_TERSE; + /* We want fixed tabular mode here, but just set the mode specified and rely on the initialization + * in nmc_init: in this way we allow use of "-m multiline" to swap the output mode also if placed + * before the "-g <field>" option (-g may be still more practical and easy to remember than -t -f). + */ + nmc->mode_specified = TRUE; } else if (matches (opt, "-nocheck")) { /* ignore for backward compatibility */ } else if (matches (opt, "-ask")) { diff --git a/clients/cli/settings.c b/clients/cli/settings.c index ffa3e89c20..87b1f50f71 100644 --- a/clients/cli/settings.c +++ b/clients/cli/settings.c @@ -900,10 +900,13 @@ bytes_to_string (GBytes *bytes) } static char * -vlan_flags_to_string (guint32 flags) +vlan_flags_to_string (guint32 flags, NmcPropertyGetType get_type) { GString *flag_str; + if (get_type == NMC_PROPERTY_GET_PARSABLE) + return g_strdup_printf ("%u", flags); + if (flags == 0) return g_strdup (_("0 (NONE)")); @@ -2500,10 +2503,13 @@ nmc_property_connection_get_permissions (NMSetting *setting, NmcPropertyGetType if (nm_setting_connection_get_permission (s_con, i, &perm_type, &perm_item, NULL)) g_string_append_printf (perm, "%s:%s,", perm_type, perm_item); } - if (perm->len > 0) + if (perm->len > 0) { g_string_truncate (perm, perm->len-1); /* remove trailing , */ + return g_string_free (perm, FALSE); + } - return g_string_free (perm, FALSE); + /* No value from get_permission */ + return g_string_free (perm, TRUE); } DEFINE_GETTER (nmc_property_connection_get_zone, NM_SETTING_CONNECTION_ZONE) @@ -4724,7 +4730,7 @@ static char * nmc_property_vlan_get_flags (NMSetting *setting, NmcPropertyGetType get_type) { NMSettingVlan *s_vlan = NM_SETTING_VLAN (setting); - return vlan_flags_to_string (nm_setting_vlan_get_flags (s_vlan)); + return vlan_flags_to_string (nm_setting_vlan_get_flags (s_vlan), get_type); } static char * @@ -8644,11 +8650,14 @@ nmc_property_set_gvalue (NMSetting *setting, const char *prop, GValue *value) /*----------------------------------------------------------------------------*/ -#define GET_SECRET(show, setting, func) \ - (show ? func (setting, NMC_PROPERTY_GET_PRETTY) : g_strdup (_("<hidden>"))) +#define GET_SECRET(show, setting, func, type) \ + (show ? func (setting, type) : g_strdup (_("<hidden>"))) static gboolean -setting_connection_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_connection_details (NMSetting *setting, NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingConnection *s_con = NM_SETTING_CONNECTION (setting); NmcOutputField *tmpl, *arr; @@ -8665,25 +8674,25 @@ setting_connection_details (NMSetting *setting, NmCli *nmc, const char *one_pro arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_connection_get_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_connection_get_uuid (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_connection_get_stable_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_connection_get_interface_name (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_connection_get_type (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_connection_get_autoconnect (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_connection_get_autoconnect_priority (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_connection_get_autoconnect_retries (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_connection_get_timestamp (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_connection_get_read_only (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_connection_get_permissions (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_connection_get_zone (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_connection_get_master (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 14, nmc_property_connection_get_slave_type (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 15, nmc_property_connection_get_autoconnect_slaves (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 16, nmc_property_connection_get_secondaries (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 17, nmc_property_connection_get_gateway_ping_timeout (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 18, nmc_property_connection_get_metered (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 19, nmc_property_connection_get_lldp (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_connection_get_id (setting, type)); + set_val_str (arr, 2, nmc_property_connection_get_uuid (setting, type)); + set_val_str (arr, 3, nmc_property_connection_get_stable_id (setting, type)); + set_val_str (arr, 4, nmc_property_connection_get_interface_name (setting, type)); + set_val_str (arr, 5, nmc_property_connection_get_type (setting, type)); + set_val_str (arr, 6, nmc_property_connection_get_autoconnect (setting, type)); + set_val_str (arr, 7, nmc_property_connection_get_autoconnect_priority (setting, type)); + set_val_str (arr, 8, nmc_property_connection_get_autoconnect_retries (setting, type)); + set_val_str (arr, 9, nmc_property_connection_get_timestamp (setting, type)); + set_val_str (arr, 10, nmc_property_connection_get_read_only (setting, type)); + set_val_str (arr, 11, nmc_property_connection_get_permissions (setting, type)); + set_val_str (arr, 12, nmc_property_connection_get_zone (setting, type)); + set_val_str (arr, 13, nmc_property_connection_get_master (setting, type)); + set_val_str (arr, 14, nmc_property_connection_get_slave_type (setting, type)); + set_val_str (arr, 15, nmc_property_connection_get_autoconnect_slaves (setting, type)); + set_val_str (arr, 16, nmc_property_connection_get_secondaries (setting, type)); + set_val_str (arr, 17, nmc_property_connection_get_gateway_ping_timeout (setting, type)); + set_val_str (arr, 18, nmc_property_connection_get_metered (setting, type)); + set_val_str (arr, 19, nmc_property_connection_get_lldp (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -8692,7 +8701,11 @@ setting_connection_details (NMSetting *setting, NmCli *nmc, const char *one_pro } static gboolean -setting_wired_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_wired_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingWired *s_wired = NM_SETTING_WIRED (setting); NmcOutputField *tmpl, *arr; @@ -8709,20 +8722,20 @@ setting_wired_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_wired_get_port (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_wired_get_speed (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_wired_get_duplex (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_wired_get_auto_negotiate (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_wired_get_mac_address (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_wired_get_cloned_mac_address (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_wired_get_generate_mac_address_mask (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_wired_get_mac_address_blacklist (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_wired_get_mtu (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_wired_get_s390_subchannels (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_wired_get_s390_nettype (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_wired_get_s390_options (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_wired_get_wake_on_lan (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 14, nmc_property_wired_get_wake_on_lan_password (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_wired_get_port (setting, type)); + set_val_str (arr, 2, nmc_property_wired_get_speed (setting, type)); + set_val_str (arr, 3, nmc_property_wired_get_duplex (setting, type)); + set_val_str (arr, 4, nmc_property_wired_get_auto_negotiate (setting, type)); + set_val_str (arr, 5, nmc_property_wired_get_mac_address (setting, type)); + set_val_str (arr, 6, nmc_property_wired_get_cloned_mac_address (setting, type)); + set_val_str (arr, 7, nmc_property_wired_get_generate_mac_address_mask (setting, type)); + set_val_str (arr, 8, nmc_property_wired_get_mac_address_blacklist (setting, type)); + set_val_str (arr, 9, nmc_property_wired_get_mtu (setting, type)); + set_val_str (arr, 10, nmc_property_wired_get_s390_subchannels (setting, type)); + set_val_str (arr, 11, nmc_property_wired_get_s390_nettype (setting, type)); + set_val_str (arr, 12, nmc_property_wired_get_s390_options (setting, type)); + set_val_str (arr, 13, nmc_property_wired_get_wake_on_lan (setting, type)); + set_val_str (arr, 14, nmc_property_wired_get_wake_on_lan_password (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -8731,7 +8744,11 @@ setting_wired_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb } static gboolean -setting_802_1X_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_802_1X_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSetting8021x *s_8021x = NM_SETTING_802_1X (setting); NmcOutputField *tmpl, *arr; @@ -8748,50 +8765,50 @@ setting_802_1X_details (NMSetting *setting, NmCli *nmc, const char *one_prop, g arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_802_1X_get_eap (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_802_1X_get_identity (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_802_1X_get_anonymous_identity (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_802_1X_get_pac_file (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_802_1X_get_ca_cert (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, GET_SECRET (secrets, setting, nmc_property_802_1X_get_ca_cert_password)); - set_val_str (arr, 7, nmc_property_802_1X_get_ca_cert_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_802_1X_get_ca_path (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_802_1X_get_subject_match (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_802_1X_get_altsubject_matches (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_802_1X_get_domain_suffix_match (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_802_1X_get_client_cert (setting, NMC_PROPERTY_GET_PRETTY, secrets)); - set_val_str (arr, 13, GET_SECRET (secrets, setting, nmc_property_802_1X_get_client_cert_password)); - set_val_str (arr, 14, nmc_property_802_1X_get_client_cert_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 15, nmc_property_802_1X_get_phase1_peapver (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 16, nmc_property_802_1X_get_phase1_peaplabel (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 17, nmc_property_802_1X_get_phase1_fast_provisioning (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 18, nmc_property_802_1X_get_phase1_auth_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 19, nmc_property_802_1X_get_phase2_auth (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 20, nmc_property_802_1X_get_phase2_autheap (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 21, nmc_property_802_1X_get_phase2_ca_cert (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 22, GET_SECRET (secrets, setting, nmc_property_802_1X_get_phase2_ca_cert_password)); - set_val_str (arr, 23, nmc_property_802_1X_get_phase2_ca_cert_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 24, nmc_property_802_1X_get_phase2_ca_path (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 25, nmc_property_802_1X_get_phase2_subject_match (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 26, nmc_property_802_1X_get_phase2_altsubject_matches (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 27, nmc_property_802_1X_get_phase2_domain_suffix_match (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 28, nmc_property_802_1X_get_phase2_client_cert (setting, NMC_PROPERTY_GET_PRETTY, secrets)); - set_val_str (arr, 29, GET_SECRET (secrets, setting, nmc_property_802_1X_get_phase2_client_cert_password)); - set_val_str (arr, 30, nmc_property_802_1X_get_phase2_client_cert_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 31, GET_SECRET (secrets, setting, nmc_property_802_1X_get_password)); - set_val_str (arr, 32, nmc_property_802_1X_get_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 33, GET_SECRET (secrets, setting, nmc_property_802_1X_get_password_raw)); - set_val_str (arr, 34, nmc_property_802_1X_get_password_raw_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 35, nmc_property_802_1X_get_private_key (setting, NMC_PROPERTY_GET_PRETTY, secrets)); - set_val_str (arr, 36, GET_SECRET (secrets, setting, nmc_property_802_1X_get_private_key_password)); - set_val_str (arr, 37, nmc_property_802_1X_get_private_key_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 38, nmc_property_802_1X_get_phase2_private_key (setting, NMC_PROPERTY_GET_PRETTY, secrets)); - set_val_str (arr, 39, GET_SECRET (secrets, setting, nmc_property_802_1X_get_phase2_private_key_password)); - set_val_str (arr, 40, nmc_property_802_1X_get_phase2_private_key_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 41, GET_SECRET (secrets, setting, nmc_property_802_1X_get_pin)); - set_val_str (arr, 42, nmc_property_802_1X_get_pin_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 43, nmc_property_802_1X_get_system_ca_certs (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 44, nmc_property_802_1X_get_auth_timeout (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_802_1X_get_eap (setting, type)); + set_val_str (arr, 2, nmc_property_802_1X_get_identity (setting, type)); + set_val_str (arr, 3, nmc_property_802_1X_get_anonymous_identity (setting, type)); + set_val_str (arr, 4, nmc_property_802_1X_get_pac_file (setting, type)); + set_val_str (arr, 5, nmc_property_802_1X_get_ca_cert (setting, type)); + set_val_str (arr, 6, GET_SECRET (secrets, setting, nmc_property_802_1X_get_ca_cert_password, type)); + set_val_str (arr, 7, nmc_property_802_1X_get_ca_cert_password_flags (setting, type)); + set_val_str (arr, 8, nmc_property_802_1X_get_ca_path (setting, type)); + set_val_str (arr, 9, nmc_property_802_1X_get_subject_match (setting, type)); + set_val_str (arr, 10, nmc_property_802_1X_get_altsubject_matches (setting, type)); + set_val_str (arr, 11, nmc_property_802_1X_get_domain_suffix_match (setting, type)); + set_val_str (arr, 12, nmc_property_802_1X_get_client_cert (setting, type, secrets)); + set_val_str (arr, 13, GET_SECRET (secrets, setting, nmc_property_802_1X_get_client_cert_password, type)); + set_val_str (arr, 14, nmc_property_802_1X_get_client_cert_password_flags (setting, type)); + set_val_str (arr, 15, nmc_property_802_1X_get_phase1_peapver (setting, type)); + set_val_str (arr, 16, nmc_property_802_1X_get_phase1_peaplabel (setting, type)); + set_val_str (arr, 17, nmc_property_802_1X_get_phase1_fast_provisioning (setting, type)); + set_val_str (arr, 18, nmc_property_802_1X_get_phase1_auth_flags (setting, type)); + set_val_str (arr, 19, nmc_property_802_1X_get_phase2_auth (setting, type)); + set_val_str (arr, 20, nmc_property_802_1X_get_phase2_autheap (setting, type)); + set_val_str (arr, 21, nmc_property_802_1X_get_phase2_ca_cert (setting, type)); + set_val_str (arr, 22, GET_SECRET (secrets, setting, nmc_property_802_1X_get_phase2_ca_cert_password, type)); + set_val_str (arr, 23, nmc_property_802_1X_get_phase2_ca_cert_password_flags (setting, type)); + set_val_str (arr, 24, nmc_property_802_1X_get_phase2_ca_path (setting, type)); + set_val_str (arr, 25, nmc_property_802_1X_get_phase2_subject_match (setting, type)); + set_val_str (arr, 26, nmc_property_802_1X_get_phase2_altsubject_matches (setting, type)); + set_val_str (arr, 27, nmc_property_802_1X_get_phase2_domain_suffix_match (setting, type)); + set_val_str (arr, 28, nmc_property_802_1X_get_phase2_client_cert (setting, type, secrets)); + set_val_str (arr, 29, GET_SECRET (secrets, setting, nmc_property_802_1X_get_phase2_client_cert_password, type)); + set_val_str (arr, 30, nmc_property_802_1X_get_phase2_client_cert_password_flags (setting, type)); + set_val_str (arr, 31, GET_SECRET (secrets, setting, nmc_property_802_1X_get_password, type)); + set_val_str (arr, 32, nmc_property_802_1X_get_password_flags (setting, type)); + set_val_str (arr, 33, GET_SECRET (secrets, setting, nmc_property_802_1X_get_password_raw, type)); + set_val_str (arr, 34, nmc_property_802_1X_get_password_raw_flags (setting, type)); + set_val_str (arr, 35, nmc_property_802_1X_get_private_key (setting, type, secrets)); + set_val_str (arr, 36, GET_SECRET (secrets, setting, nmc_property_802_1X_get_private_key_password, type)); + set_val_str (arr, 37, nmc_property_802_1X_get_private_key_password_flags (setting, type)); + set_val_str (arr, 38, nmc_property_802_1X_get_phase2_private_key (setting, type, secrets)); + set_val_str (arr, 39, GET_SECRET (secrets, setting, nmc_property_802_1X_get_phase2_private_key_password, type)); + set_val_str (arr, 40, nmc_property_802_1X_get_phase2_private_key_password_flags (setting, type)); + set_val_str (arr, 41, GET_SECRET (secrets, setting, nmc_property_802_1X_get_pin, type)); + set_val_str (arr, 42, nmc_property_802_1X_get_pin_flags (setting, type)); + set_val_str (arr, 43, nmc_property_802_1X_get_system_ca_certs (setting, type)); + set_val_str (arr, 44, nmc_property_802_1X_get_auth_timeout (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -8800,7 +8817,11 @@ setting_802_1X_details (NMSetting *setting, NmCli *nmc, const char *one_prop, g } static gboolean -setting_wireless_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_wireless_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingWireless *s_wireless = NM_SETTING_WIRELESS (setting); NmcOutputField *tmpl, *arr; @@ -8817,22 +8838,22 @@ setting_wireless_details (NMSetting *setting, NmCli *nmc, const char *one_prop, arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_wireless_get_ssid (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_wireless_get_mode (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_wireless_get_band (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_wireless_get_channel (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_wireless_get_bssid (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_wireless_get_rate (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_wireless_get_tx_power (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_wireless_get_mac_address (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_wireless_get_cloned_mac_address (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_wireless_get_generate_mac_address_mask (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_wireless_get_mac_address_blacklist (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_wireless_get_mac_address_randomization (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_wireless_get_mtu (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 14, nmc_property_wireless_get_seen_bssids (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 15, nmc_property_wireless_get_hidden (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 16, nmc_property_wireless_get_powersave (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_wireless_get_ssid (setting, type)); + set_val_str (arr, 2, nmc_property_wireless_get_mode (setting, type)); + set_val_str (arr, 3, nmc_property_wireless_get_band (setting, type)); + set_val_str (arr, 4, nmc_property_wireless_get_channel (setting, type)); + set_val_str (arr, 5, nmc_property_wireless_get_bssid (setting, type)); + set_val_str (arr, 6, nmc_property_wireless_get_rate (setting, type)); + set_val_str (arr, 7, nmc_property_wireless_get_tx_power (setting, type)); + set_val_str (arr, 8, nmc_property_wireless_get_mac_address (setting, type)); + set_val_str (arr, 9, nmc_property_wireless_get_cloned_mac_address (setting, type)); + set_val_str (arr, 10, nmc_property_wireless_get_generate_mac_address_mask (setting, type)); + set_val_str (arr, 11, nmc_property_wireless_get_mac_address_blacklist (setting, type)); + set_val_str (arr, 12, nmc_property_wireless_get_mac_address_randomization (setting, type)); + set_val_str (arr, 13, nmc_property_wireless_get_mtu (setting, type)); + set_val_str (arr, 14, nmc_property_wireless_get_seen_bssids (setting, type)); + set_val_str (arr, 15, nmc_property_wireless_get_hidden (setting, type)); + set_val_str (arr, 16, nmc_property_wireless_get_powersave (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -8841,7 +8862,11 @@ setting_wireless_details (NMSetting *setting, NmCli *nmc, const char *one_prop, } static gboolean -setting_wireless_security_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_wireless_security_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingWirelessSecurity *s_wireless_sec = NM_SETTING_WIRELESS_SECURITY (setting); NmcOutputField *tmpl, *arr; @@ -8858,23 +8883,23 @@ setting_wireless_security_details (NMSetting *setting, NmCli *nmc, const char *o arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_wifi_sec_get_key_mgmt (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_wifi_sec_get_wep_tx_keyidx (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_wifi_sec_get_auth_alg (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_wifi_sec_get_proto (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_wifi_sec_get_pairwise (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_wifi_sec_get_group (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_wifi_sec_get_leap_username (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_wep_key0)); - set_val_str (arr, 9, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_wep_key1)); - set_val_str (arr, 10, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_wep_key2)); - set_val_str (arr, 11, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_wep_key3)); - set_val_str (arr, 12, nmc_property_wifi_sec_get_wep_key_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_wifi_sec_get_wep_key_type (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 14, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_psk)); - set_val_str (arr, 15, nmc_property_wifi_sec_get_psk_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 16, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_leap_password)); - set_val_str (arr, 17, nmc_property_wifi_sec_get_leap_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_wifi_sec_get_key_mgmt (setting, type)); + set_val_str (arr, 2, nmc_property_wifi_sec_get_wep_tx_keyidx (setting, type)); + set_val_str (arr, 3, nmc_property_wifi_sec_get_auth_alg (setting, type)); + set_val_str (arr, 4, nmc_property_wifi_sec_get_proto (setting, type)); + set_val_str (arr, 5, nmc_property_wifi_sec_get_pairwise (setting, type)); + set_val_str (arr, 6, nmc_property_wifi_sec_get_group (setting, type)); + set_val_str (arr, 7, nmc_property_wifi_sec_get_leap_username (setting, type)); + set_val_str (arr, 8, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_wep_key0, type)); + set_val_str (arr, 9, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_wep_key1, type)); + set_val_str (arr, 10, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_wep_key2, type)); + set_val_str (arr, 11, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_wep_key3, type)); + set_val_str (arr, 12, nmc_property_wifi_sec_get_wep_key_flags (setting, type)); + set_val_str (arr, 13, nmc_property_wifi_sec_get_wep_key_type (setting, type)); + set_val_str (arr, 14, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_psk, type)); + set_val_str (arr, 15, nmc_property_wifi_sec_get_psk_flags (setting, type)); + set_val_str (arr, 16, GET_SECRET (secrets, setting, nmc_property_wifi_sec_get_leap_password, type)); + set_val_str (arr, 17, nmc_property_wifi_sec_get_leap_password_flags (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -8883,7 +8908,11 @@ setting_wireless_security_details (NMSetting *setting, NmCli *nmc, const char *o } static gboolean -setting_ip4_config_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_ip4_config_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingIPConfig *s_ip4 = NM_SETTING_IP_CONFIG (setting); NmcOutputField *tmpl, *arr; @@ -8900,25 +8929,25 @@ setting_ip4_config_details (NMSetting *setting, NmCli *nmc, const char *one_pro arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_ipv4_get_method (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_ipv4_get_dns (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_ipv4_get_dns_search (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_ipv4_get_dns_options (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_ipv4_get_dns_priority (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_ip_get_addresses (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_ipv4_get_gateway (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_ipv4_get_routes (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_ipv4_get_route_metric (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_ipv4_get_ignore_auto_routes (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_ipv4_get_ignore_auto_dns (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_ipv4_get_dhcp_client_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_ipv4_get_dhcp_timeout (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 14, nmc_property_ipv4_get_dhcp_send_hostname (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 15, nmc_property_ipv4_get_dhcp_hostname (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 16, nmc_property_ipv4_get_dhcp_fqdn (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 17, nmc_property_ipv4_get_never_default (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 18, nmc_property_ipv4_get_may_fail (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 19, nmc_property_ipv4_get_dad_timeout (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_ipv4_get_method (setting, type)); + set_val_str (arr, 2, nmc_property_ipv4_get_dns (setting, type)); + set_val_str (arr, 3, nmc_property_ipv4_get_dns_search (setting, type)); + set_val_str (arr, 4, nmc_property_ipv4_get_dns_options (setting, type)); + set_val_str (arr, 5, nmc_property_ipv4_get_dns_priority (setting, type)); + set_val_str (arr, 6, nmc_property_ip_get_addresses (setting, type)); + set_val_str (arr, 7, nmc_property_ipv4_get_gateway (setting, type)); + set_val_str (arr, 8, nmc_property_ipv4_get_routes (setting, type)); + set_val_str (arr, 9, nmc_property_ipv4_get_route_metric (setting, type)); + set_val_str (arr, 10, nmc_property_ipv4_get_ignore_auto_routes (setting, type)); + set_val_str (arr, 11, nmc_property_ipv4_get_ignore_auto_dns (setting, type)); + set_val_str (arr, 12, nmc_property_ipv4_get_dhcp_client_id (setting, type)); + set_val_str (arr, 13, nmc_property_ipv4_get_dhcp_timeout (setting, type)); + set_val_str (arr, 14, nmc_property_ipv4_get_dhcp_send_hostname (setting, type)); + set_val_str (arr, 15, nmc_property_ipv4_get_dhcp_hostname (setting, type)); + set_val_str (arr, 16, nmc_property_ipv4_get_dhcp_fqdn (setting, type)); + set_val_str (arr, 17, nmc_property_ipv4_get_never_default (setting, type)); + set_val_str (arr, 18, nmc_property_ipv4_get_may_fail (setting, type)); + set_val_str (arr, 19, nmc_property_ipv4_get_dad_timeout (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -8927,7 +8956,11 @@ setting_ip4_config_details (NMSetting *setting, NmCli *nmc, const char *one_pro } static gboolean -setting_ip6_config_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_ip6_config_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingIPConfig *s_ip6 = NM_SETTING_IP_CONFIG (setting); NmcOutputField *tmpl, *arr; @@ -8944,24 +8977,24 @@ setting_ip6_config_details (NMSetting *setting, NmCli *nmc, const char *one_pro arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_ipv6_get_method (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_ipv6_get_dns (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_ipv6_get_dns_search (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_ipv6_get_dns_options (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_ipv6_get_dns_priority (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_ip_get_addresses (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_ipv6_get_gateway (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_ipv6_get_routes (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_ipv6_get_route_metric (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_ipv6_get_ignore_auto_routes (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_ipv6_get_ignore_auto_dns (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_ipv6_get_never_default (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_ipv6_get_may_fail (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 14, nmc_property_ipv6_get_ip6_privacy (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 15, nmc_property_ipv6_get_addr_gen_mode (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 16, nmc_property_ipv6_get_dhcp_send_hostname (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 17, nmc_property_ipv6_get_dhcp_hostname (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 18, nmc_property_ipv6_get_token (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_ipv6_get_method (setting, type)); + set_val_str (arr, 2, nmc_property_ipv6_get_dns (setting, type)); + set_val_str (arr, 3, nmc_property_ipv6_get_dns_search (setting, type)); + set_val_str (arr, 4, nmc_property_ipv6_get_dns_options (setting, type)); + set_val_str (arr, 5, nmc_property_ipv6_get_dns_priority (setting, type)); + set_val_str (arr, 6, nmc_property_ip_get_addresses (setting, type)); + set_val_str (arr, 7, nmc_property_ipv6_get_gateway (setting, type)); + set_val_str (arr, 8, nmc_property_ipv6_get_routes (setting, type)); + set_val_str (arr, 9, nmc_property_ipv6_get_route_metric (setting, type)); + set_val_str (arr, 10, nmc_property_ipv6_get_ignore_auto_routes (setting, type)); + set_val_str (arr, 11, nmc_property_ipv6_get_ignore_auto_dns (setting, type)); + set_val_str (arr, 12, nmc_property_ipv6_get_never_default (setting, type)); + set_val_str (arr, 13, nmc_property_ipv6_get_may_fail (setting, type)); + set_val_str (arr, 14, nmc_property_ipv6_get_ip6_privacy (setting, type)); + set_val_str (arr, 15, nmc_property_ipv6_get_addr_gen_mode (setting, type)); + set_val_str (arr, 16, nmc_property_ipv6_get_dhcp_send_hostname (setting, type)); + set_val_str (arr, 17, nmc_property_ipv6_get_dhcp_hostname (setting, type)); + set_val_str (arr, 18, nmc_property_ipv6_get_token (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -8970,7 +9003,11 @@ setting_ip6_config_details (NMSetting *setting, NmCli *nmc, const char *one_pro } static gboolean -setting_serial_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_serial_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingSerial *s_serial = NM_SETTING_SERIAL (setting); NmcOutputField *tmpl, *arr; @@ -8987,11 +9024,11 @@ setting_serial_details (NMSetting *setting, NmCli *nmc, const char *one_prop, g arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_serial_get_baud (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_serial_get_bits (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_serial_get_parity (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_serial_get_stopbits (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_serial_get_send_delay (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_serial_get_baud (setting, type)); + set_val_str (arr, 2, nmc_property_serial_get_bits (setting, type)); + set_val_str (arr, 3, nmc_property_serial_get_parity (setting, type)); + set_val_str (arr, 4, nmc_property_serial_get_stopbits (setting, type)); + set_val_str (arr, 5, nmc_property_serial_get_send_delay (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9000,7 +9037,10 @@ setting_serial_details (NMSetting *setting, NmCli *nmc, const char *one_prop, g } static gboolean -setting_ppp_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_ppp_details (NMSetting *setting, NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingPpp *s_ppp = NM_SETTING_PPP (setting); NmcOutputField *tmpl, *arr; @@ -9017,24 +9057,24 @@ setting_ppp_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_ppp_get_noauth (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_ppp_get_refuse_eap (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_ppp_get_refuse_pap (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_ppp_get_refuse_chap (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_ppp_get_refuse_mschap (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_ppp_get_refuse_mschapv2 (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_ppp_get_nobsdcomp (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_ppp_get_nodeflate (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_ppp_get_no_vj_comp (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_ppp_get_require_mppe (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_ppp_get_require_mppe_128 (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_ppp_get_mppe_stateful (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_ppp_get_crtscts (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 14, nmc_property_ppp_get_baud (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 15, nmc_property_ppp_get_mru (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 16, nmc_property_ppp_get_mtu (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 17, nmc_property_ppp_get_lcp_echo_failure (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 18, nmc_property_ppp_get_lcp_echo_interval (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_ppp_get_noauth (setting, type)); + set_val_str (arr, 2, nmc_property_ppp_get_refuse_eap (setting, type)); + set_val_str (arr, 3, nmc_property_ppp_get_refuse_pap (setting, type)); + set_val_str (arr, 4, nmc_property_ppp_get_refuse_chap (setting, type)); + set_val_str (arr, 5, nmc_property_ppp_get_refuse_mschap (setting, type)); + set_val_str (arr, 6, nmc_property_ppp_get_refuse_mschapv2 (setting, type)); + set_val_str (arr, 7, nmc_property_ppp_get_nobsdcomp (setting, type)); + set_val_str (arr, 8, nmc_property_ppp_get_nodeflate (setting, type)); + set_val_str (arr, 9, nmc_property_ppp_get_no_vj_comp (setting, type)); + set_val_str (arr, 10, nmc_property_ppp_get_require_mppe (setting, type)); + set_val_str (arr, 11, nmc_property_ppp_get_require_mppe_128 (setting, type)); + set_val_str (arr, 12, nmc_property_ppp_get_mppe_stateful (setting, type)); + set_val_str (arr, 13, nmc_property_ppp_get_crtscts (setting, type)); + set_val_str (arr, 14, nmc_property_ppp_get_baud (setting, type)); + set_val_str (arr, 15, nmc_property_ppp_get_mru (setting, type)); + set_val_str (arr, 16, nmc_property_ppp_get_mtu (setting, type)); + set_val_str (arr, 17, nmc_property_ppp_get_lcp_echo_failure (setting, type)); + set_val_str (arr, 18, nmc_property_ppp_get_lcp_echo_interval (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9043,7 +9083,11 @@ setting_ppp_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo } static gboolean -setting_pppoe_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_pppoe_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingPppoe *s_pppoe = NM_SETTING_PPPOE (setting); NmcOutputField *tmpl, *arr; @@ -9060,10 +9104,10 @@ setting_pppoe_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_pppoe_get_service (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_pppoe_get_username (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, GET_SECRET (secrets, setting, nmc_property_pppoe_get_password)); - set_val_str (arr, 4, nmc_property_pppoe_get_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_pppoe_get_service (setting, type)); + set_val_str (arr, 2, nmc_property_pppoe_get_username (setting, type)); + set_val_str (arr, 3, GET_SECRET (secrets, setting, nmc_property_pppoe_get_password, type)); + set_val_str (arr, 4, nmc_property_pppoe_get_password_flags (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9072,7 +9116,11 @@ setting_pppoe_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb } static gboolean -setting_gsm_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_gsm_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingGsm *s_gsm = NM_SETTING_GSM (setting); NmcOutputField *tmpl, *arr; @@ -9089,19 +9137,19 @@ setting_gsm_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_gsm_get_number (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_gsm_get_username (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, GET_SECRET (secrets, setting, nmc_property_gsm_get_password)); - set_val_str (arr, 4, nmc_property_gsm_get_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_gsm_get_apn (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_gsm_get_network_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, GET_SECRET (secrets, setting, nmc_property_gsm_get_pin)); - set_val_str (arr, 8, nmc_property_gsm_get_pin_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_gsm_get_home_only (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_gsm_get_device_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_gsm_get_sim_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_gsm_get_sim_operator_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_gsm_get_mtu (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_gsm_get_number (setting, type)); + set_val_str (arr, 2, nmc_property_gsm_get_username (setting, type)); + set_val_str (arr, 3, GET_SECRET (secrets, setting, nmc_property_gsm_get_password, type)); + set_val_str (arr, 4, nmc_property_gsm_get_password_flags (setting, type)); + set_val_str (arr, 5, nmc_property_gsm_get_apn (setting, type)); + set_val_str (arr, 6, nmc_property_gsm_get_network_id (setting, type)); + set_val_str (arr, 7, GET_SECRET (secrets, setting, nmc_property_gsm_get_pin, type)); + set_val_str (arr, 8, nmc_property_gsm_get_pin_flags (setting, type)); + set_val_str (arr, 9, nmc_property_gsm_get_home_only (setting, type)); + set_val_str (arr, 10, nmc_property_gsm_get_device_id (setting, type)); + set_val_str (arr, 11, nmc_property_gsm_get_sim_id (setting, type)); + set_val_str (arr, 12, nmc_property_gsm_get_sim_operator_id (setting, type)); + set_val_str (arr, 13, nmc_property_gsm_get_mtu (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9110,7 +9158,11 @@ setting_gsm_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo } static gboolean -setting_cdma_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_cdma_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingCdma *s_cdma = NM_SETTING_CDMA (setting); NmcOutputField *tmpl, *arr; @@ -9127,11 +9179,11 @@ setting_cdma_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_cdma_get_number (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_cdma_get_username (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, GET_SECRET (secrets, setting, nmc_property_cdma_get_password)); - set_val_str (arr, 4, nmc_property_cdma_get_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_cdma_get_mtu (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_cdma_get_number (setting, type)); + set_val_str (arr, 2, nmc_property_cdma_get_username (setting, type)); + set_val_str (arr, 3, GET_SECRET (secrets, setting, nmc_property_cdma_get_password, type)); + set_val_str (arr, 4, nmc_property_cdma_get_password_flags (setting, type)); + set_val_str (arr, 5, nmc_property_cdma_get_mtu (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9140,7 +9192,11 @@ setting_cdma_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo } static gboolean -setting_bluetooth_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_bluetooth_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingBluetooth *s_bluetooth = NM_SETTING_BLUETOOTH (setting); NmcOutputField *tmpl, *arr; @@ -9157,8 +9213,8 @@ setting_bluetooth_details (NMSetting *setting, NmCli *nmc, const char *one_prop arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_bluetooth_get_bdaddr (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_bluetooth_get_type (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_bluetooth_get_bdaddr (setting, type)); + set_val_str (arr, 2, nmc_property_bluetooth_get_type (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9167,7 +9223,11 @@ setting_bluetooth_details (NMSetting *setting, NmCli *nmc, const char *one_prop } static gboolean -setting_olpc_mesh_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_olpc_mesh_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingOlpcMesh *s_olpc_mesh = NM_SETTING_OLPC_MESH (setting); NmcOutputField *tmpl, *arr; @@ -9184,9 +9244,9 @@ setting_olpc_mesh_details (NMSetting *setting, NmCli *nmc, const char *one_prop arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_olpc_get_ssid (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_olpc_get_channel (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_olpc_get_anycast_address (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_olpc_get_ssid (setting, type)); + set_val_str (arr, 2, nmc_property_olpc_get_channel (setting, type)); + set_val_str (arr, 3, nmc_property_olpc_get_anycast_address (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9195,7 +9255,11 @@ setting_olpc_mesh_details (NMSetting *setting, NmCli *nmc, const char *one_prop } static gboolean -setting_vpn_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_vpn_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingVpn *s_vpn = NM_SETTING_VPN (setting); NmcOutputField *tmpl, *arr; @@ -9212,12 +9276,12 @@ setting_vpn_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_vpn_get_service_type (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_vpn_get_user_name (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_vpn_get_data (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, GET_SECRET (secrets, setting, nmc_property_vpn_get_secrets)); - set_val_str (arr, 5, nmc_property_vpn_get_persistent (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_vpn_get_timeout (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_vpn_get_service_type (setting, type)); + set_val_str (arr, 2, nmc_property_vpn_get_user_name (setting, type)); + set_val_str (arr, 3, nmc_property_vpn_get_data (setting, type)); + set_val_str (arr, 4, GET_SECRET (secrets, setting, nmc_property_vpn_get_secrets, type)); + set_val_str (arr, 5, nmc_property_vpn_get_persistent (setting, type)); + set_val_str (arr, 6, nmc_property_vpn_get_timeout (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9226,7 +9290,11 @@ setting_vpn_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo } static gboolean -setting_wimax_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_wimax_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingWimax *s_wimax = NM_SETTING_WIMAX (setting); NmcOutputField *tmpl, *arr; @@ -9243,8 +9311,8 @@ setting_wimax_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_wimax_get_mac_address (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_wimax_get_network_name (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_wimax_get_mac_address (setting, type)); + set_val_str (arr, 2, nmc_property_wimax_get_network_name (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9253,7 +9321,11 @@ setting_wimax_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb } static gboolean -setting_infiniband_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_infiniband_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingInfiniband *s_infiniband = NM_SETTING_INFINIBAND (setting); NmcOutputField *tmpl, *arr; @@ -9270,11 +9342,11 @@ setting_infiniband_details (NMSetting *setting, NmCli *nmc, const char *one_pro arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_ib_get_mac_address (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_ib_get_mtu (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_ib_get_transport_mode (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_ib_get_p_key (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_ib_get_parent (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_ib_get_mac_address (setting, type)); + set_val_str (arr, 2, nmc_property_ib_get_mtu (setting, type)); + set_val_str (arr, 3, nmc_property_ib_get_transport_mode (setting, type)); + set_val_str (arr, 4, nmc_property_ib_get_p_key (setting, type)); + set_val_str (arr, 5, nmc_property_ib_get_parent (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9283,7 +9355,11 @@ setting_infiniband_details (NMSetting *setting, NmCli *nmc, const char *one_pro } static gboolean -setting_bond_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_bond_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingBond *s_bond = NM_SETTING_BOND (setting); NmcOutputField *tmpl, *arr; @@ -9300,7 +9376,7 @@ setting_bond_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_bond_get_options (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_bond_get_options (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9309,7 +9385,11 @@ setting_bond_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo } static gboolean -setting_vlan_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_vlan_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingVlan *s_vlan = NM_SETTING_VLAN (setting); NmcOutputField *tmpl, *arr; @@ -9326,11 +9406,11 @@ setting_vlan_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_vlan_get_parent (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_vlan_get_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_vlan_get_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_vlan_get_ingress_priority_map (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_vlan_get_egress_priority_map (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_vlan_get_parent (setting, type)); + set_val_str (arr, 2, nmc_property_vlan_get_id (setting, type)); + set_val_str (arr, 3, nmc_property_vlan_get_flags (setting, type)); + set_val_str (arr, 4, nmc_property_vlan_get_ingress_priority_map (setting, type)); + set_val_str (arr, 5, nmc_property_vlan_get_egress_priority_map (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9339,7 +9419,11 @@ setting_vlan_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo } static gboolean -setting_adsl_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_adsl_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingAdsl *s_adsl = NM_SETTING_ADSL (setting); NmcOutputField *tmpl, *arr; @@ -9356,13 +9440,13 @@ setting_adsl_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_adsl_get_username (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, GET_SECRET (secrets, setting, nmc_property_adsl_get_password)); - set_val_str (arr, 3, nmc_property_adsl_get_password_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_adsl_get_protocol (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_adsl_get_encapsulation (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_adsl_get_vpi (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_adsl_get_vci (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_adsl_get_username (setting, type)); + set_val_str (arr, 2, GET_SECRET (secrets, setting, nmc_property_adsl_get_password, type)); + set_val_str (arr, 3, nmc_property_adsl_get_password_flags (setting, type)); + set_val_str (arr, 4, nmc_property_adsl_get_protocol (setting, type)); + set_val_str (arr, 5, nmc_property_adsl_get_encapsulation (setting, type)); + set_val_str (arr, 6, nmc_property_adsl_get_vpi (setting, type)); + set_val_str (arr, 7, nmc_property_adsl_get_vci (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9371,7 +9455,11 @@ setting_adsl_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo } static gboolean -setting_bridge_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_bridge_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingBridge *s_bridge = NM_SETTING_BRIDGE (setting); NmcOutputField *tmpl, *arr; @@ -9388,14 +9476,14 @@ setting_bridge_details (NMSetting *setting, NmCli *nmc, const char *one_prop, g arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_bridge_get_mac_address (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_bridge_get_stp (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_bridge_get_priority (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_bridge_get_forward_delay (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_bridge_get_hello_time (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_bridge_get_max_age (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_bridge_get_ageing_time (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_bridge_get_multicast_snooping (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_bridge_get_mac_address (setting, type)); + set_val_str (arr, 2, nmc_property_bridge_get_stp (setting, type)); + set_val_str (arr, 3, nmc_property_bridge_get_priority (setting, type)); + set_val_str (arr, 4, nmc_property_bridge_get_forward_delay (setting, type)); + set_val_str (arr, 5, nmc_property_bridge_get_hello_time (setting, type)); + set_val_str (arr, 6, nmc_property_bridge_get_max_age (setting, type)); + set_val_str (arr, 7, nmc_property_bridge_get_ageing_time (setting, type)); + set_val_str (arr, 8, nmc_property_bridge_get_multicast_snooping (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9404,7 +9492,11 @@ setting_bridge_details (NMSetting *setting, NmCli *nmc, const char *one_prop, g } static gboolean -setting_bridge_port_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_bridge_port_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingBridgePort *s_bridge_port = NM_SETTING_BRIDGE_PORT (setting); NmcOutputField *tmpl, *arr; @@ -9421,9 +9513,9 @@ setting_bridge_port_details (NMSetting *setting, NmCli *nmc, const char *one_pr arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_bridge_port_get_priority (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_bridge_port_get_path_cost (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_bridge_port_get_hairpin_mode (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_bridge_port_get_priority (setting, type)); + set_val_str (arr, 2, nmc_property_bridge_port_get_path_cost (setting, type)); + set_val_str (arr, 3, nmc_property_bridge_port_get_hairpin_mode (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9432,7 +9524,11 @@ setting_bridge_port_details (NMSetting *setting, NmCli *nmc, const char *one_pr } static gboolean -setting_team_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_team_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingTeam *s_team = NM_SETTING_TEAM (setting); NmcOutputField *tmpl, *arr; @@ -9449,7 +9545,7 @@ setting_team_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_team_get_config (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_team_get_config (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9458,7 +9554,11 @@ setting_team_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gbo } static gboolean -setting_team_port_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_team_port_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingTeamPort *s_team_port = NM_SETTING_TEAM_PORT (setting); NmcOutputField *tmpl, *arr; @@ -9475,7 +9575,7 @@ setting_team_port_details (NMSetting *setting, NmCli *nmc, const char *one_prop arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_team_port_get_config (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_team_port_get_config (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9484,7 +9584,11 @@ setting_team_port_details (NMSetting *setting, NmCli *nmc, const char *one_prop } static gboolean -setting_dcb_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_dcb_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingDcb *s_dcb = NM_SETTING_DCB (setting); NmcOutputField *tmpl, *arr; @@ -9501,21 +9605,21 @@ setting_dcb_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_dcb_get_app_fcoe_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_dcb_get_app_fcoe_priority (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_dcb_get_app_fcoe_mode (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_dcb_get_app_iscsi_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_dcb_get_app_iscsi_priority (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_dcb_get_app_fip_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_dcb_get_app_fip_priority (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_dcb_get_pfc_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_dcb_get_pfc (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_dcb_get_pg_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_dcb_get_pg_group_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_dcb_get_pg_group_bandwidth (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_dcb_get_pg_bandwidth (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 14, nmc_property_dcb_get_pg_strict (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 15, nmc_property_dcb_get_pg_traffic_class (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_dcb_get_app_fcoe_flags (setting, type)); + set_val_str (arr, 2, nmc_property_dcb_get_app_fcoe_priority (setting, type)); + set_val_str (arr, 3, nmc_property_dcb_get_app_fcoe_mode (setting, type)); + set_val_str (arr, 4, nmc_property_dcb_get_app_iscsi_flags (setting, type)); + set_val_str (arr, 5, nmc_property_dcb_get_app_iscsi_priority (setting, type)); + set_val_str (arr, 6, nmc_property_dcb_get_app_fip_flags (setting, type)); + set_val_str (arr, 7, nmc_property_dcb_get_app_fip_priority (setting, type)); + set_val_str (arr, 8, nmc_property_dcb_get_pfc_flags (setting, type)); + set_val_str (arr, 9, nmc_property_dcb_get_pfc (setting, type)); + set_val_str (arr, 10, nmc_property_dcb_get_pg_flags (setting, type)); + set_val_str (arr, 11, nmc_property_dcb_get_pg_group_id (setting, type)); + set_val_str (arr, 12, nmc_property_dcb_get_pg_group_bandwidth (setting, type)); + set_val_str (arr, 13, nmc_property_dcb_get_pg_bandwidth (setting, type)); + set_val_str (arr, 14, nmc_property_dcb_get_pg_strict (setting, type)); + set_val_str (arr, 15, nmc_property_dcb_get_pg_traffic_class (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9524,7 +9628,11 @@ setting_dcb_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo } static gboolean -setting_tun_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_tun_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingTun *s_tun = NM_SETTING_TUN (setting); NmcOutputField *tmpl, *arr; @@ -9541,12 +9649,12 @@ setting_tun_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_tun_get_mode (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_tun_get_owner (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_tun_get_group (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_tun_get_pi (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_tun_get_vnet_hdr (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_tun_get_multi_queue (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_tun_get_mode (setting, type)); + set_val_str (arr, 2, nmc_property_tun_get_owner (setting, type)); + set_val_str (arr, 3, nmc_property_tun_get_group (setting, type)); + set_val_str (arr, 4, nmc_property_tun_get_pi (setting, type)); + set_val_str (arr, 5, nmc_property_tun_get_vnet_hdr (setting, type)); + set_val_str (arr, 6, nmc_property_tun_get_multi_queue (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9555,7 +9663,11 @@ setting_tun_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboo } static gboolean -setting_ip_tunnel_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_ip_tunnel_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingIPTunnel *s_ip_tunnel = NM_SETTING_IP_TUNNEL (setting); NmcOutputField *tmpl, *arr; @@ -9572,18 +9684,18 @@ setting_ip_tunnel_details (NMSetting *setting, NmCli *nmc, const char *one_prop arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_ip_tunnel_get_mode (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_ip_tunnel_get_parent (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_ip_tunnel_get_local (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_ip_tunnel_get_remote (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_ip_tunnel_get_ttl (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_ip_tunnel_get_tos (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_ip_tunnel_get_path_mtu_discovery (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_ip_tunnel_get_input_key (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_ip_tunnel_get_output_key (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_ip_tunnel_get_encapsulation_limit (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_ip_tunnel_get_flow_label (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_ip_tunnel_get_mtu (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_ip_tunnel_get_mode (setting, type)); + set_val_str (arr, 2, nmc_property_ip_tunnel_get_parent (setting, type)); + set_val_str (arr, 3, nmc_property_ip_tunnel_get_local (setting, type)); + set_val_str (arr, 4, nmc_property_ip_tunnel_get_remote (setting, type)); + set_val_str (arr, 5, nmc_property_ip_tunnel_get_ttl (setting, type)); + set_val_str (arr, 6, nmc_property_ip_tunnel_get_tos (setting, type)); + set_val_str (arr, 7, nmc_property_ip_tunnel_get_path_mtu_discovery (setting, type)); + set_val_str (arr, 8, nmc_property_ip_tunnel_get_input_key (setting, type)); + set_val_str (arr, 9, nmc_property_ip_tunnel_get_output_key (setting, type)); + set_val_str (arr, 10, nmc_property_ip_tunnel_get_encapsulation_limit (setting, type)); + set_val_str (arr, 11, nmc_property_ip_tunnel_get_flow_label (setting, type)); + set_val_str (arr, 12, nmc_property_ip_tunnel_get_mtu (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9592,7 +9704,11 @@ setting_ip_tunnel_details (NMSetting *setting, NmCli *nmc, const char *one_prop } static gboolean -setting_macsec_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_macsec_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingMacsec *s_macsec = NM_SETTING_MACSEC (setting); NmcOutputField *tmpl, *arr; @@ -9609,14 +9725,14 @@ setting_macsec_details (NMSetting *setting, NmCli *nmc, const char *one_prop, g arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_macsec_get_parent (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_macsec_get_mode (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_macsec_get_encrypt (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, GET_SECRET (secrets, setting, nmc_property_macsec_get_mka_cak)); - set_val_str (arr, 5, nmc_property_macsec_get_mka_cak_flags (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_macsec_get_mka_ckn (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_macsec_get_port (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_macsec_get_validation (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_macsec_get_parent (setting, type)); + set_val_str (arr, 2, nmc_property_macsec_get_mode (setting, type)); + set_val_str (arr, 3, nmc_property_macsec_get_encrypt (setting, type)); + set_val_str (arr, 4, GET_SECRET (secrets, setting, nmc_property_macsec_get_mka_cak, type)); + set_val_str (arr, 5, nmc_property_macsec_get_mka_cak_flags (setting, type)); + set_val_str (arr, 6, nmc_property_macsec_get_mka_ckn (setting, type)); + set_val_str (arr, 7, nmc_property_macsec_get_port (setting, type)); + set_val_str (arr, 8, nmc_property_macsec_get_validation (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9625,7 +9741,11 @@ setting_macsec_details (NMSetting *setting, NmCli *nmc, const char *one_prop, g } static gboolean -setting_macvlan_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_macvlan_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingMacvlan *s_macvlan = NM_SETTING_MACVLAN (setting); NmcOutputField *tmpl, *arr; @@ -9642,10 +9762,10 @@ setting_macvlan_details (NMSetting *setting, NmCli *nmc, const char *one_prop, arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_macvlan_get_parent (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_macvlan_get_mode (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_macvlan_get_promiscuous (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_macvlan_get_tap (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_macvlan_get_parent (setting, type)); + set_val_str (arr, 2, nmc_property_macvlan_get_mode (setting, type)); + set_val_str (arr, 3, nmc_property_macvlan_get_promiscuous (setting, type)); + set_val_str (arr, 4, nmc_property_macvlan_get_tap (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9654,7 +9774,11 @@ setting_macvlan_details (NMSetting *setting, NmCli *nmc, const char *one_prop, } static gboolean -setting_vxlan_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_vxlan_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingVxlan *s_vxlan = NM_SETTING_VXLAN (setting); NmcOutputField *tmpl, *arr; @@ -9671,22 +9795,22 @@ setting_vxlan_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_vxlan_get_parent (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_vxlan_get_id (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_vxlan_get_local (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_vxlan_get_remote (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 5, nmc_property_vxlan_get_source_port_min (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 6, nmc_property_vxlan_get_source_port_max (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 7, nmc_property_vxlan_get_destination_port (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 8, nmc_property_vxlan_get_tos (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 9, nmc_property_vxlan_get_ttl (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 10, nmc_property_vxlan_get_ageing (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 11, nmc_property_vxlan_get_limit (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 12, nmc_property_vxlan_get_learning (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 13, nmc_property_vxlan_get_proxy (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 14, nmc_property_vxlan_get_rsc (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 15, nmc_property_vxlan_get_l2_miss (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 16, nmc_property_vxlan_get_l3_miss (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_vxlan_get_parent (setting, type)); + set_val_str (arr, 2, nmc_property_vxlan_get_id (setting, type)); + set_val_str (arr, 3, nmc_property_vxlan_get_local (setting, type)); + set_val_str (arr, 4, nmc_property_vxlan_get_remote (setting, type)); + set_val_str (arr, 5, nmc_property_vxlan_get_source_port_min (setting, type)); + set_val_str (arr, 6, nmc_property_vxlan_get_source_port_max (setting, type)); + set_val_str (arr, 7, nmc_property_vxlan_get_destination_port (setting, type)); + set_val_str (arr, 8, nmc_property_vxlan_get_tos (setting, type)); + set_val_str (arr, 9, nmc_property_vxlan_get_ttl (setting, type)); + set_val_str (arr, 10, nmc_property_vxlan_get_ageing (setting, type)); + set_val_str (arr, 11, nmc_property_vxlan_get_limit (setting, type)); + set_val_str (arr, 12, nmc_property_vxlan_get_learning (setting, type)); + set_val_str (arr, 13, nmc_property_vxlan_get_proxy (setting, type)); + set_val_str (arr, 14, nmc_property_vxlan_get_rsc (setting, type)); + set_val_str (arr, 15, nmc_property_vxlan_get_l2_miss (setting, type)); + set_val_str (arr, 16, nmc_property_vxlan_get_l3_miss (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9695,7 +9819,11 @@ setting_vxlan_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb } static gboolean -setting_proxy_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) +setting_proxy_details (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type) { NMSettingProxy *s_proxy = NM_SETTING_PROXY (setting); NmcOutputField *tmpl, *arr; @@ -9712,10 +9840,10 @@ setting_proxy_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_SECTION_PREFIX); set_val_str (arr, 0, g_strdup (nm_setting_get_name (setting))); - set_val_str (arr, 1, nmc_property_proxy_get_method (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 2, nmc_property_proxy_get_browser_only (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 3, nmc_property_proxy_get_pac_url (setting, NMC_PROPERTY_GET_PRETTY)); - set_val_str (arr, 4, nmc_property_proxy_get_pac_script (setting, NMC_PROPERTY_GET_PRETTY)); + set_val_str (arr, 1, nmc_property_proxy_get_method (setting, type)); + set_val_str (arr, 2, nmc_property_proxy_get_browser_only (setting, type)); + set_val_str (arr, 3, nmc_property_proxy_get_pac_url (setting, type)); + set_val_str (arr, 4, nmc_property_proxy_get_pac_script (setting, type)); g_ptr_array_add (nmc->output_data, arr); print_data (nmc); /* Print all data */ @@ -9725,7 +9853,11 @@ setting_proxy_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gb typedef struct { const char *sname; - gboolean (*func) (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets); + gboolean (*func) (NMSetting *setting, + NmCli *nmc, + const char *one_prop, + gboolean secrets, + NmcPropertyGetType type); } SettingDetails; static const SettingDetails detail_printers[] = { @@ -9767,12 +9899,16 @@ gboolean setting_details (NMSetting *setting, NmCli *nmc, const char *one_prop, gboolean secrets) { const SettingDetails *iter = &detail_printers[0]; + NmcPropertyGetType type = NMC_PROPERTY_GET_PRETTY; g_return_val_if_fail (NM_IS_SETTING (setting), FALSE); + if (nmc->print_output == NMC_PRINT_TERSE) + type = NMC_PROPERTY_GET_PARSABLE; + while (iter->sname) { if (nm_setting_lookup_type (iter->sname) == G_OBJECT_TYPE (setting)) - return iter->func (setting, nmc, one_prop, secrets); + return iter->func (setting, nmc, one_prop, secrets, type); iter++; } diff --git a/clients/cli/utils.c b/clients/cli/utils.c index 20cd100b61..03c7716727 100644 --- a/clients/cli/utils.c +++ b/clients/cli/utils.c @@ -941,24 +941,6 @@ nmc_get_allowed_fields (const NmcOutputField fields_array[], int group_idx) return g_string_free (allowed_fields, FALSE); } -gboolean -nmc_terse_option_check (NMCPrintOutput print_output, const char *fields, GError **error) -{ - g_return_val_if_fail (error == NULL || *error == NULL, FALSE); - - if (print_output == NMC_PRINT_TERSE) { - if (!fields) { - g_set_error_literal (error, NMCLI_ERROR, 0, _("Option '--terse' requires specifying '--fields'")); - return FALSE; - } else if ( !strcasecmp (fields, "all") - || !strcasecmp (fields, "common")) { - g_set_error (error, NMCLI_ERROR, 0, _("Option '--terse' requires specific '--fields' option values , not '%s'"), fields); - return FALSE; - } - } - return TRUE; -} - NmcOutputField * nmc_dup_fields_array (NmcOutputField fields[], size_t size, guint32 flags) { @@ -992,54 +974,55 @@ nmc_empty_output_fields (NmCli *nmc) } } -static char * +static const char * colorize_string (NmCli *nmc, NmcTermColor color, NmcTermFormat color_fmt, const char *str, - gboolean *dealloc) + char **out_to_free) { - char *out; + const char *out = str; if ( use_colors (nmc) && (color != NMC_TERM_COLOR_NORMAL || color_fmt != NMC_TERM_FORMAT_NORMAL)) { - out = nmc_colorize (nmc, color, color_fmt, "%s", str); - *dealloc = TRUE; - } else { - out = (char *) str; - *dealloc = FALSE; + *out_to_free = nmc_colorize (nmc, color, color_fmt, "%s", str); + out = *out_to_free; } + return out; } -static char * +static const char * get_value_to_print (NmCli *nmc, NmcOutputField *field, gboolean field_name, const char *not_set_str, - gboolean *dealloc) + char **out_to_free) { gboolean is_array = field->value_is_array; - char *value, *out; - gboolean free_value, free_out; + char *value; + const char *out; + gboolean free_value; if (field_name) value = _(field->name_l10n); else - value = field->value ? - (is_array ? g_strjoinv (" | ", (char **) field->value) : - (char *) field->value) : - (char *) not_set_str; + value = field->value + ? (is_array + ? g_strjoinv (" | ", (char **) field->value) + : (*((char *) field->value) + ? (char *) field->value + : (char *) not_set_str)) + : (char *) not_set_str; free_value = field->value && is_array && !field_name; /* colorize the value */ - out = colorize_string (nmc, field->color, field->color_fmt, value, &free_out); - if (free_out) { + out = colorize_string (nmc, field->color, field->color_fmt, value, out_to_free); + if (*out_to_free) { if (free_value) g_free (value); - *dealloc = TRUE; - } else - *dealloc = free_value; + } else if (free_value) + *out_to_free = value; return out; } @@ -1072,104 +1055,111 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[]) gboolean section_prefix = field_values[0].flags & NMC_OF_FLAG_SECTION_PREFIX; gboolean main_header = main_header_add || main_header_only; - /* No headers are printed in terse mode: - * - neither main header nor field (column) names - */ - if ((main_header_only || field_names) && terse) - return; + enum { ML_HEADER_WIDTH = 79 }; + enum { ML_VALUE_INDENT = 40 }; - if (multiline) { - /* --- Multiline mode --- */ - enum { ML_HEADER_WIDTH = 79 }; - enum { ML_VALUE_INDENT = 40 }; - if (main_header && pretty) { - /* Print the main header */ - int header_width = nmc_string_screen_width (fields.header_name, NULL) + 4; - table_width = header_width < ML_HEADER_WIDTH ? ML_HEADER_WIDTH : header_width; + /* --- Main header --- */ + if (main_header && pretty) { + int header_width = nmc_string_screen_width (fields.header_name, NULL) + 4; + + if (multiline) { + table_width = header_width < ML_HEADER_WIDTH ? ML_HEADER_WIDTH : header_width; line = g_strnfill (ML_HEADER_WIDTH, '='); - width1 = strlen (fields.header_name); - width2 = nmc_string_screen_width (fields.header_name, NULL); - g_print ("%s\n", line); - g_print ("%*s\n", (table_width + width2)/2 + width1 - width2, fields.header_name); - g_print ("%s\n", line); - g_free (line); + } else { /* tabular */ + table_width = table_width < header_width ? header_width : table_width; + line = g_strnfill (table_width, '='); } - /* Print values */ - if (!main_header_only && !field_names) { - for (i = 0; i < fields.indices->len; i++) { - char *tmp; - gboolean free_print_val; - int idx = g_array_index (fields.indices, int, i); - gboolean is_array = field_values[idx].value_is_array; - - /* section prefix can't be an array */ - g_assert (!is_array || !section_prefix || idx != 0); - - if (section_prefix && idx == 0) /* The first field is section prefix */ - continue; - - if (is_array) { - /* value is a null-terminated string array */ - const char **p, *val; - char *print_val; - int j; - - for (p = (const char **) field_values[idx].value, j = 1; p && *p; p++, j++) { - val = *p ? *p : not_set_str; - print_val = colorize_string (nmc, field_values[idx].color, field_values[idx].color_fmt, - val, &free_print_val); - tmp = g_strdup_printf ("%s%s%s[%d]:", - section_prefix ? (const char*) field_values[0].value : "", - section_prefix ? "." : "", - _(field_values[idx].name_l10n), - j); - width1 = strlen (tmp); - width2 = nmc_string_screen_width (tmp, NULL); - g_print ("%-*s%s\n", terse ? 0 : ML_VALUE_INDENT+width1-width2, tmp, print_val); - g_free (tmp); - if (free_print_val) - g_free (print_val); - } - } else { - /* value is a string */ - const char *hdr_name = (const char*) field_values[0].value; - const char *val = (const char*) field_values[idx].value; - char *print_val; + width1 = strlen (fields.header_name); + width2 = nmc_string_screen_width (fields.header_name, NULL); + g_print ("%s\n", line); + g_print ("%*s\n", (table_width + width2)/2 + width1 - width2, fields.header_name); + g_print ("%s\n", line); + g_free (line); + } - val = val ? val : not_set_str; + if (main_header_only) + return; + + /* No field headers are printed in terse mode nor for multiline output */ + if ((terse || multiline) && field_names) + return; + + if (terse) + not_set_str = ""; /* Don't replace empty strings in terse mode */ + + + if (multiline) { + for (i = 0; i < fields.indices->len; i++) { + char *tmp; + int idx = g_array_index (fields.indices, int, i); + gboolean is_array = field_values[idx].value_is_array; + + /* section prefix can't be an array */ + g_assert (!is_array || !section_prefix || idx != 0); + + if (section_prefix && idx == 0) /* The first field is section prefix */ + continue; + + if (is_array) { + /* value is a null-terminated string array */ + const char **p, *val, *print_val; + gs_free char *val_to_free = NULL; + int j; + + for (p = (const char **) field_values[idx].value, j = 1; p && *p; p++, j++) { + val = *p ? *p : not_set_str; print_val = colorize_string (nmc, field_values[idx].color, field_values[idx].color_fmt, - val, &free_print_val); - tmp = g_strdup_printf ("%s%s%s:", - section_prefix ? hdr_name : "", + val, &val_to_free); + tmp = g_strdup_printf ("%s%s%s[%d]:", + section_prefix ? (const char*) field_values[0].value : "", section_prefix ? "." : "", - _(field_values[idx].name_l10n)); + _(field_values[idx].name_l10n), + j); width1 = strlen (tmp); width2 = nmc_string_screen_width (tmp, NULL); g_print ("%-*s%s\n", terse ? 0 : ML_VALUE_INDENT+width1-width2, tmp, print_val); g_free (tmp); - if (free_print_val) - g_free (print_val); } - } - if (pretty) { - line = g_strnfill (ML_HEADER_WIDTH, '-'); - g_print ("%s\n", line); - g_free (line); + } else { + /* value is a string */ + const char *hdr_name = (const char*) field_values[0].value; + const char *val = (const char*) field_values[idx].value; + const char *print_val; + gs_free char *val_to_free = NULL; + + val = val && *val ? val : not_set_str; + print_val = colorize_string (nmc, field_values[idx].color, field_values[idx].color_fmt, + val, &val_to_free); + tmp = g_strdup_printf ("%s%s%s:", + section_prefix ? hdr_name : "", + section_prefix ? "." : "", + _(field_values[idx].name_l10n)); + width1 = strlen (tmp); + width2 = nmc_string_screen_width (tmp, NULL); + g_print ("%-*s%s\n", terse ? 0 : ML_VALUE_INDENT+width1-width2, tmp, print_val); + g_free (tmp); } } + if (pretty) { + line = g_strnfill (ML_HEADER_WIDTH, '-'); + g_print ("%s\n", line); + g_free (line); + } + return; } /* --- Tabular mode: each line = one object --- */ + str = g_string_new (NULL); for (i = 0; i < fields.indices->len; i++) { int idx = g_array_index (fields.indices, int, i); - gboolean dealloc; - char *value = get_value_to_print (nmc, (NmcOutputField *) field_values+idx, field_names, - not_set_str, &dealloc); + gs_free char *val_to_free = NULL; + const char *value = get_value_to_print (nmc, (NmcOutputField *) field_values+idx, field_names, + not_set_str, &val_to_free); if (terse) { if (escape) { @@ -1187,31 +1177,14 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[]) } else { width1 = strlen (value); width2 = nmc_string_screen_width (value, NULL); /* Width of the string (in screen colums) */ - g_string_append_printf (str, "%-*s", field_values[idx].width + width1 - width2, strlen (value) > 0 ? value : "--"); + g_string_append_printf (str, "%-*s", field_values[idx].width + width1 - width2, strlen (value) > 0 ? value : not_set_str); g_string_append_c (str, ' '); /* Column separator */ table_width += field_values[idx].width + width1 - width2 + 1; } - - if (dealloc) - g_free (value); - } - - /* Print the main table header */ - if (main_header && pretty) { - int header_width = nmc_string_screen_width (fields.header_name, NULL) + 4; - table_width = table_width < header_width ? header_width : table_width; - - line = g_strnfill (table_width, '='); - width1 = strlen (fields.header_name); - width2 = nmc_string_screen_width (fields.header_name, NULL); - g_print ("%s\n", line); - g_print ("%*s\n", (table_width + width2)/2 + width1 - width2, fields.header_name); - g_print ("%s\n", line); - g_free (line); } /* Print actual values */ - if (!main_header_only && str->len > 0) { + if (str->len > 0) { g_string_truncate (str, str->len-1); /* Chop off last column separator */ if (fields.indent > 0) { indent_str = g_strnfill (fields.indent, ' '); @@ -1219,11 +1192,9 @@ print_required_fields (NmCli *nmc, const NmcOutputField field_values[]) g_free (indent_str); } g_print ("%s\n", str->str); - } - /* Print horizontal separator */ - if (!main_header_only && field_names && pretty) { - if (str->len > 0) { + /* Print horizontal separator */ + if (field_names && pretty) { line = g_strnfill (table_width, '-'); g_print ("%s\n", line); g_free (line); @@ -1263,15 +1234,15 @@ print_data (NmCli *nmc) for (i = 0; i < num_fields; i++) { size_t max_width = 0; for (j = 0; j < nmc->output_data->len; j++) { - gboolean field_names, dealloc; - char *value; + gboolean field_names; + gs_free char * val_to_free = NULL; + const char *value; + row = g_ptr_array_index (nmc->output_data, j); field_names = row[0].flags & NMC_OF_FLAG_FIELD_NAMES; - value = get_value_to_print (NULL, row+i, field_names, "--", &dealloc); + value = get_value_to_print (NULL, row+i, field_names, "--", &val_to_free); len = nmc_string_screen_width (value, NULL); max_width = len > max_width ? len : max_width; - if (dealloc) - g_free (value); } for (j = 0; j < nmc->output_data->len; j++) { row = g_ptr_array_index (nmc->output_data, j); diff --git a/clients/cli/utils.h b/clients/cli/utils.h index b3a490904a..b48b86ce39 100644 --- a/clients/cli/utils.h +++ b/clients/cli/utils.h @@ -97,7 +97,6 @@ GArray *parse_output_fields (const char *fields_str, GPtrArray **group_fields, GError **error); char *nmc_get_allowed_fields (const NmcOutputField fields_array[], int group_idx); -gboolean nmc_terse_option_check (NMCPrintOutput print_output, const char *fields, GError **error); NmcOutputField *nmc_dup_fields_array (NmcOutputField fields[], size_t size, guint32 flags); void nmc_empty_output_fields (NmCli *nmc); void print_required_fields (NmCli *nmc, const NmcOutputField field_values[]); diff --git a/man/nmcli-examples.xml b/man/nmcli-examples.xml index 864e650423..0b15f112d8 100644 --- a/man/nmcli-examples.xml +++ b/man/nmcli-examples.xml @@ -254,6 +254,25 @@ B,DISPATCH</screen> </para> </example> + <example><title>Convenient field values retrieval for scripting</title> +<screen><prompt>$ </prompt><userinput>nmcli -g ip4.address connection show my-con-eth0</userinput> +192.168.1.12/24</screen> +<screen><prompt>$ </prompt><userinput>nmcli -g ip4.address,ip4.dns connection show my-con-eth0</userinput> +192.168.1.12/24 +192.168.1.1</screen> +<screen><prompt>$ </prompt><userinput>nmcli -g ip4 connection show my-con-eth0</userinput> +IP4:192.168.1.12/24:192.168.1.1::192.168.1.1::</screen> + <para> + This example shows retrieval of ip4 connection field values via the --get-values + option. Multiple comma separated fields can be provided: they will be printed one + per line. If a whole section is provided instead of a single field, the name of the + section will be printed followed by all the related field values on the same line. + See also --terse, --mode, --fields and --escape options in <link linkend='nmcli'><citerefentry><refentrytitle>nmcli</refentrytitle><manvolnum>1</manvolnum></citerefentry></link> + manual page for more customized output. + </para> + </example> + + <example><title>Escaping colon characters in tabular mode</title> <screen><prompt>$ </prompt><userinput>nmcli -t -f general -e yes -m tab dev show eth0</userinput> GENERAL:eth0:ethernet:Intel Corporation:82567LM Gigabit Network Connection: diff --git a/man/nmcli.xml b/man/nmcli.xml index a2d9223c3f..8ee7914b15 100644 --- a/man/nmcli.xml +++ b/man/nmcli.xml @@ -205,10 +205,30 @@ command. <literal>common</literal> is used to print common field values of the command.</para> - <para>If omitted, default is <literal>common</literal>. The option is - mandatory when <option>--terse</option> is used. In this case, generic values - <literal>all</literal> and <literal>common</literal> cannot be used. This - is to maintain compatibility when new fields are added in the future.</para> + <para>If omitted, default is <literal>common</literal>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><group choice='plain'> + <arg choice='plain'><option>-g</option></arg> + <arg choice='plain'><option>--get-values</option></arg> + <group choice='req'> + <arg choice='plain' rep='repeat'><replaceable>field1</replaceable>,<replaceable>field2</replaceable></arg> + <arg choice='plain'>all</arg> + <arg choice='plain'>common</arg> + </group> + </group></term> + + <listitem> + <para>This option is used to print values from specific fields. It is basically + a shortcut for <literal>--mode tabular --terse --fields</literal> and is a convenient + way to retrieve values for particular fields. The values are printed one per line + without headers.</para> + + <para>If a section is specified instead of a field, the section name will be printed + followed by colon separated values of the fields belonging to that section, all on + the same line.</para> </listitem> </varlistentry> |