[network-manager-pptp/th/vpn-editor-split-bgo766623: 17/21] properties: split "nm-pptp-editor-plugin.c" out of "nm-pptp.c"



commit 2d54ebba832638b91fa4828a3208145049a719c3
Author: Thomas Haller <thaller redhat com>
Date:   Wed May 18 18:56:48 2016 +0200

    properties: split "nm-pptp-editor-plugin.c" out of "nm-pptp.c"

 po/POTFILES.in                     |    1 +
 properties/Makefile.am             |   22 +++--
 properties/nm-pptp-editor-plugin.c |  205 ++++++++++++++++++++++++++++++++++++
 properties/nm-pptp-editor-plugin.h |   45 ++++++++
 properties/nm-pptp.c               |  200 ++---------------------------------
 properties/nm-pptp.h               |   25 +----
 6 files changed, 277 insertions(+), 221 deletions(-)
---
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e6f0f6f..9e5f428 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -3,6 +3,7 @@
 appdata/network-manager-pptp.metainfo.xml.in
 auth-dialog/main.c
 properties/advanced-dialog.c
+properties/nm-pptp-editor-plugin.c
 properties/nm-pptp.c
 shared/nm-utils/nm-shared-utils.c
 shared/nm-vpn/nm-vpn-plugin-utils.c
diff --git a/properties/Makefile.am b/properties/Makefile.am
index e610d6b..4ae94dd 100644
--- a/properties/Makefile.am
+++ b/properties/Makefile.am
@@ -7,13 +7,17 @@ endif
 AM_CPPFLAGS = -I${top_srcdir}
 
 plugin_sources = \
-    nm-pptp.c \
-    nm-pptp.h \
-    advanced-dialog.c \
-    advanced-dialog.h \
+    nm-pptp-editor-plugin.c \
+    nm-pptp-editor-plugin.h \
     import-export.c \
     import-export.h
 
+editor_sources = \
+    advanced-dialog.c \
+    advanced-dialog.h \
+    nm-pptp.c \
+    nm-pptp.h
+
 uidir = $(datadir)/gnome-vpn-properties/pptp
 ui_DATA = nm-pptp-dialog.ui
 
@@ -28,7 +32,8 @@ common_CFLAGS = \
 ###############################################################################
 
 libnm_vpn_plugin_pptp_la_SOURCES = \
-    $(plugin_sources)
+    $(plugin_sources) \
+    $(editor_sources)
 
 libnm_vpn_plugin_pptp_la_CFLAGS = \
     -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIB \
@@ -48,7 +53,8 @@ libnm_vpn_plugin_pptp_la_LDFLAGS = \
 ###############################################################################
 
 libnm_pptp_properties_la_SOURCES = \
-    $(plugin_sources)
+    $(plugin_sources) \
+    $(editor_sources)
 
 libnm_pptp_properties_la_CFLAGS = \
     -DNM_VPN_OLD \
@@ -71,6 +77,6 @@ libnm_pptp_properties_la_LDFLAGS = \
 CLEANFILES = *.bak *~
 
 EXTRA_DIST = \
-    $(ui_DATA) \
     libnm-pptp-properties.ver \
