diff --git a/libnm-util/libnm-util.ver b/libnm-util/libnm-util.ver index 84ef039b30..4d1408238a 100644 --- a/libnm-util/libnm-util.ver +++ b/libnm-util/libnm-util.ver @@ -365,6 +365,8 @@ global: nm_setting_vpn_foreach_data_item; nm_setting_vpn_foreach_secret; nm_setting_vpn_get_data_item; + nm_setting_vpn_get_num_data_items; + nm_setting_vpn_get_num_secrets; nm_setting_vpn_get_secret; nm_setting_vpn_get_service_type; nm_setting_vpn_get_type; diff --git a/libnm-util/nm-setting-vpn.c b/libnm-util/nm-setting-vpn.c index 876dea6fb8..cac78cfb09 100644 --- a/libnm-util/nm-setting-vpn.c +++ b/libnm-util/nm-setting-vpn.c @@ -173,6 +173,20 @@ nm_setting_vpn_get_user_name (NMSettingVPN *setting) return NM_SETTING_VPN_GET_PRIVATE (setting)->user_name; } +/** + * nm_setting_vpn_get_num_data_items: + * @setting: the #NMSettingVPN + * + * Gets number of key/value pairs of VPN configuration data. + **/ +guint32 +nm_setting_vpn_get_num_data_items (NMSettingVPN *setting) +{ + g_return_val_if_fail (NM_IS_SETTING_VPN (setting), 0); + + return g_hash_table_size (NM_SETTING_VPN_GET_PRIVATE (setting)->data); +} + /** * nm_setting_vpn_add_data_item: * @setting: the #NMSettingVPN @@ -283,6 +297,20 @@ nm_setting_vpn_foreach_data_item (NMSettingVPN *setting, foreach_item_helper (NM_SETTING_VPN_GET_PRIVATE (setting)->data, func, user_data); } +/** + * nm_setting_vpn_get_num_secrets: + * @setting: the #NMSettingVPN + * + * Gets number of VPN plugin specific secrets in the setting. + **/ +guint32 +nm_setting_vpn_get_num_secrets (NMSettingVPN *setting) +{ + g_return_val_if_fail (NM_IS_SETTING_VPN (setting), 0); + + return g_hash_table_size (NM_SETTING_VPN_GET_PRIVATE (setting)->secrets); +} + /** * nm_setting_vpn_add_secret: * @setting: the #NMSettingVPN diff --git a/libnm-util/nm-setting-vpn.h b/libnm-util/nm-setting-vpn.h index 94fd650f33..7179baa0fe 100644 --- a/libnm-util/nm-setting-vpn.h +++ b/libnm-util/nm-setting-vpn.h @@ -92,6 +92,7 @@ NMSetting *nm_setting_vpn_new (void); const char *nm_setting_vpn_get_service_type (NMSettingVPN *setting); const char *nm_setting_vpn_get_user_name (NMSettingVPN *setting); +guint32 nm_setting_vpn_get_num_data_items (NMSettingVPN *setting); void nm_setting_vpn_add_data_item (NMSettingVPN *setting, const char *key, const char *item); @@ -103,6 +104,7 @@ void nm_setting_vpn_foreach_data_item (NMSettingVPN *setting, NMVPNIterFunc func, gpointer user_data); +guint32 nm_setting_vpn_get_num_secrets (NMSettingVPN *setting); void nm_setting_vpn_add_secret (NMSettingVPN *setting, const char *key, const char *secret);