NMSettingVPN

NMSettingVPN — Describes connection properties for Virtual Private Networks

Synopsis

#include <nm-setting-vpn.h>

#define             NM_SETTING_VPN_SETTING_NAME
enum                NMSettingVpnError;
#define             NM_TYPE_SETTING_VPN_ERROR
#define             NM_SETTING_VPN_ERROR
GQuark              nm_setting_vpn_error_quark          (void);
#define             NM_SETTING_VPN_SERVICE_TYPE
#define             NM_SETTING_VPN_USER_NAME
#define             NM_SETTING_VPN_DATA
#define             NM_SETTING_VPN_SECRETS
                    NMSettingVPN;
                    NMSettingVPNClass;
void                (*VPNIterFunc)                      (const char *key,
                                                         const char *value,
                                                         gpointer user_data);
GType               nm_setting_vpn_get_type             (void);
NMSetting *         nm_setting_vpn_new                  (void);
const char *        nm_setting_vpn_get_service_type     (NMSettingVPN *setting);
const char *        nm_setting_vpn_get_user_name        (NMSettingVPN *setting);
void                nm_setting_vpn_add_data_item        (NMSettingVPN *setting,
                                                         const char *key,
                                                         const char *item);
const char *        nm_setting_vpn_get_data_item        (NMSettingVPN *setting,
                                                         const char *key);
void                nm_setting_vpn_remove_data_item     (NMSettingVPN *setting,
                                                         const char *key);
void                nm_setting_vpn_foreach_data_item    (NMSettingVPN *setting,
                                                         VPNIterFunc func,
                                                         gpointer user_data);
void                nm_setting_vpn_add_secret           (NMSettingVPN *setting,
                                                         const char *key,
                                                         const char *secret);
const char *        nm_setting_vpn_get_secret           (NMSettingVPN *setting,
                                                         const char *key);
void                nm_setting_vpn_remove_secret        (NMSettingVPN *setting,
                                                         const char *key);
void                nm_setting_vpn_foreach_secret       (NMSettingVPN *setting,
                                                         VPNIterFunc func,
                                                         gpointer user_data);

Object Hierarchy

  GObject
   +----NMSetting
         +----NMSettingVPN

Properties

  "data"                     GHashTable_gchararray+gchararray_*  : Read / Write
  "secrets"                  GHashTable_gchararray+gchararray_*  : Read / Write
  "service-type"             gchar*                : Read / Write
  "user-name"                gchar*                : Read / Write

Description

The NMSettingVPN object is a NMSetting subclass that describes properties necessary for connection to Virtual Private Networks. NetworkManager uses a plugin architecture to allow easier use of new VPN types, and this setting abstracts the configuration for those plugins. Since the configuration options are only known to the VPN plugins themselves, the VPN configuration options are stored as key/value pairs of strings rather than GObject properties.

Details

NM_SETTING_VPN_SETTING_NAME

#define NM_SETTING_VPN_SETTING_NAME "vpn"


enum NMSettingVpnError

typedef enum {
	NM_SETTING_VPN_ERROR_UNKNOWN = 0,
	NM_SETTING_VPN_ERROR_INVALID_PROPERTY,
	NM_SETTING_VPN_ERROR_MISSING_PROPERTY,
} NMSettingVpnError;

NM_SETTING_VPN_ERROR_UNKNOWN

unknown or unclassified error

NM_SETTING_VPN_ERROR_INVALID_PROPERTY

the property was invalid

NM_SETTING_VPN_ERROR_MISSING_PROPERTY

the property was missing and is required

NM_TYPE_SETTING_VPN_ERROR

#define NM_TYPE_SETTING_VPN_ERROR (nm_setting_vpn_error_get_type ()) 


NM_SETTING_VPN_ERROR

#define NM_SETTING_VPN_ERROR nm_setting_vpn_error_quark ()


nm_setting_vpn_error_quark ()

GQuark              nm_setting_vpn_error_quark          (void);

Registers an error quark for NMSettingVPN if necessary.

Returns :

the error quark used for NMSettingVPN errors.

NM_SETTING_VPN_SERVICE_TYPE

#define NM_SETTING_VPN_SERVICE_TYPE "service-type"


NM_SETTING_VPN_USER_NAME

#define NM_SETTING_VPN_USER_NAME    "user-name"


NM_SETTING_VPN_DATA

#define NM_SETTING_VPN_DATA         "data"


NM_SETTING_VPN_SECRETS

#define NM_SETTING_VPN_SECRETS      "secrets"


NMSettingVPN

typedef struct _NMSettingVPN NMSettingVPN;


NMSettingVPNClass

typedef struct {
	NMSettingClass parent;

	/* Padding for future expansion */
	void (*_reserved1) (void);
	void (*_reserved2) (void);
	void (*_reserved3) (void);
	void (*_reserved4) (void);
} NMSettingVPNClass;