-    libnm-vpn-plugin-pptp.ver
+    libnm-vpn-plugin-pptp.ver \
+    nm-pptp-dialog.ui
diff --git a/properties/nm-pptp-editor-plugin.c b/properties/nm-pptp-editor-plugin.c
new file mode 100644
index 0000000..8f39a44
--- /dev/null
+++ b/properties/nm-pptp-editor-plugin.c
@@ -0,0 +1,205 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+/***************************************************************************
+ *
+ * Copyright (C) 2008 Dan Williams, <dcbw redhat com>
+ * Copyright (C) 2008 - 2011 Red Hat, Inc.
+ * Based on work by David Zeuthen, <davidz redhat com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ **************************************************************************/
+
+#include "nm-default.h"
+
+#include "nm-pptp-editor-plugin.h"
+
+#include "nm-pptp.h"
+#include "import-export.h"
+
+#define PPTP_PLUGIN_NAME    _("Point-to-Point Tunneling Protocol (PPTP)")
+#define PPTP_PLUGIN_DESC    _("Compatible with Microsoft and other PPTP VPN servers.")
+
+/*****************************************************************************/
+
+static void pptp_plugin_ui_interface_init (NMVpnEditorPluginInterface *iface_class);
+
+G_DEFINE_TYPE_EXTENDED (PptpPluginUi, pptp_plugin_ui, G_TYPE_OBJECT, 0,
+                        G_IMPLEMENT_INTERFACE (NM_TYPE_VPN_EDITOR_PLUGIN,
+                                               pptp_plugin_ui_interface_init))
+
+enum {
+       PROP_0,
+       PROP_NAME,
+       PROP_DESC,
+       PROP_SERVICE,
+
+       LAST_PROP
+};
+
+/*****************************************************************************/
+
+static NMConnection *
+import (NMVpnEditorPlugin *iface, const char *path, GError **error)
+{
+       NMConnection *connection = NULL;
+       char *contents = NULL;
+       char **lines = NULL;
+       char *ext;
+
+       ext = strrchr (path, '.');
+       if (!ext) {
+               g_set_error (error,
+                            NMV_EDITOR_PLUGIN_ERROR,
+                            NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_VPN,
+                            "unknown PPTP file extension");
+               goto out;
+       }
+
+       if (strcmp (ext, ".conf") && strcmp (ext, ".cnf")) {
+               g_set_error (error,
+                            NMV_EDITOR_PLUGIN_ERROR,
+                            NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_VPN,
+                            "unknown PPTP file extension");
+               goto out;
+       }
+
+       if (!g_file_get_contents (path, &contents, NULL, error))
+               return NULL;
+
+       lines = g_strsplit_set (contents, "\r\n", 0);
+       if (g_strv_length (lines) <= 1) {
+               g_set_error (error,
+                            NMV_EDITOR_PLUGIN_ERROR,
+                            NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_READABLE,
+                            "not a valid PPTP configuration file");
+               goto out;
+       }
+
+       connection = do_import (path, lines, error);
+
+out:
+       if (lines)
+               g_strfreev (lines);
+       g_free (contents);
+       return connection;
+}
+
+static gboolean
+export (NMVpnEditorPlugin *iface,
+        const char *path,
+        NMConnection *connection,
+        GError **error)
+{
+       return do_export (path, connection, error);
+}
+
+static char *
+get_suggested_filename (NMVpnEditorPlugin *iface, NMConnection *connection)
+{
+       NMSettingConnection *s_con;
+       const char *id;
+
+       g_return_val_if_fail (connection != NULL, NULL);
+
+       s_con = nm_connection_get_setting_connection (connection);
+       g_return_val_if_fail (s_con != NULL, NULL);
+
+       id = nm_setting_connection_get_id (s_con);
+       g_return_val_if_fail (id != NULL, NULL);
+
+       return g_strdup_printf ("%s (pptp).conf", id);
+}
+
+static NMVpnEditorPluginCapability
+get_capabilities (NMVpnEditorPlugin *iface)
+{
+       return NM_VPN_EDITOR_PLUGIN_CAPABILITY_NONE;
+}
+
+static NMVpnEditor *
+get_editor (NMVpnEditorPlugin *iface, NMConnection *connection, GError **error)
+{
+       return nm_vpn_plugin_ui_widget_interface_new (connection, error);
+}
+
+static void
+get_property (GObject *object, guint prop_id,
+              GValue *value, GParamSpec *pspec)
+{
+       switch (prop_id) {
+       case PROP_NAME:
+               g_value_set_string (value, PPTP_PLUGIN_NAME);
+               break;
+       case PROP_DESC:
+               g_value_set_string (value, PPTP_PLUGIN_DESC);
+               break;
+       case PROP_SERVICE:
+               g_value_set_string (value, NM_DBUS_SERVICE_PPTP);
+               break;
+       default:
+               G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+               break;
+       }
+}
+
+static void
+pptp_plugin_ui_class_init (PptpPluginUiClass *req_class)
+{
+       GObjectClass *object_class = G_OBJECT_CLASS (req_class);
+
+       object_class->get_property = get_property;
+
+       g_object_class_override_property (object_class,
+                                         PROP_NAME,
+                                         NM_VPN_EDITOR_PLUGIN_NAME);
+
+       g_object_class_override_property (object_class,
+                                         PROP_DESC,
+                                         NM_VPN_EDITOR_PLUGIN_DESCRIPTION);
+
+       g_object_class_override_property (object_class,
+                                         PROP_SERVICE,
+                                         NM_VPN_EDITOR_PLUGIN_SERVICE);
+}
+
+static void
+pptp_plugin_ui_init (PptpPluginUi *plugin)
+{
+}
+
+static void
+pptp_plugin_ui_interface_init (NMVpnEditorPluginInterface *iface_class)
+{
+       iface_class->get_editor = get_editor;
+       iface_class->get_capabilities = get_capabilities;
+       iface_class->import_from_file = import;
+       iface_class->export_to_file = export;
+       iface_class->get_suggested_filename = get_suggested_filename;
+}
+
+/*****************************************************************************/
+
+G_MODULE_EXPORT NMVpnEditorPlugin *
+nm_vpn_editor_plugin_factory (GError **error)
+{
+       if (error)
+               g_return_val_if_fail (*error == NULL, NULL);
+
+       bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+       bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+
+       return NM_VPN_EDITOR_PLUGIN (g_object_new (PPTP_TYPE_PLUGIN_UI, NULL));
+}
+
diff --git a/properties/nm-pptp-editor-plugin.h b/properties/nm-pptp-editor-plugin.h
new file mode 100644
index 0000000..6587c03
--- /dev/null
+++ b/properties/nm-pptp-editor-plugin.h
@@ -0,0 +1,45 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+/***************************************************************************
+ * Copyright (C) 2008 Dan Williams, <dcbw redhat com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ **************************************************************************/
+
+#ifndef __NM_PPTP_EDITOR_PLUGIN_H__
+#define __NM_PPTP_EDITOR_PLUGIN_H__
+
+#define PPTP_TYPE_PLUGIN_UI            (pptp_plugin_ui_get_type ())
+#define PPTP_PLUGIN_UI(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PPTP_TYPE_PLUGIN_UI, 
PptpPluginUi))
+#define PPTP_PLUGIN_UI_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PPTP_TYPE_PLUGIN_UI, 
PptpPluginUiClass))
+#define PPTP_IS_PLUGIN_UI(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PPTP_TYPE_PLUGIN_UI))
+#define PPTP_IS_PLUGIN_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PPTP_TYPE_PLUGIN_UI))
+#define PPTP_PLUGIN_UI_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), PPTP_TYPE_PLUGIN_UI, 
PptpPluginUiClass))
+
+typedef struct _PptpPluginUi PptpPluginUi;
+typedef struct _PptpPluginUiClass PptpPluginUiClass;
+
+struct _PptpPluginUi {
+       GObject parent;
+};
+
+struct _PptpPluginUiClass {
+       GObjectClass parent;
+};
+
+GType pptp_plugin_ui_get_type (void);
+
+#endif /* __NM_PPTP_EDITOR_PLUGIN_H__ */
+
diff --git a/properties/nm-pptp.c b/properties/nm-pptp.c
index 506dad4..5f73c80 100644
--- a/properties/nm-pptp.c
+++ b/properties/nm-pptp.c
@@ -1,7 +1,5 @@
 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 /***************************************************************************
- * nm-pptp.c : GNOME UI dialogs for configuring PPTP VPN connections
- *
  * Copyright (C) 2008 Dan Williams, <dcbw redhat com>
  * Copyright (C) 2008 - 2011 Red Hat, Inc.
  * Based on work by David Zeuthen, <davidz redhat com>
@@ -26,31 +24,11 @@
 
 #include "nm-pptp.h"
 
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <glib/gi18n-lib.h>
-#include <string.h>
 #include <gtk/gtk.h>
 
-#include "import-export.h"
 #include "advanced-dialog.h"
 
-#define PPTP_PLUGIN_NAME    _("Point-to-Point Tunneling Protocol (PPTP)")
-#define PPTP_PLUGIN_DESC    _("Compatible with Microsoft and other PPTP VPN servers.")
-
-typedef void (*ChangedCallback) (GtkWidget *widget, gpointer user_data);
-
-/************** plugin class **************/
-
-static void pptp_plugin_ui_interface_init (NMVpnEditorPluginInterface *iface_class);
-
-G_DEFINE_TYPE_EXTENDED (PptpPluginUi, pptp_plugin_ui, G_TYPE_OBJECT, 0,
-                        G_IMPLEMENT_INTERFACE (NM_TYPE_VPN_EDITOR_PLUGIN,
-                                               pptp_plugin_ui_interface_init))
-
-/************** UI widget class **************/
+/*****************************************************************************/
 
 static void pptp_plugin_ui_widget_interface_init (NMVpnEditorInterface *iface_class);
 
