| Top |  |  |  |  | 
| #define | NM_VPN_PLUGIN_INFO_NAME | 
| #define | NM_VPN_PLUGIN_INFO_FILENAME | 
| #define | NM_VPN_PLUGIN_INFO_KEYFILE | 
| #define | NM_VPN_PLUGIN_INFO_KF_GROUP_CONNECTION | 
| #define | NM_VPN_PLUGIN_INFO_KF_GROUP_LIBNM | 
| #define | NM_VPN_PLUGIN_INFO_KF_GROUP_GNOME | 
NMVpnPluginInfo * nm_vpn_plugin_info_new_from_file (const char *filename,GError **error);
Read the plugin info from file filename
. Does not do
any further verification on the file. You might want to check
file permissions and ownership of the file.
Since: 1.2
NMVpnPluginInfo * nm_vpn_plugin_info_new_with_data (const char *filename,GKeyFile *keyfile,GError **error);
This constructor does not read any data from file but
takes instead a keyfile
 argument.
| filename | optional filename. | |
| keyfile | inject data for the plugin info instance. | |
| error | construction may fail if the keyfile lacks mandatory fields. In this case, return the error reason. | 
Since: 1.2
NMVpnPluginInfo * nm_vpn_plugin_info_new_search_file (const char *name,const char *service);
This has the same effect as doing a full nm_vpn_plugin_info_list_load()
followed by a search for the first matching VPN plugin info that has the
given name
 and/or service
.
| name | the name to search for. Either  | [nullable] | 
| service | the service to search for. Either  | [nullable] | 
a newly created instance of plugin info
or NULL if no matching value was found. 
[transfer full][nullable]
Since: 1.4
const char *
nm_vpn_plugin_info_get_name (NMVpnPluginInfo *self);
Since: 1.2
const char *
nm_vpn_plugin_info_get_filename (NMVpnPluginInfo *self);
Since: 1.2
const char *
nm_vpn_plugin_info_get_service (NMVpnPluginInfo *self);
Since: 1.4
const char *
nm_vpn_plugin_info_get_plugin (NMVpnPluginInfo *self);
Since: 1.2
const char *
nm_vpn_plugin_info_get_program (NMVpnPluginInfo *self);
Since: 1.2
const char *
nm_vpn_plugin_info_get_auth_dialog (NMVpnPluginInfo *self);
Since: 1.4
gboolean
nm_vpn_plugin_info_supports_hints (NMVpnPluginInfo *self);
Since: 1.4
gboolean
nm_vpn_plugin_info_supports_multiple (NMVpnPluginInfo *self);
Since: 1.42
const char *const *
nm_vpn_plugin_info_get_aliases (NMVpnPluginInfo *self);
Since: 1.4
const char * nm_vpn_plugin_info_lookup_property (NMVpnPluginInfo *self,const char *group,const char *key);
Since: 1.2
gboolean
nm_vpn_plugin_info_validate_filename (const char *filename);
Regular name files have a certain pattern. That basically means
they have the file extension "name". Check if filename
is valid according to that pattern.
Since: 1.2
GSList *
nm_vpn_plugin_info_list_load (void);
list of plugins loaded from the default directories rejecting duplicates.
[element-type NMVpnPluginInfo][transfer full]
Since: 1.2
gboolean nm_vpn_plugin_info_list_add (GSList **list,NMVpnPluginInfo *plugin_info,GError **error);
| list | list of plugins. | [element-type NMVpnPluginInfo] | 
| plugin_info | instance to add | |
| error | failure reason | 
Since: 1.2
gboolean nm_vpn_plugin_info_list_remove (GSList **list,NMVpnPluginInfo *plugin_info);
Remove plugin_info
 from list
.
Since: 1.2
NMVpnPluginInfo * nm_vpn_plugin_info_list_find_by_name (GSList *list,const char *name);
Since: 1.2
NMVpnPluginInfo * nm_vpn_plugin_info_list_find_by_filename (GSList *list,const char *filename);
Since: 1.2
NMVpnPluginInfo * nm_vpn_plugin_info_list_find_by_service (GSList *list,const char *service);
| list | list of plugins. | [element-type NMVpnPluginInfo] | 
| service | service to search. This can be the main service-type or one of the provided aliases. | 
Since: 1.2
char * nm_vpn_plugin_info_list_find_service_type (GSList *list,const char *name);
A VPN plugin provides one or several service-types, like org.freedesktop.NetworkManager.libreswan Certain plugins provide more then one service type, via aliases (org.freedesktop.NetworkManager.openswan). This function looks up a service-type (or an alias) based on a name.
Preferably, the name can be a full service-type/alias of an installed
plugin. Otherwise, it can be the name of a VPN plugin (in which case, the
primary, non-aliased service-type is returned). Otherwise, it can be
one of several well known short-names (which is a hard-coded list of
types in libnm). On success, this returns a full qualified service-type
(or an alias). It doesn't say, that such an plugin is actually available,
but it could be retrieved via nm_vpn_plugin_info_list_find_by_service().
| list | a possibly empty GSList of NMVpnPluginInfo instances. | [element-type NMVpnPluginInfo] | 
| name | a name to lookup the service-type. | 
Since: 1.4
char ** nm_vpn_plugin_info_list_get_service_types (GSList *list,gboolean only_existing,gboolean with_abbreviations);
| list | a possibly empty GSList of NMVpnPluginInfo. | [element-type NMVpnPluginInfo] | 
| only_existing | only include results that are actually in  | |
| with_abbreviations | if  | 
a NULL terminated strv list of strings.
The list itself and the values must be freed with g_strfreev(). 
[transfer full]
Since: 1.4
NMVpnEditorPlugin *
nm_vpn_plugin_info_get_editor_plugin (NMVpnPluginInfo *self);
Since: 1.2
void nm_vpn_plugin_info_set_editor_plugin (NMVpnPluginInfo *self,NMVpnEditorPlugin *plugin);
Set the internal plugin instance. If NULL, only clear the previous instance.
Since: 1.2
NMVpnEditorPlugin * nm_vpn_plugin_info_load_editor_plugin (NMVpnPluginInfo *self,GError **error);
loads the plugin and returns the newly created
instance. The plugin is owned by self
and can be later retrieved again
via nm_vpn_plugin_info_get_editor_plugin(). You can load the
plugin only once, unless you reset the state via
nm_vpn_plugin_info_set_editor_plugin(). 
[transfer none]
Since: 1.2