## NMVpnPluginUiWidget NMVpnPluginUiWidget |

## Functions

NMVpnPluginUiInterface * | (*NMVpnPluginUiFactory) ()
NMVpnPluginUiInterface * | nm_vpn_plugin_ui_factory ()
NMVpnPluginUiWidgetInterface * | nm_vpn_plugin_ui_interface_ui_factory ()
guint32 | nm_vpn_plugin_ui_interface_get_capabilities ()
NMConnection * | nm_vpn_plugin_ui_interface_import ()
gboolean | nm_vpn_plugin_ui_interface_export ()
char * | nm_vpn_plugin_ui_interface_get_suggested_name ()
gboolean | nm_vpn_plugin_ui_interface_delete_connection ()
GObject * | nm_vpn_plugin_ui_widget_interface_get_widget ()
gboolean | nm_vpn_plugin_ui_widget_interface_update_connection ()
gboolean | nm_vpn_plugin_ui_widget_interface_save_secrets ()

## Types and Values

enum | NMVpnPluginUiCapability
#define | NM_VPN_PLUGIN_UI_INTERFACE_NAME
#define | NM_VPN_PLUGIN_UI_INTERFACE_DESC
#define | NM_VPN_PLUGIN_UI_INTERFACE_SERVICE
enum | NMVpnPluginUiInterfaceProp
#define | nm_vpn_editor_plugin_factory
#define | NMVpnEditorPluginCapability
#define | NM_VPN_EDITOR_PLUGIN_CAPABILITY_NONE
#define | NM_VPN_EDITOR_PLUGIN_CAPABILITY_IMPORT
#define | NM_VPN_EDITOR_PLUGIN_CAPABILITY_EXPORT
#define | NM_VPN_EDITOR_PLUGIN_CAPABILITY_IPV6
#define | NM_VPN_EDITOR_PLUGIN_NAME
#define | NM_VPN_EDITOR_PLUGIN_DESCRIPTION
#define | NM_VPN_EDITOR_PLUGIN_SERVICE
#define | NMVpnEditorPluginInterface
#define | get_editor
#define | get_suggested_filename
#define | nm_vpn_editor_plugin_get_editor
#define | nm_vpn_editor_plugin_get_capabilities
#define | nm_vpn_editor_plugin_import
#define | nm_vpn_editor_plugin_export
#define | nm_vpn_editor_plugin_get_suggested_filename
#define | NMVpnEditorInterface
#define | nm_vpn_editor_get_widget
#define | nm_vpn_editor_update_connection

## Description

## Functions

### NMVpnPluginUiFactory ()

    NMVpnPluginUiInterface *
    (*NMVpnPluginUiFactory) (GError **error);

### nm_vpn_plugin_ui_factory ()

    NMVpnPluginUiInterface *
    nm_vpn_plugin_ui_factory (GError **error);

### nm_vpn_plugin_ui_interface_ui_factory ()

    NMVpnPluginUiWidgetInterface *
    nm_vpn_plugin_ui_interface_ui_factory (NMVpnPluginUiInterface *iface,
                                           NMConnection *connection,
                                           GError **error);

### nm_vpn_plugin_ui_interface_get_capabilities ()

    guint32
    nm_vpn_plugin_ui_interface_get_capabilities
                                   (NMVpnPluginUiInterface *iface);

### nm_vpn_plugin_ui_interface_import ()

    NMConnection *
    nm_vpn_plugin_ui_interface_import (NMVpnPluginUiInterface *iface,
                                       const char *path,
                                       GError **error);

### nm_vpn_plugin_ui_interface_export ()

    gboolean
    nm_vpn_plugin_ui_interface_export (NMVpnPluginUiInterface *iface,
                                       const char *path,
                                       NMConnection *connection,
                                       GError **error);

### nm_vpn_plugin_ui_interface_get_suggested_name ()

    char *
    nm_vpn_plugin_ui_interface_get_suggested_name
                                   (NMVpnPluginUiInterface *iface,
                                    NMConnection *connection);

### nm_vpn_plugin_ui_interface_delete_connection ()

    gboolean
    nm_vpn_plugin_ui_interface_delete_connection
                                   (NMVpnPluginUiInterface *iface,
                                    NMConnection *connection,
                                    GError **error);

`nm_vpn_plugin_ui_interface_delete_connection` is deprecated and should not be used in newly-written code.

### nm_vpn_plugin_ui_widget_interface_get_widget ()

    GObject *
    nm_vpn_plugin_ui_widget_interface_get_widget
                                   (NMVpnPluginUiWidgetInterface *iface);

### nm_vpn_plugin_ui_widget_interface_update_connection ()

    gboolean
    nm_vpn_plugin_ui_widget_interface_update_connection
                                   (NMVpnPluginUiWidgetInterface *iface,
                                    NMConnection *connection,
                                    GError **error);

### nm_vpn_plugin_ui_widget_interface_save_secrets ()

    gboolean
    nm_vpn_plugin_ui_widget_interface_save_secrets
                                   (NMVpnPluginUiWidgetInterface *iface,
                                    NMConnection *connection,
                                    GError **error);

