summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2012-05-22 16:54:44 +0200
committerJiří Klimeš <jklimes@redhat.com>2012-05-22 17:05:34 +0200
commita8076f0d9de662b221c39687494742757f499bdc (patch)
treee46594af16c8bdbb8323d94ac02474e81f36bbef /cli
parent78dda3b093b69f0c13773449dc732be5de40f620 (diff)
downloadNetworkManager-a8076f0d9de662b221c39687494742757f499bdc.tar.gz
cli: fill active connections' data even if we can't get NMConnection
This can happen e.g. when D-Bus limits number of replies and there's a lot of connections. Then nm_remote_settings_list_connections() won't return all connections and the connection that was activated can be among the missing connections.
Diffstat (limited to 'cli')
-rw-r--r--cli/src/connections.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/cli/src/connections.c b/cli/src/connections.c
index 2b4eb01604..8e65486468 100644
--- a/cli/src/connections.c
+++ b/cli/src/connections.c
@@ -705,6 +705,21 @@ fill_in_fields_con_status (NMActiveConnection *active, GSList *con_list)
if (dev_str->len > 0)
g_string_truncate (dev_str, dev_str->len - 1); /* Cut off last ',' */
+ /* Fill field values */
+ nmc_fields_con_status[0].value = nmc_fields_status_details_groups[0].name;
+ nmc_fields_con_status[1].value = _("N/A");
+ nmc_fields_con_status[2].value = nm_active_connection_get_uuid (active);
+ nmc_fields_con_status[3].value = dev_str->str;
+ nmc_fields_con_status[4].value = active_connection_state_to_string (state);
+ nmc_fields_con_status[5].value = nm_active_connection_get_default (active) ? _("yes") : _("no");
+ nmc_fields_con_status[6].value = nm_active_connection_get_default6 (active) ? _("yes") : _("no");
+ nmc_fields_con_status[7].value = nm_active_connection_get_specific_object (active);
+ nmc_fields_con_status[8].value = NM_IS_VPN_CONNECTION (active) ? _("yes") : _("no");
+ nmc_fields_con_status[9].value = nm_object_get_path (NM_OBJECT (active));
+ nmc_fields_con_status[10].value = nm_active_connection_get_connection (active);
+ nmc_fields_con_status[11].value = _("N/A");
+ nmc_fields_con_status[12].value = nm_active_connection_get_master (active);
+
for (iter = con_list; iter; iter = g_slist_next (iter)) {
NMConnection *connection = (NMConnection *) iter->data;
const char *con_path = nm_connection_get_path (connection);
@@ -714,20 +729,9 @@ fill_in_fields_con_status (NMActiveConnection *active, GSList *con_list)
s_con = nm_connection_get_setting_connection (connection);
g_assert (s_con != NULL);
- /* Fill field values */
- nmc_fields_con_status[0].value = nmc_fields_status_details_groups[0].name;
+ /* Fill field values that depend on NMConnection */
nmc_fields_con_status[1].value = nm_setting_connection_get_id (s_con);
- nmc_fields_con_status[2].value = nm_setting_connection_get_uuid (s_con);
- nmc_fields_con_status[3].value = dev_str->str;
- nmc_fields_con_status[4].value = active_connection_state_to_string (state);
- nmc_fields_con_status[5].value = nm_active_connection_get_default (active) ? _("yes") : _("no");
- nmc_fields_con_status[6].value = nm_active_connection_get_default6 (active) ? _("yes") : _("no");
- nmc_fields_con_status[7].value = nm_active_connection_get_specific_object (active);
- nmc_fields_con_status[8].value = NM_IS_VPN_CONNECTION (active) ? _("yes") : _("no");
- nmc_fields_con_status[9].value = nm_object_get_path (NM_OBJECT (active));
- nmc_fields_con_status[10].value = nm_active_connection_get_connection (active);
nmc_fields_con_status[11].value = nm_setting_connection_get_zone (s_con);
- nmc_fields_con_status[12].value = nm_active_connection_get_master (active);
success = TRUE;
break;