cli: avoid using nm_cli global variable in print_data()

This commit is contained in:
Thomas Haller
2020-04-02 19:10:15 +02:00
parent dbf697c759
commit 30b8bb476a
4 changed files with 41 additions and 21 deletions

View File

@@ -1388,9 +1388,13 @@ nmc_connection_profile_details (NMConnection *connection, NmCli *nmc)
for (i = 0; i < _NM_META_SETTING_TYPE_NUM; i++) for (i = 0; i < _NM_META_SETTING_TYPE_NUM; i++)
row[i].info = (const NMMetaAbstractInfo *) &nm_meta_setting_infos_editor[i]; row[i].info = (const NMMetaAbstractInfo *) &nm_meta_setting_infos_editor[i];
print_required_fields (&nmc->nmc_config, NMC_OF_FLAG_MAIN_HEADER_ONLY, print_required_fields (&nmc->nmc_config,
out_indices, header_name, &nmc->pager_data,
0, row); NMC_OF_FLAG_MAIN_HEADER_ONLY,
out_indices,
header_name,
0,
row);
} }
/* Loop through the required settings and print them. */ /* Loop through the required settings and print them. */
@@ -1473,9 +1477,13 @@ nmc_active_connection_details (NMActiveConnection *acon, NmCli *nmc)
for (i = 0; nmc_fields_con_active_details_groups[i]; i++) for (i = 0; nmc_fields_con_active_details_groups[i]; i++)
row[i].info = (const NMMetaAbstractInfo *) nmc_fields_con_active_details_groups[i]; row[i].info = (const NMMetaAbstractInfo *) nmc_fields_con_active_details_groups[i];
print_required_fields (&nmc->nmc_config, NMC_OF_FLAG_MAIN_HEADER_ONLY, print_required_fields (&nmc->nmc_config,
out_indices, header_name, &nmc->pager_data,
0, row); NMC_OF_FLAG_MAIN_HEADER_ONLY,
out_indices,
header_name,
0,
row);
} }
/* Loop through the groups and print them. */ /* Loop through the groups and print them. */

View File

@@ -1340,7 +1340,7 @@ print_bond_bridge_info (NMDevice *device,
g_ptr_array_add (out.output_data, arr); g_ptr_array_add (out.output_data, arr);
print_data_prepare_width (out.output_data); print_data_prepare_width (out.output_data);
print_data (&nmc->nmc_config, out_indices, NULL, 0, &out); print_data (&nmc->nmc_config, &nmc->pager_data, out_indices, NULL, 0, &out);
g_string_free (slaves_str, FALSE); g_string_free (slaves_str, FALSE);
@@ -1410,7 +1410,7 @@ print_team_info (NMDevice *device,
g_ptr_array_add (out.output_data, arr); g_ptr_array_add (out.output_data, arr);
print_data_prepare_width (out.output_data); print_data_prepare_width (out.output_data);
print_data (&nmc->nmc_config, out_indices, NULL, 0, &out); print_data (&nmc->nmc_config, &nmc->pager_data, out_indices, NULL, 0, &out);
g_string_free (slaves_str, FALSE); g_string_free (slaves_str, FALSE);
@@ -1465,9 +1465,13 @@ show_device_info (NMDevice *device, NmCli *nmc)
for (i = 0; i < G_N_ELEMENTS (metagen_device_detail_general); i++) for (i = 0; i < G_N_ELEMENTS (metagen_device_detail_general); i++)
row[i].info = (const NMMetaAbstractInfo *) &metagen_device_detail_general[i]; row[i].info = (const NMMetaAbstractInfo *) &metagen_device_detail_general[i];
print_required_fields (&nmc->nmc_config, NMC_OF_FLAG_MAIN_HEADER_ONLY, print_required_fields (&nmc->nmc_config,
out_indices, header_name, &nmc->pager_data,
0, row); NMC_OF_FLAG_MAIN_HEADER_ONLY,
out_indices,
header_name,
0,
row);
} }
/* Loop through the required sections and print them. */ /* Loop through the required sections and print them. */
@@ -1578,7 +1582,7 @@ show_device_info (NMDevice *device, NmCli *nmc)
} }
print_data_prepare_width (out.output_data); print_data_prepare_width (out.output_data);
print_data (&nmc->nmc_config, out_indices, NULL, 0, &out); print_data (&nmc->nmc_config, &nmc->pager_data, out_indices, NULL, 0, &out);
was_output = TRUE; was_output = TRUE;
} }
} }
@@ -1659,7 +1663,7 @@ show_device_info (NMDevice *device, NmCli *nmc)
g_ptr_array_add (out.output_data, arr); g_ptr_array_add (out.output_data, arr);
print_data_prepare_width (out.output_data); print_data_prepare_width (out.output_data);
print_data (&nmc->nmc_config, out_indices, NULL, 0, &out); print_data (&nmc->nmc_config, &nmc->pager_data, out_indices, NULL, 0, &out);
was_output = TRUE; was_output = TRUE;
} }
@@ -1681,7 +1685,7 @@ show_device_info (NMDevice *device, NmCli *nmc)
g_ptr_array_add (out.output_data, arr); g_ptr_array_add (out.output_data, arr);
print_data_prepare_width (out.output_data); print_data_prepare_width (out.output_data);
print_data (&nmc->nmc_config, out_indices, NULL, 0, &out); print_data (&nmc->nmc_config, &nmc->pager_data, out_indices, NULL, 0, &out);
was_output = TRUE; was_output = TRUE;
} }
} }
@@ -2870,7 +2874,7 @@ wifi_print_aps (NMDeviceWifi *wifi,
fill_output_access_point (ap, info); fill_output_access_point (ap, info);
print_data_prepare_width (out.output_data); print_data_prepare_width (out.output_data);
print_data (&nmc->nmc_config, out_indices, header_name, 0, &out); print_data (&nmc->nmc_config, &nmc->pager_data, out_indices, header_name, 0, &out);
g_free (info); g_free (info);
*bssid_found = TRUE; *bssid_found = TRUE;
@@ -2878,7 +2882,7 @@ wifi_print_aps (NMDeviceWifi *wifi,
} }
} else { } else {
show_access_point_info (wifi, nmc, &out); show_access_point_info (wifi, nmc, &out);
print_data (&nmc->nmc_config, out_indices, header_name, 0, &out); print_data (&nmc->nmc_config, &nmc->pager_data, out_indices, header_name, 0, &out);
empty_line = TRUE; empty_line = TRUE;
} }
} }
@@ -4537,7 +4541,7 @@ show_device_lldp_list (NMDevice *device, NmCli *nmc, const char *fields_str, int
} }
print_data_prepare_width (out.output_data); print_data_prepare_width (out.output_data);
print_data (&nmc->nmc_config, out_indices, header_name, 0, &out); print_data (&nmc->nmc_config, &nmc->pager_data, out_indices, header_name, 0, &out);
return neighbors->len; return neighbors->len;
} }