@@ -70,14 +48,7 @@ typedef struct {
        gboolean new_connection;
 } PptpPluginUiWidgetPrivate;
 
-enum {
-       PROP_0,
-       PROP_NAME,
-       PROP_DESC,
-       PROP_SERVICE,
-
-       LAST_PROP
-};
+/*****************************************************************************/
 
 static gboolean
 check_validity (PptpPluginUiWidget *self, GError **error)
@@ -425,7 +396,14 @@ is_new_func (const char *key, const char *value, gpointer user_data)
        *is_new = FALSE;
 }
 
-static NMVpnEditor *
+/*****************************************************************************/
+
+static void
+pptp_plugin_ui_widget_init (PptpPluginUiWidget *plugin)
+{
+}
+
+NMVpnEditor *
 nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error)
 {
        NMVpnEditor *object;
@@ -532,167 +510,9 @@ pptp_plugin_ui_widget_class_init (PptpPluginUiWidgetClass *req_class)
 }
 
 static void
-pptp_plugin_ui_widget_init (PptpPluginUiWidget *plugin)
-{
-}
-
-static void
 pptp_plugin_ui_widget_interface_init (NMVpnEditorInterface *iface_class)
 {
-       /* interface implementation */
        iface_class->get_widget = get_widget;
        iface_class->update_connection = update_connection;
 }
 
