diff options
author | Thomas Haller <thaller@redhat.com> | 2016-06-16 10:52:00 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-06-16 10:52:00 +0200 |
commit | 6dd2b316b5d03b28d2dd792dc4fa25a695b26d4f (patch) | |
tree | e8a904807c5c7be7a2afc2179e99dfd7c6c0ebae | |
parent | b6b84d0442809d1b127c4bb36f09445ece2ac262 (diff) | |
parent | 2c02f3a8cfe3616a1469ac9949833deecfea4698 (diff) | |
download | NetworkManager-6dd2b316b5d03b28d2dd792dc4fa25a695b26d4f.tar.gz |
shared: merge branch 'th/shared-bgo767697'
https://bugzilla.gnome.org/show_bug.cgi?id=767697
35 files changed, 238 insertions, 37 deletions
diff --git a/callouts/tests/test-dispatcher-envp.c b/callouts/tests/test-dispatcher-envp.c index 9cdaa3b5c6..83e84d7472 100644 --- a/callouts/tests/test-dispatcher-envp.c +++ b/callouts/tests/test-dispatcher-envp.c @@ -28,7 +28,7 @@ #include "nm-dispatcher-utils.h" #include "nm-dispatcher-api.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" /*******************************************/ diff --git a/libnm-core/Makefile.libnm-core b/libnm-core/Makefile.libnm-core index 0038ce23d6..52c71da5b7 100644 --- a/libnm-core/Makefile.libnm-core +++ b/libnm-core/Makefile.libnm-core @@ -52,7 +52,7 @@ libnm_core_headers = \ $(core)/nm-vpn-plugin-info.h libnm_core_private_headers = \ - $(top_builddir)/shared/nm-shared-utils.h \ + $(top_builddir)/shared/nm-utils/nm-shared-utils.h \ $(core)/crypto.h \ $(core)/nm-connection-private.h \ $(core)/nm-core-internal.h \ @@ -64,7 +64,7 @@ libnm_core_private_headers = \ $(core)/nm-utils-private.h libnm_core_sources = \ - $(top_builddir)/shared/nm-shared-utils.c \ + $(top_builddir)/shared/nm-utils/nm-shared-utils.c \ $(core_build)/nm-core-enum-types.c \ $(core)/crypto.c \ $(core)/nm-connection.c \ diff --git a/libnm-core/tests/test-compare.c b/libnm-core/tests/test-compare.c index dca5c7d3d1..7f2ba98095 100644 --- a/libnm-core/tests/test-compare.c +++ b/libnm-core/tests/test-compare.c @@ -26,7 +26,7 @@ #include "nm-property-compare.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" static void compare_ints (void) diff --git a/libnm-core/tests/test-crypto.c b/libnm-core/tests/test-crypto.c index bd87c710ca..9bab985f72 100644 --- a/libnm-core/tests/test-crypto.c +++ b/libnm-core/tests/test-crypto.c @@ -33,7 +33,7 @@ #include "nm-errors.h" #include "nm-core-internal.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" #if 0 static const char *pem_rsa_key_begin = "-----BEGIN RSA PRIVATE KEY-----"; diff --git a/libnm-core/tests/test-general.c b/libnm-core/tests/test-general.c index 39e9c1aff3..9aaf82977d 100644 --- a/libnm-core/tests/test-general.c +++ b/libnm-core/tests/test-general.c @@ -62,7 +62,7 @@ #include "test-general-enums.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" /* When passing a "bool" typed argument to a variadic function that * expects a gboolean, the compiler will promote the integer type diff --git a/libnm-core/tests/test-keyfile.c b/libnm-core/tests/test-keyfile.c index 92b6c1f56c..ecb7cd5a67 100644 --- a/libnm-core/tests/test-keyfile.c +++ b/libnm-core/tests/test-keyfile.c @@ -28,7 +28,7 @@ #include "nm-setting-wired.h" #include "nm-setting-8021x.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" #define TEST_WIRED_TLS_CA_CERT TEST_CERT_DIR"/test-ca-cert.pem" diff --git a/libnm-core/tests/test-secrets.c b/libnm-core/tests/test-secrets.c index 7b37d09e92..0149348dbe 100644 --- a/libnm-core/tests/test-secrets.c +++ b/libnm-core/tests/test-secrets.c @@ -38,7 +38,7 @@ #include "nm-utils.h" #include "nm-core-internal.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" #define TEST_NEED_SECRETS_EAP_TLS_CA_CERT TEST_CERT_DIR "/test_ca_cert.pem" #define TEST_NEED_SECRETS_EAP_TLS_CLIENT_CERT TEST_CERT_DIR "/test_key_and_cert.pem" diff --git a/libnm-core/tests/test-setting-8021x.c b/libnm-core/tests/test-setting-8021x.c index 56563a6fb6..268a9f52d9 100644 --- a/libnm-core/tests/test-setting-8021x.c +++ b/libnm-core/tests/test-setting-8021x.c @@ -27,7 +27,7 @@ #include "nm-setting-connection.h" #include "nm-setting-8021x.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" static void compare_blob_data (const char *test, diff --git a/libnm-core/tests/test-setting-bond.c b/libnm-core/tests/test-setting-bond.c index a6afa1c865..91a8199719 100644 --- a/libnm-core/tests/test-setting-bond.c +++ b/libnm-core/tests/test-setting-bond.c @@ -26,7 +26,7 @@ #include "nm-setting-connection.h" #include "nm-errors.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" static void create_bond_connection (NMConnection **con, NMSettingBond **s_bond) diff --git a/libnm-core/tests/test-setting-dcb.c b/libnm-core/tests/test-setting-dcb.c index 09cf8d9837..55c1c5162c 100644 --- a/libnm-core/tests/test-setting-dcb.c +++ b/libnm-core/tests/test-setting-dcb.c @@ -28,7 +28,7 @@ #include "nm-connection.h" #include "nm-errors.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" #define DCB_FLAGS_ALL (NM_SETTING_DCB_FLAG_ENABLE | \ NM_SETTING_DCB_FLAG_ADVERTISE | \ diff --git a/libnm-core/tests/test-settings-defaults.c b/libnm-core/tests/test-settings-defaults.c index 366910ac2a..95570b0380 100644 --- a/libnm-core/tests/test-settings-defaults.c +++ b/libnm-core/tests/test-settings-defaults.c @@ -38,7 +38,7 @@ #include "nm-setting-wireless.h" #include "nm-setting-wireless-security.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" static void test_defaults (GType type, const char *name) diff --git a/libnm-util/Makefile.am b/libnm-util/Makefile.am index 0d5a0d46c1..466e475f23 100644 --- a/libnm-util/Makefile.am +++ b/libnm-util/Makefile.am @@ -62,7 +62,7 @@ nodist_libnm_util_include_HEADERS = \ nm-utils-enum-types.h libnm_util_la_private_headers = \ - $(top_builddir)/shared/nm-shared-utils.h \ + $(top_builddir)/shared/nm-utils/nm-shared-utils.h \ crypto.h \ nm-dbus-glib-types.h \ nm-gvaluearray-compat.h \ @@ -71,7 +71,7 @@ libnm_util_la_private_headers = \ nm-utils-private.h libnm_util_la_csources = \ - $(top_builddir)/shared/nm-shared-utils.c \ + $(top_builddir)/shared/nm-utils/nm-shared-utils.c \ crypto.c \ nm-connection.c \ nm-param-spec-specialized.c \ diff --git a/libnm-util/tests/test-crypto.c b/libnm-util/tests/test-crypto.c index a1c7648fce..643418d2fb 100644 --- a/libnm-util/tests/test-crypto.c +++ b/libnm-util/tests/test-crypto.c @@ -31,7 +31,7 @@ #include "crypto.h" #include "nm-utils.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" #if 0 static const char *pem_rsa_key_begin = "-----BEGIN RSA PRIVATE KEY-----"; diff --git a/libnm-util/tests/test-general.c b/libnm-util/tests/test-general.c index 10fed337f3..8373ae1197 100644 --- a/libnm-util/tests/test-general.c +++ b/libnm-util/tests/test-general.c @@ -47,7 +47,7 @@ #include "nm-utils.h" #include "nm-dbus-glib-types.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" static void vpn_check_func (const char *key, const char *value, gpointer user_data) diff --git a/libnm-util/tests/test-secrets.c b/libnm-util/tests/test-secrets.c index 0d451788e5..2631509cf3 100644 --- a/libnm-util/tests/test-secrets.c +++ b/libnm-util/tests/test-secrets.c @@ -37,7 +37,7 @@ #include "nm-setting-pppoe.h" #include "nm-setting-vpn.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" #define TEST_NEED_SECRETS_EAP_TLS_CA_CERT TEST_CERT_DIR "/test_ca_cert.pem" #define TEST_NEED_SECRETS_EAP_TLS_CLIENT_CERT TEST_CERT_DIR "/test_key_and_cert.pem" diff --git a/libnm-util/tests/test-setting-8021x.c b/libnm-util/tests/test-setting-8021x.c index e5bddf4cd9..a0219639c5 100644 --- a/libnm-util/tests/test-setting-8021x.c +++ b/libnm-util/tests/test-setting-8021x.c @@ -27,7 +27,7 @@ #include "nm-setting-connection.h" #include "nm-setting-8021x.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" static void compare_blob_data (const char *test, diff --git a/libnm-util/tests/test-setting-dcb.c b/libnm-util/tests/test-setting-dcb.c index fb44278b6c..ee0c997fb1 100644 --- a/libnm-util/tests/test-setting-dcb.c +++ b/libnm-util/tests/test-setting-dcb.c @@ -27,7 +27,7 @@ #include "nm-default.h" #include "nm-setting-dcb.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" #define DCB_FLAGS_ALL (NM_SETTING_DCB_FLAG_ENABLE | \ NM_SETTING_DCB_FLAG_ADVERTISE | \ diff --git a/libnm-util/tests/test-settings-defaults.c b/libnm-util/tests/test-settings-defaults.c index 95ff070955..0bd4feee58 100644 --- a/libnm-util/tests/test-settings-defaults.c +++ b/libnm-util/tests/test-settings-defaults.c @@ -38,7 +38,7 @@ #include "nm-setting-wireless.h" #include "nm-setting-wireless-security.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" static void test_defaults (GType type, const char *name) diff --git a/libnm/nm-vpn-service-plugin.c b/libnm/nm-vpn-service-plugin.c index df99eb28d9..6431629669 100644 --- a/libnm/nm-vpn-service-plugin.c +++ b/libnm/nm-vpn-service-plugin.c @@ -1312,5 +1312,5 @@ nm_vpn_service_plugin_initable_iface_init (GInitableIface *iface) /* this header is intended to be copied to users of nm_vpn_editor_plugin_call(), * to simplify invocation of generic functions. Include it here, to complile * the code. */ -#include "nm-vpn-editor-plugin-call.h" +#include "nm-utils/nm-vpn-editor-plugin-call.h" diff --git a/libnm/tests/Makefile.am b/libnm/tests/Makefile.am index d2944c4cad..1c65f72340 100644 --- a/libnm/tests/Makefile.am +++ b/libnm/tests/Makefile.am @@ -39,3 +39,27 @@ test_secret_agent_SOURCES = \ $(top_builddir)/shared/nm-test-libnm-utils.h \ test-secret-agent.c endif + +############################################################################### + +noinst_LTLIBRARIES = \ + libnm-vpn-plugin-utils-test.la + +libnm_vpn_plugin_utils_test_la_SOURCES = \ + $(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.c \ + $(top_srcdir)/shared/nm-utils/nm-vpn-plugin-utils.h \ + $(NULL) + +libnm_vpn_plugin_utils_test_la_CFLAGS = \ + $(GLIB_CFLAGS) \ + -I$(top_srcdir)/shared \ + -I$(top_srcdir)/libnm-core \ + -I$(top_srcdir)/libnm \ + $(NULL) + +libnm_vpn_plugin_utils_test_la_LIBADD = \ + $(GLIB_LIBS) \ + $(NULL) + +############################################################################### + diff --git a/po/POTFILES.in b/po/POTFILES.in index ded6d5d549..7d1d1ba331 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -140,7 +140,7 @@ libnm/nm-remote-settings.c libnm/nm-vpn-plugin-old.c libnm/nm-vpn-service-plugin.c policy/org.freedesktop.NetworkManager.policy.in.in -shared/nm-shared-utils.c +shared/nm-utils/nm-shared-utils.c src/NetworkManagerUtils.c src/main.c src/main-utils.c diff --git a/po/POTFILES.skip b/po/POTFILES.skip index 842f22a568..1d7880e800 100644 --- a/po/POTFILES.skip +++ b/po/POTFILES.skip @@ -6,6 +6,7 @@ vpn-daemons/openvpn vpn-daemons/pptp vpn-daemons/vpnc contrib/fedora/rpm/ -shared/nm-vpn-editor-plugin-call.h +shared/nm-utils/nm-vpn-editor-plugin-call.h +shared/nm-utils/nm-vpn-plugin-utils.c # https://bugs.launchpad.net/intltool/+bug/1117944 sub/policy/org.freedesktop.NetworkManager.policy.in diff --git a/shared/Makefile.am b/shared/Makefile.am index 01818d0cd1..be2f777ee6 100644 --- a/shared/Makefile.am +++ b/shared/Makefile.am @@ -1,16 +1,19 @@ EXTRA_DIST = \ - gsystem-local-alloc.h \ + nm-utils/gsystem-local-alloc.h \ + nm-utils/nm-glib.h \ + nm-utils/nm-macros-internal.h \ + nm-utils/nm-shared-utils.c \ + nm-utils/nm-shared-utils.h \ + nm-utils/nm-test-utils.h \ + nm-utils/nm-vpn-editor-plugin-call.h \ + nm-utils/nm-vpn-plugin-utils.c \ + nm-utils/nm-vpn-plugin-utils.h \ nm-common-macros.h \ nm-dbus-compat.h \ nm-default.h \ - nm-glib.h \ - nm-macros-internal.h \ - nm-shared-utils.c \ - nm-shared-utils.h \ nm-test-libnm-utils.h \ - nm-test-utils.h \ nm-test-utils-impl.c \ nm-version-macros.h.in \ - nm-vpn-editor-plugin-call.h + $(NULL) CLEANFILES=nm-version.h diff --git a/shared/nm-default.h b/shared/nm-default.h index 5d7c8f141c..547ee57c98 100644 --- a/shared/nm-default.h +++ b/shared/nm-default.h @@ -98,11 +98,9 @@ _nm_g_return_if_fail_warning (const char *log_domain, /*****************************************************************************/ -#include "nm-glib.h" +#include "nm-utils/nm-macros-internal.h" #include "nm-version.h" -#include "gsystem-local-alloc.h" -#include "nm-macros-internal.h" -#include "nm-shared-utils.h" +#include "nm-utils/nm-shared-utils.h" /*****************************************************************************/ diff --git a/shared/nm-test-libnm-utils.h b/shared/nm-test-libnm-utils.h index 8d111003aa..192c089e10 100644 --- a/shared/nm-test-libnm-utils.h +++ b/shared/nm-test-libnm-utils.h @@ -20,7 +20,7 @@ #include "NetworkManager.h" -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" /*****************************************************************************/ diff --git a/shared/gsystem-local-alloc.h b/shared/nm-utils/gsystem-local-alloc.h index 51b6251974..51b6251974 100644 --- a/shared/gsystem-local-alloc.h +++ b/shared/nm-utils/gsystem-local-alloc.h diff --git a/shared/nm-glib.h b/shared/nm-utils/nm-glib.h index 5f8ebc7fdc..46a8bb2d9a 100644 --- a/shared/nm-glib.h +++ b/shared/nm-utils/nm-glib.h @@ -24,6 +24,8 @@ #include <gio/gio.h> #include <string.h> +#include "gsystem-local-alloc.h" + #ifdef __clang__ #undef G_GNUC_BEGIN_IGNORE_DEPRECATIONS diff --git a/shared/nm-macros-internal.h b/shared/nm-utils/nm-macros-internal.h index 4622af9fd8..603689af01 100644 --- a/shared/nm-macros-internal.h +++ b/shared/nm-utils/nm-macros-internal.h @@ -24,6 +24,8 @@ #include <stdlib.h> +#include "nm-glib.h" + /********************************************************/ #define _nm_packed __attribute__ ((packed)) diff --git a/shared/nm-shared-utils.c b/shared/nm-utils/nm-shared-utils.c index 38f6529d2a..38f6529d2a 100644 --- a/shared/nm-shared-utils.c +++ b/shared/nm-utils/nm-shared-utils.c diff --git a/shared/nm-shared-utils.h b/shared/nm-utils/nm-shared-utils.h index cfa8f994f7..cfa8f994f7 100644 --- a/shared/nm-shared-utils.h +++ b/shared/nm-utils/nm-shared-utils.h diff --git a/shared/nm-test-utils.h b/shared/nm-utils/nm-test-utils.h index 83e1f47e47..83e1f47e47 100644 --- a/shared/nm-test-utils.h +++ b/shared/nm-utils/nm-test-utils.h diff --git a/shared/nm-vpn-editor-plugin-call.h b/shared/nm-utils/nm-vpn-editor-plugin-call.h index c6b7ee76ab..78d041dff3 100644 --- a/shared/nm-vpn-editor-plugin-call.h +++ b/shared/nm-utils/nm-vpn-editor-plugin-call.h @@ -32,7 +32,6 @@ #include <NetworkManager.h> /* we make use of other internal header files, you need those too. */ -#include "gsystem-local-alloc.h" #include "nm-macros-internal.h" /*****************************************************************************/ diff --git a/shared/nm-utils/nm-vpn-plugin-utils.c b/shared/nm-utils/nm-vpn-plugin-utils.c new file mode 100644 index 0000000000..772aa39aea --- /dev/null +++ b/shared/nm-utils/nm-vpn-plugin-utils.c @@ -0,0 +1,130 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ + +/* + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + * Copyright 2016 Red Hat, Inc. + */ + +#include "nm-default.h" + +#include "nm-vpn-plugin-utils.h" + +#include <dlfcn.h> + +/*****************************************************************************/ + +NMVpnEditor * +nm_vpn_plugin_utils_load_editor (const char *module_name, + const char *factory_name, + NMVpnPluginUtilsEditorFactory editor_factory, + NMVpnEditorPlugin *editor_plugin, + NMConnection *connection, + gpointer user_data, + GError **error) + +{ + static struct { + gpointer factory; + void *dl_module; + char *module_name; + char *factory_name; + } cached = { 0 }; + NMVpnEditor *editor; + + g_return_val_if_fail (module_name && g_path_is_absolute (module_name), NULL); + g_return_val_if_fail (factory_name && factory_name[0], NULL); + g_return_val_if_fail (editor_factory, NULL); + g_return_val_if_fail (NM_IS_VPN_EDITOR_PLUGIN (editor_plugin), NULL); + g_return_val_if_fail (NM_IS_CONNECTION (connection), NULL); + g_return_val_if_fail (!error || !*error, NULL); + + /* we really expect this function to be called with unchanging @module_name + * and @factory_name. And we only want to load the module once, hence it would + * be more complicated to accept changing @module_name/@factory_name arguments. + * + * The reason for only loading once is that due to glib types, we cannot create a + * certain type-name more then once, so loading the same module or another version + * of the same module will fail horribly as both try to create a GType with the same + * name. + * + * Only support loading once, any future calls will reuse the handle. To simplify + * that, we enforce that the @factory_name and @module_name is the same. */ + if (cached.factory) { + g_return_val_if_fail (cached.dl_module, NULL); + g_return_val_if_fail (cached.factory_name && nm_streq0 (cached.factory_name, factory_name), NULL); + g_return_val_if_fail (cached.module_name && nm_streq0 (cached.module_name, module_name), NULL); + } else { + gpointer factory; + void *dl_module; + + dl_module = dlopen (module_name, RTLD_LAZY | RTLD_LOCAL); + if (!dl_module) { + if (!g_file_test (module_name, G_FILE_TEST_EXISTS)) { + g_set_error (error, + G_FILE_ERROR, + G_FILE_ERROR_NOENT, + _("missing plugin file \"%s\""), module_name); + return NULL; + } + g_set_error (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_FAILED, + _("cannot load editor plugin: %s"), dlerror ()); + return NULL; + } + + factory = dlsym (dl_module, factory_name); + if (!factory) { + g_set_error (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_FAILED, + _("cannot load factory %s from plugin: %s"), + factory_name, dlerror ()); + dlclose (dl_module); + return NULL; + } + + /* we cannot ever unload the module because it creates glib types, which + * cannot be unregistered. + * + * Thus we just leak the dl_module handle indefinitely. */ + cached.factory = factory; + cached.dl_module = dl_module; + cached.module_name = g_strdup (module_name); + cached.factory_name = g_strdup (factory_name); + } + + editor = editor_factory (cached.factory, + editor_plugin, + connection, + user_data, + error); + if (!editor) { + if (error && !*error ) { + g_set_error_literal (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_FAILED, + _("unknown error creating editor instance")); + g_return_val_if_reached (NULL); + } + return NULL; + } + + g_return_val_if_fail (NM_IS_VPN_EDITOR (editor), NULL); + return editor; +} + diff --git a/shared/nm-utils/nm-vpn-plugin-utils.h b/shared/nm-utils/nm-vpn-plugin-utils.h new file mode 100644 index 0000000000..f3928d1eb1 --- /dev/null +++ b/shared/nm-utils/nm-vpn-plugin-utils.h @@ -0,0 +1,42 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ + +/* + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + * Copyright 2016 Red Hat, Inc. + */ + +#ifndef __NM_VPN_PLUGIN_UTILS_H__ +#define __NM_VPN_PLUGIN_UTILS_H__ + +#include <NetworkManager.h> + +typedef NMVpnEditor *(NMVpnPluginUtilsEditorFactory) (gpointer factory, + NMVpnEditorPlugin *editor_plugin, + NMConnection *connection, + gpointer user_data, + GError **error); + +NMVpnEditor *nm_vpn_plugin_utils_load_editor (const char *module_name, + const char *factory_name, + NMVpnPluginUtilsEditorFactory editor_factory, + NMVpnEditorPlugin *editor_plugin, + NMConnection *connection, + gpointer user_data, + GError **error); + +#endif /* __NM_VPN_PLUGIN_UTILS_H__ */ + diff --git a/src/nm-test-utils-core.h b/src/nm-test-utils-core.h index 8fd3be55ae..f5118398d3 100644 --- a/src/nm-test-utils-core.h +++ b/src/nm-test-utils-core.h @@ -26,7 +26,7 @@ #define _NMTST_INSIDE_CORE 1 -#include "nm-test-utils.h" +#include "nm-utils/nm-test-utils.h" /*****************************************************************************/ |