libnm: reuse nm_utils_strdict_get_keys() to implement NMSettingVpn's get_keys()

This commit is contained in:
Thomas Haller
2017-12-20 22:41:08 +01:00
parent 8ac8c01162
commit c72df50b6d

View File

@@ -155,39 +155,6 @@ nm_setting_vpn_get_persistent (NMSettingVpn *setting)
return NM_SETTING_VPN_GET_PRIVATE (setting)->persistent; return NM_SETTING_VPN_GET_PRIVATE (setting)->persistent;
} }
static const char **
_get_keys (NMSettingVpn *setting,
gboolean is_secrets,
guint *out_length)
{
NMSettingVpnPrivate *priv;
GHashTable *hash;
const char **keys;
guint len;
nm_assert (NM_IS_SETTING_VPN (setting));
priv = NM_SETTING_VPN_GET_PRIVATE (setting);
hash = is_secrets ? priv->secrets : priv->data;
if (!g_hash_table_size (hash)) {
NM_SET_OUT (out_length, 0);
return NULL;
}
keys = (const char **) g_hash_table_get_keys_as_array (hash, &len);
if (len > 1) {
g_qsort_with_data (keys,
len,
sizeof (const char *),
nm_strcmp_p_with_data,
NULL);
}
NM_SET_OUT (out_length, len);
return keys;
}
/** /**
* nm_setting_vpn_get_num_data_items: * nm_setting_vpn_get_num_data_items:
* @setting: the #NMSettingVpn * @setting: the #NMSettingVpn
@@ -267,7 +234,9 @@ nm_setting_vpn_get_data_keys (NMSettingVpn *setting,
{ {
g_return_val_if_fail (NM_IS_SETTING_VPN (setting), NULL); g_return_val_if_fail (NM_IS_SETTING_VPN (setting), NULL);
return _get_keys (setting, FALSE, out_length); return nm_utils_strdict_get_keys (NM_SETTING_VPN_GET_PRIVATE (setting)->data,
TRUE,
out_length);
} }
/** /**
@@ -442,7 +411,9 @@ nm_setting_vpn_get_secret_keys (NMSettingVpn *setting,
{ {
g_return_val_if_fail (NM_IS_SETTING_VPN (setting), NULL); g_return_val_if_fail (NM_IS_SETTING_VPN (setting), NULL);
return _get_keys (setting, TRUE, out_length); return nm_utils_strdict_get_keys (NM_SETTING_VPN_GET_PRIVATE (setting)->secrets,
TRUE,
out_length);
} }
/** /**