libnm/vpn: add new NMVpnServicePlugin class

After copying "nm-vpn-plugin-old.*" to "nm-vpn-service-plugin.*",
rename the class and add it to the Makefile.

This will become the new VPN Service API for libnm 1.2. No changes
done yet except renaming of the classes and functions.

Rename the previous classes NMVpnPlugin(Old) to NMVpnServicePlugin
to have a distinct name from NMVpnEditorPlugin. Buth are plugins, but
with a different use.

https://bugzilla.gnome.org/show_bug.cgi?id=749951
This commit is contained in:
Thomas Haller 2015-06-02 10:50:29 +02:00
parent 87f631f2f1
commit 867227dd4a
6 changed files with 252 additions and 251 deletions

View file

@ -54,6 +54,7 @@ IGNORE_HFILES= \
nm-types.h \
nm-utils-private.h \
nm-vpn-plugin-old.h \
nm-vpn-service-plugin.h \
nm-core-tests-enum-types.h
# Images to copy into HTML directory.

View file

@ -55,7 +55,8 @@ libnminclude_hfiles = \
libnminclude_nointrospect_hfiles = \
nm-secret-agent-old.h \
nm-vpn-plugin-old.h
nm-vpn-plugin-old.h \
nm-vpn-service-plugin.h
libnminclude_HEADERS = \
$(libnminclude_hfiles) \
@ -109,6 +110,7 @@ libnm_la_csources = \
nm-vpn-connection.c \
nm-vpn-plugin-old.c \
nm-vpn-editor.c \
nm-vpn-service-plugin.c \
nm-wimax-nsp.c
libnm_la_SOURCES = \

View file

@ -821,17 +821,6 @@ global:
nm_vpn_plugin_error_get_type;
nm_vpn_plugin_error_quark;
nm_vpn_plugin_failure_get_type;
nm_vpn_plugin_old_disconnect;
nm_vpn_plugin_old_failure;
nm_vpn_plugin_old_get_connection;
nm_vpn_plugin_old_get_secret_flags;
nm_vpn_plugin_old_get_state;
nm_vpn_plugin_old_get_type;
nm_vpn_plugin_old_read_vpn_details;
nm_vpn_plugin_old_secrets_required;
nm_vpn_plugin_old_set_ip4_config;
nm_vpn_plugin_old_set_login_banner;
nm_vpn_plugin_old_set_state;
nm_vpn_service_state_get_type;
nm_wep_key_type_get_type;
nm_wimax_nsp_connection_valid;
@ -902,4 +891,15 @@ global:
nm_vpn_plugin_info_list_find_by_service;
nm_vpn_plugin_info_list_load;
nm_vpn_plugin_info_list_remove;
nm_vpn_service_plugin_disconnect;
nm_vpn_service_plugin_failure;
nm_vpn_service_plugin_get_connection;
nm_vpn_service_plugin_get_secret_flags;
nm_vpn_service_plugin_get_state;
nm_vpn_service_plugin_get_type;
nm_vpn_service_plugin_read_vpn_details;
nm_vpn_service_plugin_secrets_required;
nm_vpn_service_plugin_set_ip4_config;
nm_vpn_service_plugin_set_login_banner;
nm_vpn_service_plugin_set_state;
} libnm_1_0_0;

View file