`nm_vpn_plugin_ui_widget_interface_save_secrets` is deprecated and should not be used in newly-written code.

## Types and Values

### enum NMVpnPluginUiCapability

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

#### Members

NM_VPN_PLUGIN_UI_CAPABILITY_NONE | unknown or no capability |
NM_VPN_PLUGIN_UI_CAPABILITY_IMPORT | the plugin can import new connections |
NM_VPN_PLUGIN_UI_CAPABILITY_EXPORT | the plugin can export connections |
NM_VPN_PLUGIN_UI_CAPABILITY_IPV6 | the plugin supports IPv6 addressing |

### NM_VPN_PLUGIN_UI_INTERFACE_NAME

    #define NM_VPN_PLUGIN_UI_INTERFACE_NAME "name"

### NM_VPN_PLUGIN_UI_INTERFACE_DESC

    #define NM_VPN_PLUGIN_UI_INTERFACE_DESC "desc"

### NM_VPN_PLUGIN_UI_INTERFACE_SERVICE

    #define NM_VPN_PLUGIN_UI_INTERFACE_SERVICE "service"

### enum NMVpnPluginUiInterfaceProp

GObject property numbers that plugins should override to provide certain information to UI programs.

#### Members

NM_VPN_PLUGIN_UI_INTERFACE_PROP_FIRST |  |
NM_VPN_PLUGIN_UI_INTERFACE_PROP_NAME | the VPN plugin's name |
NM_VPN_PLUGIN_UI_INTERFACE_PROP_DESC | description of the VPN plugin and what VPN services it supports |
NM_VPN_PLUGIN_UI_INTERFACE_PROP_SERVICE | the D-Bus service name used by the plugin's VPN service daemon |

### nm_vpn_editor_plugin_factory

    #define nm_vpn_editor_plugin_factory nm_vpn_plugin_ui_factory

### NMVpnEditorPluginCapability

    #define NMVpnEditorPluginCapability NMVpnPluginUiCapability

### NM_VPN_EDITOR_PLUGIN_CAPABILITY_NONE

    #define NM_VPN_EDITOR_PLUGIN_CAPABILITY_NONE   NM_VPN_PLUGIN_UI_CAPABILITY_NONE

### NM_VPN_EDITOR_PLUGIN_CAPABILITY_IMPORT

    #define NM_VPN_EDITOR_PLUGIN_CAPABILITY_IMPORT NM_VPN_PLUGIN_UI_CAPABILITY_IMPORT

### NM_VPN_EDITOR_PLUGIN_CAPABILITY_EXPORT

    #define NM_VPN_EDITOR_PLUGIN_CAPABILITY_EXPORT NM_VPN_PLUGIN_UI_CAPABILITY_EXPORT

### NM_VPN_EDITOR_PLUGIN_CAPABILITY_IPV6

    #define NM_VPN_EDITOR_PLUGIN_CAPABILITY_IPV6   NM_VPN_PLUGIN_UI_CAPABILITY_IPV6

### NM_VPN_EDITOR_PLUGIN_NAME

    #define NM_VPN_EDITOR_PLUGIN_NAME        NM_VPN_PLUGIN_UI_INTERFACE_NAME

### NM_VPN_EDITOR_PLUGIN_DESCRIPTION

    #define NM_VPN_EDITOR_PLUGIN_DESCRIPTION NM_VPN_PLUGIN_UI_INTERFACE_DESC

### NM_VPN_EDITOR_PLUGIN_SERVICE

    #define NM_VPN_EDITOR_PLUGIN_SERVICE     NM_VPN_PLUGIN_UI_INTERFACE_SERVICE

### NMVpnEditorPluginInterface

    #define NMVpnEditorPluginInterface NMVpnPluginUiInterface

### get_editor

    #define get_editor             ui_factory

### get_suggested_filename

    #define get_suggested_filename get_suggested_name

### nm_vpn_editor_plugin_get_editor

    #define nm_vpn_editor_plugin_get_editor nm_vpn_plugin_ui_interface_ui_factory

### nm_vpn_editor_plugin_get_capabilities

    #define nm_vpn_editor_plugin_get_capabilities nm_vpn_plugin_ui_interface_get_capabilities

### nm_vpn_editor_plugin_import

    #define nm_vpn_editor_plugin_import nm_vpn_plugin_ui_interface_import

### nm_vpn_editor_plugin_export

    #define nm_vpn_editor_plugin_export nm_vpn_plugin_ui_interface_export

### nm_vpn_editor_plugin_get_suggested_filename

    #define nm_vpn_editor_plugin_get_suggested_filename nm_vpn_plugin_ui_interface_get_suggested_name

### NMVpnEditorInterface

    #define NMVpnEditorInterface NMVpnPluginUiWidgetInterface

### nm_vpn_editor_get_widget

    #define nm_vpn_editor_get_widget nm_vpn_plugin_ui_widget_interface_get_widget

### nm_vpn_editor_update_connection

    #define nm_vpn_editor_update_connection nm_vpn_plugin_ui_widget_interface_update_connection