summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-04-20 16:04:13 +0200
committerThomas Haller <thaller@redhat.com>2016-04-22 14:17:02 +0200
commit0d95ed3bb8a2bc849c5133232fa8fb6e2409e4fc (patch)
tree8cbbb6dc941eceebf60d00c9eab1b88867bdf1d2
parent8e59be20d6fcc96de36e72f88e602d91d66c929c (diff)
downloadNetworkManager-0d95ed3bb8a2bc849c5133232fa8fb6e2409e4fc.tar.gz
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.
-rw-r--r--libnm-core/nm-vpn-plugin-info.c20
-rw-r--r--libnm-core/nm-vpn-plugin-info.h2
-rw-r--r--libnm/libnm.ver1
-rw-r--r--src/vpn-manager/nm-vpn-connection.c6
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 07eb52c159..c2a71cd266 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;
}
@@ -579,6 +579,22 @@ nm_vpn_plugin_info_get_name (NMVpnPluginInfo *self)
}
/**
+ * 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 667a4fe2d9..85c21da407 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 7faac666d0..2de830ed63 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 a1cd0c3289..32f6a79756 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;