@ -16,15 +16,13 @@
* Boston, MA 02110-1301 USA.
*
* Copyright 2007 - 2008 Novell, Inc.
* Copyright 2007 - 2008 Red Hat, Inc.
*/
/* This interface is expected to be deprecated in NM 1.2, at which point there
* will be a new "NMVpnPlugin" class to replace it.
* Copyright 2007 - 2015 Red Hat, Inc.
*/
#include "config.h"
#include "nm-vpn-service-plugin.h"
#include <errno.h>
#include <signal.h>
#include <stdlib.h>
@ -32,7 +30,6 @@
#include <glib/gi18n-lib.h>
#include "nm-glib.h"
#include "nm-vpn-plugin-old.h"
#include "nm-enum-types.h"
#include "nm-utils.h"
#include "nm-connection.h"
@ -43,12 +40,12 @@
#include "nmdbus-vpn-plugin.h"
#define NM_VPN_PLUGIN_OLD_QUIT_TIMER 20
#define NM_VPN_SERVICE_PLUGIN_QUIT_TIMER 20
static void nm_vpn_plugin_old_initable_iface_init (GInitableIface *iface);
static void nm_vpn_service_plugin_initable_iface_init (GInitableIface *iface);
G_DEFINE_ABSTRACT_TYPE_WITH_CODE (NMVpnPluginOld, nm_vpn_plugin_old, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, nm_vpn_plugin_old_initable_iface_init);
G_DEFINE_ABSTRACT_TYPE_WITH_CODE (NMVpnServicePlugin, nm_vpn_service_plugin, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, nm_vpn_service_plugin_initable_iface_init);
)
typedef struct {
@ -56,7 +53,7 @@ typedef struct {
/* DBUS-y stuff */
GDBusConnection *connection;
NMDBusVpnPlugin *dbus_vpn_plugin_old;
NMDBusVpnPlugin *dbus_vpn_service_plugin;
char *dbus_service_name;
/* Temporary stuff */
@ -71,9 +68,9 @@ typedef struct {
/* Config stuff copied from config to ip4config */
GVariant *banner, *tundev, *gateway, *mtu;
} NMVpnPluginOldPrivate;
} NMVpnServicePluginPrivate;
#define NM_VPN_PLUGIN_OLD_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_VPN_PLUGIN_OLD, NMVpnPluginOldPrivate))
#define NM_VPN_SERVICE_PLUGIN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_VPN_SERVICE_PLUGIN, NMVpnServicePluginPrivate))
enum {
STATE_CHANGED,
@ -102,10 +99,10 @@ static GSList *active_plugins = NULL;
static void
nm_vpn_plugin_old_set_connection (NMVpnPluginOld *plugin,
GDBusConnection *connection)
nm_vpn_service_plugin_set_connection (NMVpnServicePlugin *plugin,
GDBusConnection *connection)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
g_clear_object (&priv->connection);
@ -114,18 +111,18 @@ nm_vpn_plugin_old_set_connection (NMVpnPluginOld *plugin,
}
/**
* nm_vpn_plugin_old_get_connection:
* nm_vpn_service_plugin_get_connection:
*
* Returns: (transfer full):
*/
GDBusConnection *
nm_vpn_plugin_old_get_connection (NMVpnPluginOld *plugin)
nm_vpn_service_plugin_get_connection (NMVpnServicePlugin *plugin)
{
GDBusConnection *connection;
g_return_val_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin), NULL);
g_return_val_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin), NULL);
connection = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin)->connection;
connection = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin)->connection;
if (connection)
g_object_ref (connection);
@ -134,22 +131,22 @@ nm_vpn_plugin_old_get_connection (NMVpnPluginOld *plugin)
}
NMVpnServiceState
nm_vpn_plugin_old_get_state (NMVpnPluginOld *plugin)
nm_vpn_service_plugin_get_state (NMVpnServicePlugin *plugin)
{
g_return_val_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin), NM_VPN_SERVICE_STATE_UNKNOWN);
g_return_val_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin), NM_VPN_SERVICE_STATE_UNKNOWN);
return NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin)->state;
return NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin)->state;
}
void
nm_vpn_plugin_old_set_state (NMVpnPluginOld *plugin,
NMVpnServiceState state)
nm_vpn_service_plugin_set_state (NMVpnServicePlugin *plugin,
NMVpnServiceState state)
{
NMVpnPluginOldPrivate *priv;
NMVpnServicePluginPrivate *priv;
g_return_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin));
g_return_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin));
priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
if (priv->state != state) {
priv->state = state;
g_signal_emit (plugin, signals[STATE_CHANGED], 0, state);
@ -157,33 +154,33 @@ nm_vpn_plugin_old_set_state (NMVpnPluginOld *plugin,
}
void
nm_vpn_plugin_old_set_login_banner (NMVpnPluginOld *plugin,
const char *banner)
nm_vpn_service_plugin_set_login_banner (NMVpnServicePlugin *plugin,
const char *banner)
{
g_return_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin));
g_return_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin));
g_return_if_fail (banner != NULL);
g_signal_emit (plugin, signals[LOGIN_BANNER], 0, banner);
}
void
nm_vpn_plugin_old_failure (NMVpnPluginOld *plugin,
NMVpnPluginFailure reason)
nm_vpn_service_plugin_failure (NMVpnServicePlugin *plugin,
NMVpnPluginFailure reason)
{
g_return_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin));
g_return_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin));
g_signal_emit (plugin, signals[FAILURE], 0, reason);
}
gboolean
nm_vpn_plugin_old_disconnect (NMVpnPluginOld *plugin, GError **err)
nm_vpn_service_plugin_disconnect (NMVpnServicePlugin *plugin, GError **err)
{
gboolean ret = FALSE;
NMVpnServiceState state;
g_return_val_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin), FALSE);
g_return_val_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin), FALSE);
state = nm_vpn_plugin_old_get_state (plugin);
state = nm_vpn_service_plugin_get_state (plugin);
switch (state) {
case NM_VPN_SERVICE_STATE_STOPPING:
g_set_error (err,
@ -201,9 +198,9 @@ nm_vpn_plugin_old_disconnect (NMVpnPluginOld *plugin, GError **err)
break;
case NM_VPN_SERVICE_STATE_STARTING:
case NM_VPN_SERVICE_STATE_STARTED:
nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_STOPPING);
ret = NM_VPN_PLUGIN_OLD_GET_CLASS (plugin)->disconnect (plugin, err);
nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_STOPPED);
nm_vpn_service_plugin_set_state (plugin, NM_VPN_SERVICE_STATE_STOPPING);
ret = NM_VPN_SERVICE_PLUGIN_GET_CLASS (plugin)->disconnect (plugin, err);
nm_vpn_service_plugin_set_state (plugin, NM_VPN_SERVICE_STATE_STOPPED);
break;
case NM_VPN_SERVICE_STATE_INIT:
ret = TRUE;
@ -219,7 +216,7 @@ nm_vpn_plugin_old_disconnect (NMVpnPluginOld *plugin, GError **err)
}
static void
nm_vpn_plugin_old_emit_quit (NMVpnPluginOld *plugin)
nm_vpn_service_plugin_emit_quit (NMVpnServicePlugin *plugin)
{
g_signal_emit (plugin, signals[QUIT], 0);
}
@ -227,12 +224,12 @@ nm_vpn_plugin_old_emit_quit (NMVpnPluginOld *plugin)
static gboolean
connect_timer_expired (gpointer data)
{
NMVpnPluginOld *plugin = NM_VPN_PLUGIN_OLD (data);
NMVpnServicePlugin *plugin = NM_VPN_SERVICE_PLUGIN (data);
GError *err = NULL;
NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin)->connect_timer = 0;
NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin)->connect_timer = 0;
g_message ("Connect timer expired, disconnecting.");
nm_vpn_plugin_old_disconnect (plugin, &err);
nm_vpn_service_plugin_disconnect (plugin, &err);
if (err) {
g_warning ("Disconnect failed: %s", err->message);
g_error_free (err);
@ -244,20 +241,20 @@ connect_timer_expired (gpointer data)
static gboolean
quit_timer_expired (gpointer data)
{
NMVpnPluginOld *self = NM_VPN_PLUGIN_OLD (data);
NMVpnServicePlugin *self = NM_VPN_SERVICE_PLUGIN (data);
NM_VPN_PLUGIN_OLD_GET_PRIVATE (self)->quit_timer = 0;
nm_vpn_plugin_old_emit_quit (self);
NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (self)->quit_timer = 0;
nm_vpn_service_plugin_emit_quit (self);
return G_SOURCE_REMOVE;
}
static void
schedule_quit_timer (NMVpnPluginOld *self)
schedule_quit_timer (NMVpnServicePlugin *self)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (self);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (self);
nm_clear_g_source (&priv->quit_timer);
priv->quit_timer = g_timeout_add_seconds (NM_VPN_PLUGIN_OLD_QUIT_TIMER,
priv->quit_timer = g_timeout_add_seconds (NM_VPN_SERVICE_PLUGIN_QUIT_TIMER,
quit_timer_expired,
self);
}
@ -265,29 +262,29 @@ schedule_quit_timer (NMVpnPluginOld *self)
static gboolean
fail_stop (gpointer data)
{
NMVpnPluginOld *self = NM_VPN_PLUGIN_OLD (data);
NMVpnServicePlugin *self = NM_VPN_SERVICE_PLUGIN (data);
NM_VPN_PLUGIN_OLD_GET_PRIVATE (self)->fail_stop_id = 0;
nm_vpn_plugin_old_set_state (self, NM_VPN_SERVICE_STATE_STOPPED);
NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (self)->fail_stop_id = 0;
nm_vpn_service_plugin_set_state (self, NM_VPN_SERVICE_STATE_STOPPED);
return G_SOURCE_REMOVE;
}
static void
schedule_fail_stop (NMVpnPluginOld *plugin)
schedule_fail_stop (NMVpnServicePlugin *plugin)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
nm_clear_g_source (&priv->fail_stop_id);
priv->fail_stop_id = g_idle_add (fail_stop, plugin);
}
void
nm_vpn_plugin_old_set_config (NMVpnPluginOld *plugin,
GVariant *config)
nm_vpn_service_plugin_set_config (NMVpnServicePlugin *plugin,
GVariant *config)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
g_return_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin));
g_return_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin));
g_return_if_fail (config != NULL);
priv->got_config = TRUE;
@ -321,23 +318,23 @@ nm_vpn_plugin_old_set_config (NMVpnPluginOld *plugin,
}
void
nm_vpn_plugin_old_set_ip4_config (NMVpnPluginOld *plugin,
GVariant *ip4_config)
nm_vpn_service_plugin_set_ip4_config (NMVpnServicePlugin *plugin,
GVariant *ip4_config)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
GVariant *combined_config;
GVariantBuilder builder;
GVariantIter iter;
const char *key;
GVariant *value;
g_return_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin));
g_return_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin));
g_return_if_fail (ip4_config != NULL);
priv->got_ip4 = TRUE;
/* Old plugins won't send the "config" signal and thus can't send
* NM_VPN_PLUGIN_OLD_CONFIG_HAS_IP4 either. But since they don't support IPv6,
* NM_VPN_SERVICE_PLUGIN_CONFIG_HAS_IP4 either. But since they don't support IPv6,
* we can safely assume that, if we don't receive a "config" signal but do
* receive an "ip4-config" signal, the old plugin supports IPv4.
*/
@ -372,16 +369,16 @@ nm_vpn_plugin_old_set_ip4_config (NMVpnPluginOld *plugin,
if ( priv->has_ip4 == priv->got_ip4
&& priv->has_ip6 == priv->got_ip6)
nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_STARTED);
nm_vpn_service_plugin_set_state (plugin, NM_VPN_SERVICE_STATE_STARTED);
}
void
nm_vpn_plugin_old_set_ip6_config (NMVpnPluginOld *plugin,
GVariant *ip6_config)
nm_vpn_service_plugin_set_ip6_config (NMVpnServicePlugin *plugin,
GVariant *ip6_config)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
g_return_if_fail (NM_IS_VPN_PLUGIN_OLD (plugin));
g_return_if_fail (NM_IS_VPN_SERVICE_PLUGIN (plugin));
g_return_if_fail (ip6_config != NULL);
priv->got_ip6 = TRUE;
@ -389,25 +386,25 @@ nm_vpn_plugin_old_set_ip6_config (NMVpnPluginOld *plugin,
if ( priv->has_ip4 == priv->got_ip4
&& priv->has_ip6 == priv->got_ip6)
nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_STARTED);
nm_vpn_service_plugin_set_state (plugin, NM_VPN_SERVICE_STATE_STARTED);
}
static void
connect_timer_start (NMVpnPluginOld *plugin)
connect_timer_start (NMVpnServicePlugin *plugin)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
priv->connect_timer = g_timeout_add_seconds (60, connect_timer_expired, plugin);
}
static void
_connect_generic (NMVpnPluginOld *plugin,
_connect_generic (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
GVariant *properties,
GVariant *details)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnPluginOldClass *vpn_class = NM_VPN_PLUGIN_OLD_GET_CLASS (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
NMVpnServicePluginClass *vpn_class = NM_VPN_SERVICE_PLUGIN_GET_CLASS (plugin);
NMConnection *connection;
gboolean success = FALSE;
GError *error = NULL;
@ -441,7 +438,7 @@ _connect_generic (NMVpnPluginOld *plugin,
return;
}
nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_STARTING);
nm_vpn_service_plugin_set_state (plugin, NM_VPN_SERVICE_STATE_STARTING);
if (details) {
priv->interactive = TRUE;
@ -467,20 +464,20 @@ _connect_generic (NMVpnPluginOld *plugin,
}
static void
impl_vpn_plugin_old_connect (NMVpnPluginOld *plugin,
GDBusMethodInvocation *context,
GVariant *connection,
gpointer user_data)
impl_vpn_service_plugin_connect (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
GVariant *connection,
gpointer user_data)
{
_connect_generic (plugin, context, connection, NULL);
}
static void
impl_vpn_plugin_old_connect_interactive (NMVpnPluginOld *plugin,
GDBusMethodInvocation *context,
GVariant *connection,
GVariant *details,
gpointer user_data)
impl_vpn_service_plugin_connect_interactive (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
GVariant *connection,
GVariant *details,
gpointer user_data)
{
_connect_generic (plugin, context, connection, details);
}
@ -488,10 +485,10 @@ impl_vpn_plugin_old_connect_interactive (NMVpnPluginOld *plugin,
/***************************************************************/
static void
impl_vpn_plugin_old_need_secrets (NMVpnPluginOld *plugin,
GDBusMethodInvocation *context,
GVariant *properties,
gpointer user_data)
impl_vpn_service_plugin_need_secrets (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
GVariant *properties,
gpointer user_data)
{
NMConnection *connection;
const char *setting_name;
@ -509,13 +506,13 @@ impl_vpn_plugin_old_need_secrets (NMVpnPluginOld *plugin,
return;
}
if (!NM_VPN_PLUGIN_OLD_GET_CLASS (plugin)->need_secrets) {
if (!NM_VPN_SERVICE_PLUGIN_GET_CLASS (plugin)->need_secrets) {
g_dbus_method_invocation_return_value (context,
g_variant_new ("(s)", ""));
return;
}
needed = NM_VPN_PLUGIN_OLD_GET_CLASS (plugin)->need_secrets (plugin, connection, &setting_name, &error);
needed = NM_VPN_SERVICE_PLUGIN_GET_CLASS (plugin)->need_secrets (plugin, connection, &setting_name, &error);
if (error) {
g_dbus_method_invocation_take_error (context, error);
return;
@ -538,12 +535,12 @@ impl_vpn_plugin_old_need_secrets (NMVpnPluginOld *plugin,
}
static void
impl_vpn_plugin_old_new_secrets (NMVpnPluginOld *plugin,
GDBusMethodInvocation *context,
GVariant *properties,
gpointer user_data)
impl_vpn_service_plugin_new_secrets (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
GVariant *properties,
gpointer user_data)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
NMConnection *connection;
GError *error = NULL;
gboolean success;
@ -568,7 +565,7 @@ impl_vpn_plugin_old_new_secrets (NMVpnPluginOld *plugin,
return;
}
if (!NM_VPN_PLUGIN_OLD_GET_CLASS (plugin)->new_secrets) {
if (!NM_VPN_SERVICE_PLUGIN_GET_CLASS (plugin)->new_secrets) {
g_dbus_method_invocation_return_error (context,
NM_VPN_PLUGIN_ERROR,
NM_VPN_PLUGIN_ERROR_INTERACTIVE_NOT_SUPPORTED,
@ -577,7 +574,7 @@ impl_vpn_plugin_old_new_secrets (NMVpnPluginOld *plugin,
return;
}
success = NM_VPN_PLUGIN_OLD_GET_CLASS (plugin)->new_secrets (plugin, connection, &error);
success = NM_VPN_SERVICE_PLUGIN_GET_CLASS (plugin)->new_secrets (plugin, connection, &error);
if (success) {
g_dbus_method_invocation_return_value (context, NULL);
@ -596,8 +593,8 @@ impl_vpn_plugin_old_new_secrets (NMVpnPluginOld *plugin,
}
/**
* nm_vpn_plugin_old_secrets_required:
* @plugin: the #NMVpnPluginOld
* nm_vpn_service_plugin_secrets_required:
* @plugin: the #NMVpnServicePlugin
* @message: an information message about why secrets are required, if any
* @hints: VPN specific secret names for required new secrets
*
@ -608,14 +605,14 @@ impl_vpn_plugin_old_new_secrets (NMVpnPluginOld *plugin,
* information to complete the request.
*/
void
nm_vpn_plugin_old_secrets_required (NMVpnPluginOld *plugin,
const char *message,
const char **hints)
nm_vpn_service_plugin_secrets_required (NMVpnServicePlugin *plugin,
const char *message,
const char **hints)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
/* Plugin must be able to accept the new secrets if it calls this method */
g_return_if_fail (NM_VPN_PLUGIN_OLD_GET_CLASS (plugin)->new_secrets);
g_return_if_fail (NM_VPN_SERVICE_PLUGIN_GET_CLASS (plugin)->new_secrets);
/* Plugin cannot call this method if NetworkManager didn't originally call
* ConnectInteractive().
@ -647,7 +644,7 @@ free_secret (gpointer data)
}
/**
* nm_vpn_plugin_old_read_vpn_details:
* nm_vpn_service_plugin_read_vpn_details:
* @fd: file descriptor to read from, usually stdin (0)
* @out_data: (out) (transfer full): on successful return, a hash table
* (mapping char*:char*) containing the key/value pairs of VPN data items
@ -660,9 +657,9 @@ free_secret (gpointer data)
* Returns: %TRUE if reading values was successful, %FALSE if not
**/
gboolean
nm_vpn_plugin_old_read_vpn_details (int fd,
GHashTable **out_data,
GHashTable **out_secrets)
nm_vpn_service_plugin_read_vpn_details (int fd,
GHashTable **out_data,
GHashTable **out_secrets)
{
GHashTable *data, *secrets;
gboolean success = FALSE;
@ -748,7 +745,7 @@ nm_vpn_plugin_old_read_vpn_details (int fd,
}
/**
* nm_vpn_plugin_old_get_secret_flags:
* nm_vpn_service_plugin_get_secret_flags:
* @data: hash table containing VPN key/value pair data items
* @secret_name: VPN secret key name for which to retrieve flags for
* @out_flags: (out): on success, the flags associated with @secret_name
@ -761,9 +758,9 @@ nm_vpn_plugin_old_read_vpn_details (int fd,
* to flags, %FALSE if not
**/
gboolean
nm_vpn_plugin_old_get_secret_flags (GHashTable *data,
const char *secret_name,
NMSettingSecretFlags *out_flags)
nm_vpn_service_plugin_get_secret_flags (GHashTable *data,
const char *secret_name,
NMSettingSecretFlags *out_flags)
{
char *flag_name;
const char *val;
@ -795,55 +792,55 @@ nm_vpn_plugin_old_get_secret_flags (GHashTable *data,
/***************************************************************/
static void
impl_vpn_plugin_old_disconnect (NMVpnPluginOld *plugin,
GDBusMethodInvocation *context,
gpointer user_data)
impl_vpn_service_plugin_disconnect (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
gpointer user_data)
{
GError *error = NULL;
if (nm_vpn_plugin_old_disconnect (plugin, &error))
if (nm_vpn_service_plugin_disconnect (plugin, &error))
g_dbus_method_invocation_return_value (context, NULL);
else
g_dbus_method_invocation_take_error (context, error);
}
static void
impl_vpn_plugin_old_set_config (NMVpnPluginOld *plugin,
GDBusMethodInvocation *context,
GVariant *config,
gpointer user_data)
{
nm_vpn_plugin_old_set_config (plugin, config);
g_dbus_method_invocation_return_value (context, NULL);
}
static void
impl_vpn_plugin_old_set_ip4_config (NMVpnPluginOld *plugin,
impl_vpn_service_plugin_set_config (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
GVariant *config,
gpointer user_data)
{
nm_vpn_plugin_old_set_ip4_config (plugin, config);
nm_vpn_service_plugin_set_config (plugin, config);
g_dbus_method_invocation_return_value (context, NULL);
}
static void
impl_vpn_plugin_old_set_ip6_config (NMVpnPluginOld *plugin,
GDBusMethodInvocation *context,
GVariant *config,
gpointer user_data)
impl_vpn_service_plugin_set_ip4_config (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
GVariant *config,
gpointer user_data)
{
nm_vpn_plugin_old_set_ip6_config (plugin, config);
nm_vpn_service_plugin_set_ip4_config (plugin, config);
g_dbus_method_invocation_return_value (context, NULL);
}
static void
impl_vpn_plugin_old_set_failure (NMVpnPluginOld *plugin,
GDBusMethodInvocation *context,
char *reason,
gpointer user_data)
impl_vpn_service_plugin_set_ip6_config (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
GVariant *config,
gpointer user_data)
{
nm_vpn_plugin_old_failure (plugin, NM_VPN_PLUGIN_FAILURE_BAD_IP_CONFIG);
nm_vpn_service_plugin_set_ip6_config (plugin, config);
g_dbus_method_invocation_return_value (context, NULL);
}
static void
impl_vpn_service_plugin_set_failure (NMVpnServicePlugin *plugin,
GDBusMethodInvocation *context,
char *reason,
gpointer user_data)
{
nm_vpn_service_plugin_failure (plugin, NM_VPN_PLUGIN_FAILURE_BAD_IP_CONFIG);
g_dbus_method_invocation_return_value (context, NULL);
}
@ -852,7 +849,7 @@ impl_vpn_plugin_old_set_failure (NMVpnPluginOld *plugin,
static void
sigterm_handler (int signum)
{
g_slist_foreach (active_plugins, (GFunc) nm_vpn_plugin_old_emit_quit, NULL);
g_slist_foreach (active_plugins, (GFunc) nm_vpn_service_plugin_emit_quit, NULL);
}
static void
@ -879,7 +876,7 @@ one_plugin_destroyed (gpointer data,
}
static void
nm_vpn_plugin_old_init (NMVpnPluginOld *plugin)
nm_vpn_service_plugin_init (NMVpnServicePlugin *plugin)
{
active_plugins = g_slist_append (active_plugins, plugin);
g_object_weak_ref (G_OBJECT (plugin),
@ -890,8 +887,8 @@ nm_vpn_plugin_old_init (NMVpnPluginOld *plugin)
static gboolean
init_sync (GInitable *initable, GCancellable *cancellable, GError **error)
{
NMVpnPluginOld *plugin = NM_VPN_PLUGIN_OLD (initable);
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePlugin *plugin = NM_VPN_SERVICE_PLUGIN (initable);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
GDBusConnection *connection = NULL;
GDBusProxy *proxy;
GVariant *ret;
@ -931,28 +928,28 @@ init_sync (GInitable *initable, GCancellable *cancellable, GError **error)
}
g_variant_unref (ret);
priv->dbus_vpn_plugin_old = nmdbus_vpn_plugin_skeleton_new ();
if (!g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (priv->dbus_vpn_plugin_old),
priv->dbus_vpn_service_plugin = nmdbus_vpn_plugin_skeleton_new ();
if (!g_dbus_interface_skeleton_export (G_DBUS_INTERFACE_SKELETON (priv->dbus_vpn_service_plugin),
connection,
NM_VPN_DBUS_PLUGIN_PATH,
error))
goto out;
_nm_dbus_bind_properties (plugin, priv->dbus_vpn_plugin_old);
_nm_dbus_bind_methods (plugin, priv->dbus_vpn_plugin_old,
"Connect", impl_vpn_plugin_old_connect,
"ConnectInteractive", impl_vpn_plugin_old_connect_interactive,
"NeedSecrets", impl_vpn_plugin_old_need_secrets,
"NewSecrets", impl_vpn_plugin_old_new_secrets,
"Disconnect", impl_vpn_plugin_old_disconnect,
"SetConfig", impl_vpn_plugin_old_set_config,
"SetIp4Config", impl_vpn_plugin_old_set_ip4_config,
"SetIp6Config", impl_vpn_plugin_old_set_ip6_config,
"SetFailure", impl_vpn_plugin_old_set_failure,
_nm_dbus_bind_properties (plugin, priv->dbus_vpn_service_plugin);
_nm_dbus_bind_methods (plugin, priv->dbus_vpn_service_plugin,
"Connect", impl_vpn_service_plugin_connect,
"ConnectInteractive", impl_vpn_service_plugin_connect_interactive,
"NeedSecrets", impl_vpn_service_plugin_need_secrets,
"NewSecrets", impl_vpn_service_plugin_new_secrets,
"Disconnect", impl_vpn_service_plugin_disconnect,
"SetConfig", impl_vpn_service_plugin_set_config,
"SetIp4Config", impl_vpn_service_plugin_set_ip4_config,
"SetIp6Config", impl_vpn_service_plugin_set_ip6_config,
"SetFailure", impl_vpn_service_plugin_set_failure,
NULL);
nm_vpn_plugin_old_set_connection (plugin, connection);
nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_INIT);
nm_vpn_service_plugin_set_connection (plugin, connection);
nm_vpn_service_plugin_set_state (plugin, NM_VPN_SERVICE_STATE_INIT);
success = TRUE;
@ -966,7 +963,7 @@ static void
set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (object);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (object);
switch (prop_id) {
case PROP_DBUS_SERVICE_NAME:
@ -974,7 +971,7 @@ set_property (GObject *object, guint prop_id,
priv->dbus_service_name = g_value_dup_string (value);
break;
case PROP_STATE:
nm_vpn_plugin_old_set_state (NM_VPN_PLUGIN_OLD (object),
nm_vpn_service_plugin_set_state (NM_VPN_SERVICE_PLUGIN (object),
(NMVpnServiceState) g_value_get_enum (value));
break;
default:
@ -987,14 +984,14 @@ static void
get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (object);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (object);
switch (prop_id) {
case PROP_DBUS_SERVICE_NAME:
g_value_set_string (value, priv->dbus_service_name);
break;
case PROP_STATE:
g_value_set_enum (value, nm_vpn_plugin_old_get_state (NM_VPN_PLUGIN_OLD (object)));
g_value_set_enum (value, nm_vpn_service_plugin_get_state (NM_VPN_SERVICE_PLUGIN (object)));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@ -1005,8 +1002,8 @@ get_property (GObject *object, guint prop_id,
static void
dispose (GObject *object)
{
NMVpnPluginOld *plugin = NM_VPN_PLUGIN_OLD (object);
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePlugin *plugin = NM_VPN_SERVICE_PLUGIN (object);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
NMVpnServiceState state;
GError *err = NULL;
@ -1014,27 +1011,27 @@ dispose (GObject *object)
nm_clear_g_source (&priv->quit_timer);
nm_clear_g_source (&priv->connect_timer);
state = nm_vpn_plugin_old_get_state (plugin);
state = nm_vpn_service_plugin_get_state (plugin);
if (state == NM_VPN_SERVICE_STATE_STARTED ||
state == NM_VPN_SERVICE_STATE_STARTING)
nm_vpn_plugin_old_disconnect (plugin, &err);
nm_vpn_service_plugin_disconnect (plugin, &err);
if (err) {
g_warning ("Error disconnecting VPN connection: %s", err->message);
g_error_free (err);
}
G_OBJECT_CLASS (nm_vpn_plugin_old_parent_class)->dispose (object);
G_OBJECT_CLASS (nm_vpn_service_plugin_parent_class)->dispose (object);
}
static void
finalize (GObject *object)
{
NMVpnPluginOld *plugin = NM_VPN_PLUGIN_OLD (object);
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePlugin *plugin = NM_VPN_SERVICE_PLUGIN (object);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
nm_vpn_plugin_old_set_connection (plugin, NULL);
nm_vpn_service_plugin_set_connection (plugin, NULL);
g_free (priv->dbus_service_name);
g_clear_pointer (&priv->banner, g_variant_unref);
@ -1042,13 +1039,13 @@ finalize (GObject *object)
g_clear_pointer (&priv->gateway, g_variant_unref);
g_clear_pointer (&priv->mtu, g_variant_unref);
G_OBJECT_CLASS (nm_vpn_plugin_old_parent_class)->finalize (object);
G_OBJECT_CLASS (nm_vpn_service_plugin_parent_class)->finalize (object);
}
static void
state_changed (NMVpnPluginOld *plugin, NMVpnServiceState state)
state_changed (NMVpnServicePlugin *plugin, NMVpnServiceState state)
{
NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin);
NMVpnServicePluginPrivate *priv = NM_VPN_SERVICE_PLUGIN_GET_PRIVATE (plugin);
switch (state) {
case NM_VPN_SERVICE_STATE_STARTING:
@ -1068,11 +1065,11 @@ state_changed (NMVpnPluginOld *plugin, NMVpnServiceState state)
}
static void
nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
nm_vpn_service_plugin_class_init (NMVpnServicePluginClass *plugin_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (plugin_class);
g_type_class_add_private (object_class, sizeof (NMVpnPluginOldPrivate));
g_type_class_add_private (object_class, sizeof (NMVpnServicePluginPrivate));
/* virtual methods */
object_class->set_property = set_property;
@ -1085,26 +1082,26 @@ nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
/* properties */
/**
* NMVpnPluginOld:service-name:
* NMVpnServicePlugin:service-name:
*
* The D-Bus service name of this plugin.
*/
g_object_class_install_property
(object_class, PROP_DBUS_SERVICE_NAME,
g_param_spec_string (NM_VPN_PLUGIN_OLD_DBUS_SERVICE_NAME, "", "",
g_param_spec_string (NM_VPN_SERVICE_PLUGIN_DBUS_SERVICE_NAME, "", "",
NULL,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS));
/**
* NMVpnPluginOld:state:
* NMVpnServicePlugin:state:
*
* The state of the plugin.
*/
g_object_class_install_property
(object_class, PROP_STATE,
g_param_spec_enum (NM_VPN_PLUGIN_OLD_STATE, "", "",
g_param_spec_enum (NM_VPN_SERVICE_PLUGIN_STATE, "", "",
NM_TYPE_VPN_SERVICE_STATE,
NM_VPN_SERVICE_STATE_INIT,
G_PARAM_READWRITE |
@ -1115,7 +1112,7 @@ nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
g_signal_new ("state-changed",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (NMVpnPluginOldClass, state_changed),
G_STRUCT_OFFSET (NMVpnServicePluginClass, state_changed),
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
@ -1133,7 +1130,7 @@ nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
g_signal_new ("config",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (NMVpnPluginOldClass, config),
G_STRUCT_OFFSET (NMVpnServicePluginClass, config),
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
@ -1143,7 +1140,7 @@ nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
g_signal_new ("ip4-config",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (NMVpnPluginOldClass, ip4_config),
G_STRUCT_OFFSET (NMVpnServicePluginClass, ip4_config),
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
@ -1153,7 +1150,7 @@ nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
g_signal_new ("ip6-config",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (NMVpnPluginOldClass, ip6_config),
G_STRUCT_OFFSET (NMVpnServicePluginClass, ip6_config),
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
@ -1163,7 +1160,7 @@ nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
g_signal_new ("login-banner",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (NMVpnPluginOldClass, login_banner),
G_STRUCT_OFFSET (NMVpnServicePluginClass, login_banner),
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
@ -1173,7 +1170,7 @@ nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
g_signal_new ("failure",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (NMVpnPluginOldClass, failure),
G_STRUCT_OFFSET (NMVpnServicePluginClass, failure),
NULL, NULL,
NULL,
G_TYPE_NONE, 1,
@ -1183,7 +1180,7 @@ nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
g_signal_new ("quit",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (NMVpnPluginOldClass, quit),
G_STRUCT_OFFSET (NMVpnServicePluginClass, quit),
NULL, NULL,
NULL,
G_TYPE_NONE, 0,
@ -1193,7 +1190,7 @@ nm_vpn_plugin_old_class_init (NMVpnPluginOldClass *plugin_class)
}
static void
nm_vpn_plugin_old_initable_iface_init (GInitableIface *iface)
nm_vpn_service_plugin_initable_iface_init (GInitableIface *iface)
{
iface->init = init_sync;
}

View file

@ -16,11 +16,11 @@
* Boston, MA 02110-1301 USA.
*
* Copyright 2007 - 2008 Novell, Inc.
* Copyright 2007 - 2013 Red Hat, Inc.
* Copyright 2007 - 2015 Red Hat, Inc.
*/
#ifndef __NM_VPN_PLUGIN_OLD_H__
#define __NM_VPN_PLUGIN_OLD_H__
#ifndef __NM_VPN_SERVICE_PLUGIN_H__
#define __NM_VPN_SERVICE_PLUGIN_H__
#include <gio/gio.h>
#include <nm-vpn-dbus-interface.h>
@ -28,109 +28,109 @@
G_BEGIN_DECLS
#define NM_TYPE_VPN_PLUGIN_OLD (nm_vpn_plugin_old_get_type ())
#define NM_VPN_PLUGIN_OLD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_PLUGIN_OLD, NMVpnPluginOld))
#define NM_VPN_PLUGIN_OLD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_VPN_PLUGIN_OLD, NMVpnPluginOldClass))
#define NM_IS_VPN_PLUGIN_OLD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_VPN_PLUGIN_OLD))
#define NM_IS_VPN_PLUGIN_OLD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_VPN_PLUGIN_OLD))
#define NM_VPN_PLUGIN_OLD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_VPN_PLUGIN_OLD, NMVpnPluginOldClass))
#define NM_TYPE_VPN_SERVICE_PLUGIN (nm_vpn_service_plugin_get_type ())
#define NM_VPN_SERVICE_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_SERVICE_PLUGIN, NMVpnServicePlugin))
#define NM_VPN_SERVICE_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_VPN_SERVICE_PLUGIN, NMVpnServicePluginClass))
#define NM_IS_VPN_SERVICE_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_VPN_SERVICE_PLUGIN))
#define NM_IS_VPN_SERVICE_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_VPN_SERVICE_PLUGIN))
#define NM_VPN_SERVICE_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_VPN_SERVICE_PLUGIN, NMVpnServicePluginClass))
#define NM_VPN_PLUGIN_OLD_DBUS_SERVICE_NAME "service-name"
#define NM_VPN_PLUGIN_OLD_STATE "state"
#define NM_VPN_SERVICE_PLUGIN_DBUS_SERVICE_NAME "service-name"
#define NM_VPN_SERVICE_PLUGIN_STATE "state"
typedef struct {
GObject parent;
} NMVpnPluginOld;
} NMVpnServicePlugin;
typedef struct {
GObjectClass parent;
/* Signals */
void (*state_changed) (NMVpnPluginOld *plugin,
void (*state_changed) (NMVpnServicePlugin *plugin,
NMVpnServiceState state);
void (*ip4_config) (NMVpnPluginOld *plugin,
void (*ip4_config) (NMVpnServicePlugin *plugin,
GVariant *ip4_config);
void (*login_banner) (NMVpnPluginOld *plugin,
void (*login_banner) (NMVpnServicePlugin *plugin,
const char *banner);
void (*failure) (NMVpnPluginOld *plugin,
void (*failure) (NMVpnServicePlugin *plugin,
NMVpnPluginFailure reason);
void (*quit) (NMVpnPluginOld *plugin);
void (*quit) (NMVpnServicePlugin *plugin);
void (*config) (NMVpnPluginOld *plugin,
void (*config) (NMVpnServicePlugin *plugin,
GVariant *config);
void (*ip6_config) (NMVpnPluginOld *plugin,
void (*ip6_config) (NMVpnServicePlugin *plugin,
GVariant *config);
/* virtual methods */
gboolean (*connect) (NMVpnPluginOld *plugin,
gboolean (*connect) (NMVpnServicePlugin *plugin,
NMConnection *connection,
GError **err);
gboolean (*need_secrets) (NMVpnPluginOld *plugin,
gboolean (*need_secrets) (NMVpnServicePlugin *plugin,
NMConnection *connection,
const char **setting_name,
GError **error);
gboolean (*disconnect) (NMVpnPluginOld *plugin,
gboolean (*disconnect) (NMVpnServicePlugin *plugin,
GError **err);
gboolean (*new_secrets) (NMVpnPluginOld *plugin,
gboolean (*new_secrets) (NMVpnServicePlugin *plugin,
NMConnection *connection,
GError **error);
gboolean (*connect_interactive) (NMVpnPluginOld *plugin,
gboolean (*connect_interactive) (NMVpnServicePlugin *plugin,
NMConnection *connection,
GVariant *details,
GError **error);
/*< private >*/
gpointer padding[8];
} NMVpnPluginOldClass;
} NMVpnServicePluginClass;
GType nm_vpn_plugin_old_get_type (void);
GType nm_vpn_service_plugin_get_type (void);
GDBusConnection *nm_vpn_plugin_old_get_connection (NMVpnPluginOld *plugin);
NMVpnServiceState nm_vpn_plugin_old_get_state (NMVpnPluginOld *plugin);
void nm_vpn_plugin_old_set_state (NMVpnPluginOld *plugin,
NMVpnServiceState state);
GDBusConnection *nm_vpn_service_plugin_get_connection (NMVpnServicePlugin *plugin);
NMVpnServiceState nm_vpn_service_plugin_get_state (NMVpnServicePlugin *plugin);
void nm_vpn_service_plugin_set_state (NMVpnServicePlugin *plugin,
NMVpnServiceState state);
void nm_vpn_plugin_old_secrets_required (NMVpnPluginOld *plugin,
const char *message,
const char **hints);
void nm_vpn_service_plugin_secrets_required (NMVpnServicePlugin *plugin,
const char *message,
const char **hints);
void nm_vpn_plugin_old_set_login_banner (NMVpnPluginOld *plugin,
const char *banner);
void nm_vpn_service_plugin_set_login_banner (NMVpnServicePlugin *plugin,
const char *banner);
void nm_vpn_plugin_old_failure (NMVpnPluginOld *plugin,
NMVpnPluginFailure reason);
void nm_vpn_service_plugin_failure (NMVpnServicePlugin *plugin,
NMVpnPluginFailure reason);
void nm_vpn_plugin_old_set_config (NMVpnPluginOld *plugin,
GVariant *config);
void nm_vpn_service_plugin_set_config (NMVpnServicePlugin *plugin,
GVariant *config);
void nm_vpn_plugin_old_set_ip4_config (NMVpnPluginOld *plugin,
GVariant *ip4_config);
void nm_vpn_service_plugin_set_ip4_config (NMVpnServicePlugin *plugin,
GVariant *ip4_config);
void nm_vpn_plugin_old_set_ip6_config (NMVpnPluginOld *plugin,
GVariant *ip6_config);
void nm_vpn_service_plugin_set_ip6_config (NMVpnServicePlugin *plugin,
GVariant *ip6_config);
gboolean nm_vpn_plugin_old_disconnect (NMVpnPluginOld *plugin,
GError **err);
gboolean nm_vpn_service_plugin_disconnect (NMVpnServicePlugin *plugin,
GError **err);
/* Utility functions */
gboolean nm_vpn_plugin_old_read_vpn_details (int fd,
GHashTable **out_data,
GHashTable **out_secrets);
gboolean nm_vpn_service_plugin_read_vpn_details (int fd,
GHashTable **out_data,
GHashTable **out_secrets);
gboolean nm_vpn_plugin_old_get_secret_flags (GHashTable *data,
const char *secret_name,
NMSettingSecretFlags *out_flags);
gboolean nm_vpn_service_plugin_get_secret_flags (GHashTable *data,
const char *secret_name,
NMSettingSecretFlags *out_flags);
G_END_DECLS
#endif /* __NM_VPN_PLUGIN_OLD_H__ */
#endif /* __NM_VPN_SERVICE_PLUGIN_H__ */

View file

@ -129,6 +129,7 @@ libnm/nm-object.c
libnm/nm-remote-connection.c
libnm/nm-remote-settings.c
libnm/nm-vpn-plugin-old.c
libnm/nm-vpn-service-plugin.c
policy/org.freedesktop.NetworkManager.policy.in.in
src/NetworkManagerUtils.c
src/main.c