NMVpnEditorPlugin

NMVpnEditorPlugin

Functions

Properties

gchar * description Read
gchar * name Read
gchar * service Read

Signals

void changed Run First

Types and Values

Object Hierarchy

    GFlags
    ╰── NMVpnEditorPluginCapability
    GInterface
    ├── NMVpnEditor
    ╰── NMVpnEditorPlugin

Prerequisites

NMVpnEditor requires GObject.

Description

Functions

NMVpnEditorPluginFactory ()

NMVpnEditorPlugin *
(*NMVpnEditorPluginFactory) (GError **error);

nm_vpn_editor_plugin_factory ()

NMVpnEditorPlugin *
nm_vpn_editor_plugin_factory (GError **error);

nm_vpn_editor_plugin_get_editor ()

NMVpnEditor *
nm_vpn_editor_plugin_get_editor (NMVpnEditorPlugin *plugin,
                                 NMConnection *connection,
                                 GError **error);

Returns

.

[transfer full]


nm_vpn_editor_plugin_get_capabilities ()

NMVpnEditorPluginCapability
nm_vpn_editor_plugin_get_capabilities (NMVpnEditorPlugin *plugin);

nm_vpn_editor_plugin_import ()

NMConnection *
nm_vpn_editor_plugin_import (NMVpnEditorPlugin *plugin,
                             const char *path,
                             GError **error);

Returns

.

[transfer full]


nm_vpn_editor_plugin_export ()

gboolean
nm_vpn_editor_plugin_export (NMVpnEditorPlugin *plugin,
                             const char *path,
                             NMConnection *connection,
                             GError **error);

nm_vpn_editor_plugin_get_suggested_filename ()

char *
nm_vpn_editor_plugin_get_suggested_filename
                               (NMVpnEditorPlugin *plugin,
                                NMConnection *connection);

nm_vpn_editor_plugin_load_from_file ()

NMVpnEditorPlugin *
nm_vpn_editor_plugin_load_from_file (const char *plugin_filename,
                                     const char *check_service,
                                     int check_owner,
                                     NMUtilsCheckFilePredicate check_file,
                                     gpointer user_data,
                                     GError **error);

Load the shared libary plugin_filename and create a new NMVpnEditorPlugin instace via the NMVpnEditorPluginFactory function.

Parameters

plugin_filename

The path to the share library to load. Apply some common heuristics to find the library, such as appending "so" file ending. If the path is not an absolute path or no matching module can be found, lookup inside a directory defined at compile time. Due to this, check_file might be called for two different paths.

 

check_service

if not-null, check that the loaded plugin advertises the given service.

 

check_owner

if non-negative, check whether the file is owned by UID check_owner or by root. In this case also check that the file is not writable by anybody else.

 

check_file

optional callback to validate the file prior to loading the shared library.

[scope call]

user_data

user data for check_file

 

error

on failure the error reason.

 

Returns

a new plugin instance or NULL on error.

[transfer full]

Since: 1.2

Types and Values

enum NMVpnEditorPluginCapability

Flags that indicate certain capabilities of the plugin to editor programs.

Members

NM_VPN_EDITOR_PLUGIN_CAPABILITY_NONE

unknown or no capability

 

NM_VPN_EDITOR_PLUGIN_CAPABILITY_IMPORT

the plugin can import new connections

 

NM_VPN_EDITOR_PLUGIN_CAPABILITY_EXPORT

the plugin can export connections

 

NM_VPN_EDITOR_PLUGIN_CAPABILITY_IPV6

the plugin supports IPv6 addressing

 

NM_VPN_EDITOR_PLUGIN_NAME

#define NM_VPN_EDITOR_PLUGIN_NAME "name"

NM_VPN_EDITOR_PLUGIN_DESCRIPTION

#define NM_VPN_EDITOR_PLUGIN_DESCRIPTION "description"

NM_VPN_EDITOR_PLUGIN_SERVICE

#define NM_VPN_EDITOR_PLUGIN_SERVICE "service"

NMVpnEditorPluginInterface

typedef struct {
	GTypeInterface g_iface;

	NMVpnEditor * (*get_editor) (NMVpnEditorPlugin *plugin,
	                             NMConnection *connection,
	                             GError **error);

	NMVpnEditorPluginCapability (*get_capabilities) (NMVpnEditorPlugin *plugin);

	NMConnection * (*import_from_file) (NMVpnEditorPlugin *plugin,
	                                    const char *path,
	                                    GError **error);

	gboolean (*export_to_file) (NMVpnEditorPlugin *plugin,
	                            const char *path,
	                            NMConnection *connection,
	                            GError **error);

	char * (*get_suggested_filename) (NMVpnEditorPlugin *plugin, NMConnection *connection);
} NMVpnEditorPluginInterface;

Interface for VPN editor plugins.

Members

GTypeInterface g_iface;

the parent interface

 

get_editor ()

returns an NMVpnEditor, pre-filled with values from connection if non-NULL.

 

get_capabilities ()

returns a bitmask of capabilities.

 

import_from_file ()

Try to import a connection from the specified path. On success, return a partial NMConnection object. On error, return NULL and set error with additional information. Note that error can be NULL, in which case no additional error information should be provided.

 

export_to_file ()

Export the given connection to the specified path. Return TRUE on success. On error, return FALSE and set error with additional error information. Note that error can be NULL, in which case no additional error information should be provided.

 

get_suggested_filename ()

For a given connection, return a suggested file name. Returned value will be NULL or a suggested file name to be freed by the caller.

 

NMVpnEditor

typedef struct _NMVpnEditor NMVpnEditor;

Property Details

The “description” property

  “description”              gchar *

Longer description of the VPN plugin.

Flags: Read

Default value: NULL


The “name” property

  “name”                     gchar *

Short display name of the VPN plugin.

Flags: Read

Default value: NULL


The “service” property

  “service”                  gchar *

D-Bus service name of the plugin's VPN service.

Flags: Read

Default value: NULL

Signal Details

The “changed” signal

void
user_function (NMVpnEditor *nmvpneditor,
               gpointer     user_data)

Flags: Run First