View File

@@ -1571,6 +1571,7 @@ get_value_to_print (const NmcConfig *nmc_config,
*/ */
void void
print_required_fields (const NmcConfig *nmc_config, print_required_fields (const NmcConfig *nmc_config,
NmcPagerData *pager_data,
NmcOfFlags of_flags, NmcOfFlags of_flags,
const GArray *indices, const GArray *indices,
const char *header_name, const char *header_name,
@@ -1587,7 +1588,7 @@ print_required_fields (const NmcConfig *nmc_config,
gboolean field_names = of_flags & NMC_OF_FLAG_FIELD_NAMES; gboolean field_names = of_flags & NMC_OF_FLAG_FIELD_NAMES;
gboolean section_prefix = of_flags & NMC_OF_FLAG_SECTION_PREFIX; gboolean section_prefix = of_flags & NMC_OF_FLAG_SECTION_PREFIX;
nm_cli_spawn_pager (nmc_config, &nm_cli.pager_data); nm_cli_spawn_pager (nmc_config, pager_data);
/* --- Main header --- */ /* --- Main header --- */
if ( nmc_config->print_output == NMC_PRINT_PRETTY if ( nmc_config->print_output == NMC_PRINT_PRETTY
@@ -1796,6 +1797,7 @@ print_data_prepare_width (GPtrArray *output_data)
void void
print_data (const NmcConfig *nmc_config, print_data (const NmcConfig *nmc_config,
NmcPagerData *pager_data,
const GArray *indices, const GArray *indices,
const char *header_name, const char *header_name,
int indent, int indent,
@@ -1806,9 +1808,13 @@ print_data (const NmcConfig *nmc_config,
for (i = 0; i < out->output_data->len; i++) { for (i = 0; i < out->output_data->len; i++) {
const NmcOutputField *field_values = g_ptr_array_index (out->output_data, i); const NmcOutputField *field_values = g_ptr_array_index (out->output_data, i);
print_required_fields (nmc_config, field_values[0].flags, print_required_fields (nmc_config,
indices, header_name, pager_data,
indent, field_values); field_values[0].flags,
indices,
header_name,
indent,
field_values);
} }
} }

View File

@@ -51,6 +51,7 @@ GArray *parse_output_fields (const char *fields_str,
NmcOutputField *nmc_dup_fields_array (const NMMetaAbstractInfo *const*fields, NmcOfFlags flags); NmcOutputField *nmc_dup_fields_array (const NMMetaAbstractInfo *const*fields, NmcOfFlags flags);
void nmc_empty_output_fields (NmcOutputData *output_data); void nmc_empty_output_fields (NmcOutputData *output_data);
void print_required_fields (const NmcConfig *nmc_config, void print_required_fields (const NmcConfig *nmc_config,
NmcPagerData *pager_data,
NmcOfFlags of_flags, NmcOfFlags of_flags,
const GArray *indices, const GArray *indices,
const char *header_name, const char *header_name,
@@ -58,6 +59,7 @@ void print_required_fields (const NmcConfig *nmc_config,
const NmcOutputField *field_values); const NmcOutputField *field_values);
void print_data_prepare_width (GPtrArray *output_data); void print_data_prepare_width (GPtrArray *output_data);
void print_data (const NmcConfig *nmc_config, void print_data (const NmcConfig *nmc_config,
NmcPagerData *pager_data,
const GArray *indices, const GArray *indices,
const char *header_name, const char *header_name,
int indent, int indent,