VPNIterFunc ()

void                (*VPNIterFunc)                      (const char *key,
                                                         const char *value,
                                                         gpointer user_data);

key :

the name of the data or secret item

value :

the value of the data or secret item

user_data :

User data passed to nm_setting_vpn_foreach_data_item() or nm_setting_vpn_foreach_secret()

nm_setting_vpn_get_type ()

GType               nm_setting_vpn_get_type             (void);

Returns :


nm_setting_vpn_new ()

NMSetting *         nm_setting_vpn_new                  (void);

Creates a new NMSettingVPN object with default values.

Returns :

the new empty NMSettingVPN object

nm_setting_vpn_get_service_type ()

const char *        nm_setting_vpn_get_service_type     (NMSettingVPN *setting);

Returns the service name of the VPN, which identifies the specific VPN plugin that should be used to connect to this VPN.

setting :

the NMSettingVPN

Returns :

the VPN plugin's service name

nm_setting_vpn_get_user_name ()

const char *        nm_setting_vpn_get_user_name        (NMSettingVPN *setting);

setting :

the NMSettingVPN

Returns :

the "user-name" property of the setting

nm_setting_vpn_add_data_item ()

void                nm_setting_vpn_add_data_item        (NMSettingVPN *setting,
                                                         const char *key,
                                                         const char *item);

Establishes a relationship between key and item internally in the setting which may be retrieved later. Should not be used to store passwords or other secrets, which is what nm_setting_vpn_add_secret() is for.

setting :

the NMSettingVPN

key :

a name that uniquely identifies the given value item

item :

the value to be referenced by key

nm_setting_vpn_get_data_item ()

const char *        nm_setting_vpn_get_data_item        (NMSettingVPN *setting,
                                                         const char *key);

Retrieves the data item of a key/value relationship previously established by nm_setting_vpn_add_data_item().

setting :

the NMSettingVPN

key :

the name of the data item to retrieve

Returns :

the data item, if any

nm_setting_vpn_remove_data_item ()

void                nm_setting_vpn_remove_data_item     (NMSettingVPN *setting,
                                                         const char *key);

Deletes a key/value relationship previously established by nm_setting_vpn_add_data_item().

setting :

the NMSettingVPN

key :

the name of the data item to remove

nm_setting_vpn_foreach_data_item ()

void                nm_setting_vpn_foreach_data_item    (NMSettingVPN *setting,
                                                         VPNIterFunc func,
                                                         gpointer user_data);

setting :

func :

user_data :


nm_setting_vpn_add_secret ()

void                nm_setting_vpn_add_secret           (NMSettingVPN *setting,
                                                         const char *key,
                                                         const char *secret);

Establishes a relationship between key and secret internally in the setting which may be retrieved later.

setting :

the NMSettingVPN

key :

a name that uniquely identifies the given secret secret

secret :

the secret to be referenced by key

nm_setting_vpn_get_secret ()

const char *        nm_setting_vpn_get_secret           (NMSettingVPN *setting,
                                                         const char *key);

Retrieves the secret of a key/value relationship previously established by nm_setting_vpn_add_secret().

setting :

the NMSettingVPN

key :

the name of the secret to retrieve

Returns :

the secret, if any

nm_setting_vpn_remove_secret ()

void                nm_setting_vpn_remove_secret        (NMSettingVPN *setting,
                                                         const char *key);

Deletes a key/value relationship previously established by nm_setting_vpn_add_secret().

setting :

the NMSettingVPN

key :

the name of the secret to remove

nm_setting_vpn_foreach_secret ()

void                nm_setting_vpn_foreach_secret       (NMSettingVPN *setting,
                                                         VPNIterFunc func,
                                                         gpointer user_data);

setting :

func :

user_data :

Property Details

The "data" property

  "data"                     GHashTable_gchararray+gchararray_*  : Read / Write

Dictionary of key/value pairs of VPN plugin specific data. Both keys and values must be strings.


The "secrets" property

  "secrets"                  GHashTable_gchararray+gchararray_*  : Read / Write

Dictionary of key/value pairs of VPN plugin specific secrets like passwords or private keys. Both keys and values must be strings.


The "service-type" property

  "service-type"             gchar*                : Read / Write

D-Bus service name of the VPN plugin that this setting uses to connect to its network. i.e. org.freedesktop.NetworkManager.vpnc for the vpnc plugin.

Default value: NULL


The "user-name" property

  "user-name"                gchar*                : Read / Write

User name of the currently logged in user for connections provided by the user settings service. This name is provided to the VPN plugin to use in lieu of a custom username provided by that VPN plugins specific configuration. The VPN plugin itself decides which user name to use.

Default value: NULL