-static NMConnection *
-import (NMVpnEditorPlugin *iface, const char *path, GError **error)
-{
-       NMConnection *connection = NULL;
-       char *contents = NULL;
-       char **lines = NULL;
-       char *ext;
-
-       ext = strrchr (path, '.');
-       if (!ext) {
-               g_set_error (error,
-                            NMV_EDITOR_PLUGIN_ERROR,
-                            NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_VPN,
-                            "unknown PPTP file extension");
-               goto out;
-       }
-
-       if (strcmp (ext, ".conf") && strcmp (ext, ".cnf")) {
-               g_set_error (error,
-                            NMV_EDITOR_PLUGIN_ERROR,
-                            NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_VPN,
-                            "unknown PPTP file extension");
-               goto out;
-       }
-
-       if (!g_file_get_contents (path, &contents, NULL, error))
-               return NULL;
-
-       lines = g_strsplit_set (contents, "\r\n", 0);
-       if (g_strv_length (lines) <= 1) {
-               g_set_error (error,
-                            NMV_EDITOR_PLUGIN_ERROR,
-                            NMV_EDITOR_PLUGIN_ERROR_FILE_NOT_READABLE,
-                            "not a valid PPTP configuration file");
-               goto out;
-       }
-
-       connection = do_import (path, lines, error);
-
-out:
-       if (lines)
-               g_strfreev (lines);
-       g_free (contents);
-       return connection;
-}
-
-static gboolean
-export (NMVpnEditorPlugin *iface,
-        const char *path,
-        NMConnection *connection,
-        GError **error)
-{
-       return do_export (path, connection, error);
-}
-
-static char *
-get_suggested_filename (NMVpnEditorPlugin *iface, NMConnection *connection)
-{
-       NMSettingConnection *s_con;
-       const char *id;
-
-       g_return_val_if_fail (connection != NULL, NULL);
-
-       s_con = nm_connection_get_setting_connection (connection);
-       g_return_val_if_fail (s_con != NULL, NULL);
-
-       id = nm_setting_connection_get_id (s_con);
-       g_return_val_if_fail (id != NULL, NULL);
-
-       return g_strdup_printf ("%s (pptp).conf", id);
-}
-
-static NMVpnEditorPluginCapability
-get_capabilities (NMVpnEditorPlugin *iface)
-{
-       return NM_VPN_EDITOR_PLUGIN_CAPABILITY_NONE;
-}
-
-static NMVpnEditor *
-get_editor (NMVpnEditorPlugin *iface, NMConnection *connection, GError **error)
-{
-       return nm_vpn_plugin_ui_widget_interface_new (connection, error);
-}
-
-static void
-get_property (GObject *object, guint prop_id,
-                         GValue *value, GParamSpec *pspec)
-{
-       switch (prop_id) {
-       case PROP_NAME:
-               g_value_set_string (value, PPTP_PLUGIN_NAME);
-               break;
-       case PROP_DESC:
-               g_value_set_string (value, PPTP_PLUGIN_DESC);
-               break;
-       case PROP_SERVICE:
-               g_value_set_string (value, NM_DBUS_SERVICE_PPTP);
-               break;
-       default:
-               G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-               break;
-       }
-}
-
-static void
-pptp_plugin_ui_class_init (PptpPluginUiClass *req_class)
-{
-       GObjectClass *object_class = G_OBJECT_CLASS (req_class);
-
-       object_class->get_property = get_property;
-
-       g_object_class_override_property (object_class,
-                                         PROP_NAME,
-                                         NM_VPN_EDITOR_PLUGIN_NAME);
-
-       g_object_class_override_property (object_class,
-                                         PROP_DESC,
-                                         NM_VPN_EDITOR_PLUGIN_DESCRIPTION);
-
-       g_object_class_override_property (object_class,
-                                         PROP_SERVICE,
-                                         NM_VPN_EDITOR_PLUGIN_SERVICE);
-}
-
-static void
-pptp_plugin_ui_init (PptpPluginUi *plugin)
-{
-}
-
-static void
-pptp_plugin_ui_interface_init (NMVpnEditorPluginInterface *iface_class)
-{
-       /* interface implementation */
-       iface_class->get_editor = get_editor;
-       iface_class->get_capabilities = get_capabilities;
-       iface_class->import_from_file = import;
-       iface_class->export_to_file = export;
-       iface_class->get_suggested_filename = get_suggested_filename;
-}
-
-G_MODULE_EXPORT NMVpnEditorPlugin *
-nm_vpn_editor_plugin_factory (GError **error)
-{
-       if (error)
-               g_return_val_if_fail (*error == NULL, NULL);
-
-       bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
-       bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-
-       return NM_VPN_EDITOR_PLUGIN (g_object_new (PPTP_TYPE_PLUGIN_UI, NULL));
-}
-
diff --git a/properties/nm-pptp.h b/properties/nm-pptp.h
index bf3c8c6..3a8ee81 100644
--- a/properties/nm-pptp.h
+++ b/properties/nm-pptp.h
@@ -1,7 +1,5 @@
 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 /***************************************************************************
- * nm-pptp.h : GNOME UI dialogs for configuring pptp VPN connections
- *
  * Copyright (C) 2008 Dan Williams, <dcbw redhat com>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -23,27 +21,6 @@
 #ifndef _NM_PPTP_H_
 #define _NM_PPTP_H_
 
-#define PPTP_TYPE_PLUGIN_UI            (pptp_plugin_ui_get_type ())
-#define PPTP_PLUGIN_UI(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), PPTP_TYPE_PLUGIN_UI, 
PptpPluginUi))
-#define PPTP_PLUGIN_UI_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PPTP_TYPE_PLUGIN_UI, 
PptpPluginUiClass))
-#define PPTP_IS_PLUGIN_UI(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PPTP_TYPE_PLUGIN_UI))
-#define PPTP_IS_PLUGIN_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PPTP_TYPE_PLUGIN_UI))
-#define PPTP_PLUGIN_UI_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), PPTP_TYPE_PLUGIN_UI, 
PptpPluginUiClass))
-
-typedef struct _PptpPluginUi PptpPluginUi;
-typedef struct _PptpPluginUiClass PptpPluginUiClass;
-
-struct _PptpPluginUi {
-       GObject parent;
-};
-
-struct _PptpPluginUiClass {
-       GObjectClass parent;
-};
-
-GType pptp_plugin_ui_get_type (void);
-
-
 #define PPTP_TYPE_PLUGIN_UI_WIDGET            (pptp_plugin_ui_widget_get_type ())
 #define PPTP_PLUGIN_UI_WIDGET(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), 
PPTP_TYPE_PLUGIN_UI_WIDGET, PptpPluginUiWidget))
 #define PPTP_PLUGIN_UI_WIDGET_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), PPTP_TYPE_PLUGIN_UI_WIDGET, 
PptpPluginUiWidgetClass))
@@ -64,5 +41,7 @@ struct _PptpPluginUiWidgetClass {
 
 GType pptp_plugin_ui_widget_get_type (void);
 
+NMVpnEditor *nm_vpn_plugin_ui_widget_interface_new (NMConnection *connection, GError **error);
+
 #endif /* _NM_PPTP_H_ */
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]