libnm: reuse nm_utils_strdict_get_keys() to implement NMSettingVpn's get_keys()
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user