From 0d95ed3bb8a2bc849c5133232fa8fb6e2409e4fc Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 20 Apr 2016 16:04:13 +0200 Subject: [PATCH] libnm/vpn: add nm_vpn_plugin_info_get_service() Re-add nm_vpn_plugin_info_get_service(). This function *is* useful and could be used by nm-applet. This reverts commit 3517084b92aa64817ce8cd82163e5ab6e1947017. --- libnm-core/nm-vpn-plugin-info.c | 20 ++++++++++++++++++-- libnm-core/nm-vpn-plugin-info.h | 2 ++ libnm/libnm.ver | 1 + src/vpn-manager/nm-vpn-connection.c | 6 ++---- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/libnm-core/nm-vpn-plugin-info.c b/libnm-core/nm-vpn-plugin-info.c index 07eb52c15..c2a71cd26 100644 --- a/libnm-core/nm-vpn-plugin-info.c +++ b/libnm-core/nm-vpn-plugin-info.c @@ -528,7 +528,7 @@ nm_vpn_plugin_info_list_find_by_service (GSList *list, const char *service) /* First, consider the primary service name. */ for (iter = list; iter; iter = iter->next) { - if (strcmp (NM_VPN_PLUGIN_INFO_GET_PRIVATE (iter->data)->service, service) == 0) + if (strcmp (nm_vpn_plugin_info_get_service (iter->data), service) == 0) return iter->data; } @@ -578,6 +578,22 @@ nm_vpn_plugin_info_get_name (NMVpnPluginInfo *self) return NM_VPN_PLUGIN_INFO_GET_PRIVATE (self)->name; } +/** + * nm_vpn_plugin_info_get_service: + * @self: plugin info instance + * + * Returns: (transfer none): the service. Cannot be %NULL. + * + * Since: 1.4 + */ +const char * +nm_vpn_plugin_info_get_service (NMVpnPluginInfo *self) +{ + g_return_val_if_fail (NM_IS_VPN_PLUGIN_INFO (self), NULL); + + return NM_VPN_PLUGIN_INFO_GET_PRIVATE (self)->service; +} + /** * nm_vpn_plugin_info_get_plugin: * @self: plugin info instance @@ -756,7 +772,7 @@ nm_vpn_plugin_info_load_editor_plugin (NMVpnPluginInfo *self, GError **error) priv->editor_plugin_loaded = TRUE; priv->editor_plugin = nm_vpn_editor_plugin_load_from_file (plugin_filename, - priv->service, + nm_vpn_plugin_info_get_service (self), getuid (), NULL, NULL, diff --git a/libnm-core/nm-vpn-plugin-info.h b/libnm-core/nm-vpn-plugin-info.h index 667a4fe2d..85c21da40 100644 --- a/libnm-core/nm-vpn-plugin-info.h +++ b/libnm-core/nm-vpn-plugin-info.h @@ -74,6 +74,8 @@ NM_AVAILABLE_IN_1_2 const char *nm_vpn_plugin_info_get_name (NMVpnPluginInfo *self); NM_AVAILABLE_IN_1_2 const char *nm_vpn_plugin_info_get_filename (NMVpnPluginInfo *self); +NM_AVAILABLE_IN_1_4 +const char *nm_vpn_plugin_info_get_service (NMVpnPluginInfo *self); NM_AVAILABLE_IN_1_2 const char *nm_vpn_plugin_info_get_plugin (NMVpnPluginInfo *self); NM_AVAILABLE_IN_1_2 diff --git a/libnm/libnm.ver b/libnm/libnm.ver index 7faac666d..2de830ed6 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -1062,4 +1062,5 @@ global: libnm_1_4_0 { global: nm_vpn_editor_plugin_load; + nm_vpn_plugin_info_get_service; } libnm_1_2_0; diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c index a1cd0c328..32f6a7975 100644 --- a/src/vpn-manager/nm-vpn-connection.c +++ b/src/vpn-manager/nm-vpn-connection.c @@ -2019,10 +2019,8 @@ nm_vpn_connection_activate (NMVpnConnection *self, s_vpn = nm_connection_get_setting_vpn (_get_applied_connection (self)); g_return_if_fail (s_vpn); - service = nm_vpn_plugin_info_lookup_property (plugin_info, - NM_VPN_PLUGIN_INFO_KF_GROUP_CONNECTION, - "service"); - g_return_if_fail (service); + service = nm_vpn_plugin_info_get_service (plugin_info); + nm_assert (service); if (nm_vpn_plugin_info_supports_multiple (plugin_info)) { const char *path;