mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-10-14 20:18:39 +00:00
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:
parent
87f631f2f1
commit
867227dd4a
|
@ -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.
|
||||
|
|
|
@ -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 = \
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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__ */
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue