summary refs log tree commit diff
path: root/src/settings/plugins/example
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings/plugins/example')
-rw-r--r--src/settings/plugins/example/Makefile.am33
-rw-r--r--src/settings/plugins/example/Makefile.in779
-rw-r--r--src/settings/plugins/example/README35
-rw-r--r--src/settings/plugins/example/common.h45
-rw-r--r--src/settings/plugins/example/nm-example-connection.c189
-rw-r--r--src/settings/plugins/example/nm-example-connection.h55
-rw-r--r--src/settings/plugins/example/plugin.c858
-rw-r--r--src/settings/plugins/example/plugin.h55
-rw-r--r--src/settings/plugins/example/reader.c47
-rw-r--r--src/settings/plugins/example/writer.c56
10 files changed, 0 insertions, 2152 deletions
diff --git a/src/settings/plugins/example/Makefile.am b/src/settings/plugins/example/Makefile.am
deleted file mode 100644
index 7ce8eaea..00000000
--- a/src/settings/plugins/example/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
-AM_CPPFLAGS = \
-	-I$(top_srcdir)/src \
-	-I$(top_srcdir)/src/settings \
-	-I$(top_srcdir)/include \
-	-I$(top_builddir)/include \
-	-I$(top_srcdir)/libnm-core \
-	-I$(top_builddir)/libnm-core \
-	-DG_LOG_DOMAIN=\""NetworkManager-example"\" \
-	-DNETWORKMANAGER_COMPILATION \
-	-DNM_VERSION_MAX_ALLOWED=NM_VERSION_NEXT_STABLE \
-	$(GLIB_CFLAGS) \
-	$(DBUS_CFLAGS) \
-	-DNMCONFDIR=\"$(nmconfdir)\"
-
-# 'noinst' here because this is an example plugin we don't want to install
-noinst_LTLIBRARIES = libnm-settings-plugin-example.la
-
-# The actual plugins typically pull reader.c and writer.c out into
-# their own static library so that unit tests can use them without
-# having to build the entire plugin.  But since this is a simple
-# plugin we don't do that yet.
-
-libnm_settings_plugin_example_la_SOURCES = \
-	nm-example-connection.c \
-	nm-example-connection.h \
-	plugin.c \
-	plugin.h \
-	common.h \
-	reader.c \
-	writer.c
-
-libnm_settings_plugin_example_la_LDFLAGS = -module -avoid-version
-
diff --git a/src/settings/plugins/example/Makefile.in b/src/settings/plugins/example/Makefile.in
deleted file mode 100644
index 5f16d186..00000000
--- a/src/settings/plugins/example/Makefile.in
+++ /dev/null
@@ -1,779 +0,0 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
-    case $$MAKEFLAGS in \
-      *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
-    esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = src/settings/plugins/example
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_lib_readline.m4 \
-	$(top_srcdir)/m4/compiler_warnings.m4 \
-	$(top_srcdir)/m4/gettext.m4 \
-	$(top_srcdir)/m4/gnome-code-coverage.m4 \
-	$(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/iconv.m4 \
-	$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intltool.m4 \
-	$(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
-	$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-	$(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libnm_settings_plugin_example_la_LIBADD =
-am_libnm_settings_plugin_example_la_OBJECTS =  \
-	nm-example-connection.lo plugin.lo reader.lo writer.lo
-libnm_settings_plugin_example_la_OBJECTS =  \
-	$(am_libnm_settings_plugin_example_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 = 
-libnm_settings_plugin_example_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
-	$(AM_CFLAGS) $(CFLAGS) \
-	$(libnm_settings_plugin_example_la_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
-SOURCES = $(libnm_settings_plugin_example_la_SOURCES)
-DIST_SOURCES = $(libnm_settings_plugin_example_la_SOURCES)
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in \
-	$(top_srcdir)/build-aux/depcomp README
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ALL_LINGUAS = @ALL_LINGUAS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AM_TESTS_FD_REDIRECT = @AM_TESTS_FD_REDIRECT@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BLUEZ5_CFLAGS = @BLUEZ5_CFLAGS@
-BLUEZ5_LIBS = @BLUEZ5_LIBS@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CKDB_PATH = @CKDB_PATH@
-CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
-CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
-CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DBUS_CFLAGS = @DBUS_CFLAGS@
-DBUS_GLIB_100_CFLAGS = @DBUS_GLIB_100_CFLAGS@
-DBUS_GLIB_100_LIBS = @DBUS_GLIB_100_LIBS@
-DBUS_LIBS = @DBUS_LIBS@
-DBUS_SYS_DIR = @DBUS_SYS_DIR@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DHCLIENT_PATH = @DHCLIENT_PATH@
-DHCPCD_PATH = @DHCPCD_PATH@
-DISTRO_NETWORK_SERVICE = @DISTRO_NETWORK_SERVICE@
-DLLTOOL = @DLLTOOL@
-DNSMASQ_PATH = @DNSMASQ_PATH@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GENHTML = @GENHTML@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MAKEFILE = @GLIB_MAKEFILE@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNUTLS_CFLAGS = @GNUTLS_CFLAGS@
-GNUTLS_LIBS = @GNUTLS_LIBS@
-GREP = @GREP@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
-GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
-GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-GUDEV_CFLAGS = @GUDEV_CFLAGS@
-GUDEV_LIBS = @GUDEV_LIBS@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTLLIBS = @INTLLIBS@
-INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
-INTLTOOL_MERGE = @INTLTOOL_MERGE@
-INTLTOOL_PERL = @INTLTOOL_PERL@
-INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
-INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
-INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
-INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
-INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-IPTABLES_PATH = @IPTABLES_PATH@
-IWMX_SDK_CFLAGS = @IWMX_SDK_CFLAGS@
-IWMX_SDK_LIBS = @IWMX_SDK_LIBS@
-KERNEL_FIRMWARE_DIR = @KERNEL_FIRMWARE_DIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBDL = @LIBDL@
-LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
-LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
-LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBM = @LIBM@
-LIBNDP_CFLAGS = @LIBNDP_CFLAGS@
-LIBNDP_LIBS = @LIBNDP_LIBS@
-LIBNL_CFLAGS = @LIBNL_CFLAGS@
-LIBNL_LIBS = @LIBNL_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBSOUP_CFLAGS = @LIBSOUP_CFLAGS@
-LIBSOUP_LIBS = @LIBSOUP_LIBS@
-LIBTEAMDCTL_CFLAGS = @LIBTEAMDCTL_CFLAGS@
-LIBTEAMDCTL_LIBS = @LIBTEAMDCTL_LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LOG_DRIVER = @LOG_DRIVER@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-MM_GLIB_CFLAGS = @MM_GLIB_CFLAGS@
-MM_GLIB_LIBS = @MM_GLIB_LIBS@
-MOC = @MOC@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-NEWT_CFLAGS = @NEWT_CFLAGS@
-NEWT_LIBS = @NEWT_LIBS@
-NM = @NM@
-NMEDIT = @NMEDIT@
-NM_CONFIG_DEFAULT_AUTH_POLKIT_TEXT = @NM_CONFIG_DEFAULT_AUTH_POLKIT_TEXT@
-NM_MAJOR_VERSION = @NM_MAJOR_VERSION@
-NM_MICRO_VERSION = @NM_MICRO_VERSION@
-NM_MINOR_VERSION = @NM_MINOR_VERSION@
-NM_MODIFY_SYSTEM_POLICY = @NM_MODIFY_SYSTEM_POLICY@
-NM_VERSION = @NM_VERSION@
-NSS_CFLAGS = @NSS_CFLAGS@
-NSS_LIBS = @NSS_LIBS@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-POLKIT_CFLAGS = @POLKIT_CFLAGS@
-POLKIT_LIBS = @POLKIT_LIBS@
-POSUB = @POSUB@
-PPPD_PATH = @PPPD_PATH@
-PPPD_PLUGIN_DIR = @PPPD_PLUGIN_DIR@
-PPPOE_PATH = @PPPOE_PATH@
-QT_CFLAGS = @QT_CFLAGS@
-QT_LIBS = @QT_LIBS@
-RANLIB = @RANLIB@
-READLINE_LIBS = @READLINE_LIBS@
-SED = @SED@
-SELINUX_CFLAGS = @SELINUX_CFLAGS@
-SELINUX_LIBS = @SELINUX_LIBS@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-SYSTEMD_200_CFLAGS = @SYSTEMD_200_CFLAGS@
-SYSTEMD_200_LIBS = @SYSTEMD_200_LIBS@
-SYSTEMD_INHIBIT_CFLAGS = @SYSTEMD_INHIBIT_CFLAGS@
-SYSTEMD_INHIBIT_LIBS = @SYSTEMD_INHIBIT_LIBS@
-SYSTEMD_LOGIN_CFLAGS = @SYSTEMD_LOGIN_CFLAGS@
-SYSTEMD_LOGIN_LIBS = @SYSTEMD_LOGIN_LIBS@
-SYSTEM_CA_PATH = @SYSTEM_CA_PATH@
-UDEV_DIR = @UDEV_DIR@
-USE_NLS = @USE_NLS@
-UUID_CFLAGS = @UUID_CFLAGS@
-UUID_LIBS = @UUID_LIBS@
-VALGRIND_RULES = @VALGRIND_RULES@
-VAPIGEN = @VAPIGEN@
-VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
-VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
-VERSION = @VERSION@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-intltool__v_merge_options_ = @intltool__v_merge_options_@
-intltool__v_merge_options_0 = @intltool__v_merge_options_0@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-nmbinary = @nmbinary@
-nmconfdir = @nmconfdir@
-nmdatadir = @nmdatadir@
-nmrundir = @nmrundir@
-nmstatedir = @nmstatedir@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-subdirs = @subdirs@
-sysconfdir = @sysconfdir@
-systemdsystemunitdir = @systemdsystemunitdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-with_dhclient = @with_dhclient@
-with_dhcpcd = @with_dhcpcd@
-with_netconfig = @with_netconfig@
-with_resolvconf = @with_resolvconf@
-with_valgrind = @with_valgrind@
-AM_CPPFLAGS = \
-	-I$(top_srcdir)/src \
-	-I$(top_srcdir)/src/settings \
-	-I$(top_srcdir)/include \
-	-I$(top_builddir)/include \
-	-I$(top_srcdir)/libnm-core \
-	-I$(top_builddir)/libnm-core \
-	-DG_LOG_DOMAIN=\""NetworkManager-example"\" \
-	-DNETWORKMANAGER_COMPILATION \
-	-DNM_VERSION_MAX_ALLOWED=NM_VERSION_NEXT_STABLE \
-	$(GLIB_CFLAGS) \
-	$(DBUS_CFLAGS) \
-	-DNMCONFDIR=\"$(nmconfdir)\"
-
-
-# 'noinst' here because this is an example plugin we don't want to install
-noinst_LTLIBRARIES = libnm-settings-plugin-example.la
-
-# The actual plugins typically pull reader.c and writer.c out into
-# their own static library so that unit tests can use them without
-# having to build the entire plugin.  But since this is a simple
-# plugin we don't do that yet.
-libnm_settings_plugin_example_la_SOURCES = \
-	nm-example-connection.c \
-	nm-example-connection.h \
-	plugin.c \
-	plugin.h \
-	common.h \
-	reader.c \
-	writer.c
-
-libnm_settings_plugin_example_la_LDFLAGS = -module -avoid-version
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/settings/plugins/example/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu src/settings/plugins/example/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
-	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; \
-	locs=`for p in $$list; do echo $$p; done | \
-	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-	      sort -u`; \
-	test -z "$$locs" || { \
-	  echo rm -f $${locs}; \
-	  rm -f $${locs}; \
-	}
-
-libnm-settings-plugin-example.la: $(libnm_settings_plugin_example_la_OBJECTS) $(libnm_settings_plugin_example_la_DEPENDENCIES) $(EXTRA_libnm_settings_plugin_example_la_DEPENDENCIES) 
-	$(AM_V_CCLD)$(libnm_settings_plugin_example_la_LINK)  $(libnm_settings_plugin_example_la_OBJECTS) $(libnm_settings_plugin_example_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nm-example-connection.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reader.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/writer.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	set x; \
-	here=`pwd`; \
-	$(am__define_uniq_tagged_files); \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
-	mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
-	ctags-am distclean distclean-compile distclean-generic \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/src/settings/plugins/example/README b/src/settings/plugins/example/README
deleted file mode 100644
index 224814d1..00000000
--- a/src/settings/plugins/example/README
+++ /dev/null
@@ -1,35 +0,0 @@
-Plugins generally have three components:
-
-1) plugin object: manages the individual "connections", which are
-  just objects wrapped around on-disk config data.  The plugin handles requests
-  to add new connections via the NM D-Bus API, and also watches config
-  directories for changes to configuration data.  It also handles reading and
-  writing the persistent hostname, if the plugin supports hostnames.  Plugins
-  implement the NMSystemConfigInterface interface.  See plugin.c.
-
-2) "connections": subclasses of NMSettingsConnection.  They handle updates to
-  configuration data, deletion, etc.  See NMExampleConnection.c.
-
-3) reader/writer code: typically a separate static library that gets linked
-  into the main plugin shared object, so they can be unit tested separately
-  from the plugin.  This code should read config data from disk and create
-  an NMConnection from it, and be capable of taking an NMConnection and writing
-  out appropriate configuration data to disk.
-
-NM will first call the "factory" function that every module must provide, which
-is nm_system_config_factory().  That function creates and returns a singleton
-instance of the plugin's main object, which implements NMSystemConfigInterface.
-That interface is implemented via the object definition in G_DEFINE_TYPE_EXTENDED
-in plugin.c, which registers the interface setup function
-system_config_interface_init(), which when called actually sets up the vtables
-for the functions defined by NMSystemConfigInterface.  Thus there are two
-entry points into the plugin:  nm_system_config_factory() and
-the NMSystemConfigInterface methods.
-
-The plugin also emits various signals (defined by NMSystemConfigInterface)
-which NetworkManager listens for.  These include persistent hostname changes
-(if something modified the file in which the persistent hostname is stored)
-and notifications of new connections if they were created via changes to
-the on-disk files.  The "connection" objects can also emit signals
-(defined by the NMSettingsConnection and NMConnection superclasses) when the
-connections' backing storage gets changed or deleted. 
diff --git a/src/settings/plugins/example/common.h b/src/settings/plugins/example/common.h
deleted file mode 100644
index cf209fe0..00000000
--- a/src/settings/plugins/example/common.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager system settings service
- *
- * 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.
- *
- * (C) Copyright 2012 Red Hat, Inc.
- */
-
-#ifndef __COMMON_H__
-#define __COMMON_H__
-
-#include <glib.h>
-
-#include <nm-connection.h>
-
-/* General info about the plugin that the code may want to use for logging
- * purposes.
- */
-#define EXAMPLE_PLUGIN_NAME "example"
-#define EXAMPLE_PLUGIN_INFO "(c) 2012 Red Hat, Inc.  To report bugs please use the NetworkManager mailing list."
-
-#define EXAMPLE_DIR NMCONFDIR "/example-plugin"
-
-/* Prototypes for the reader/writer functions */
-NMConnection *connection_from_file (const char *filename, GError **error);
-
-gboolean write_connection (NMConnection *connection,
-                           const char *existing_path,
-                           char **out_path,
-                           GError **error);
-
-#endif  /* __COMMON_H__ */
-
diff --git a/src/settings/plugins/example/nm-example-connection.c b/src/settings/plugins/example/nm-example-connection.c
deleted file mode 100644
index e1259611..00000000
--- a/src/settings/plugins/example/nm-example-connection.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager system settings service - keyfile plugin
- *
- * 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.
- *
- * Copyright (C) 2012 Red Hat, Inc.
- */
-
-#include "config.h"
-
-#include <string.h>
-#include <glib/gstdio.h>
-#include <nm-dbus-interface.h>
-#include <nm-setting-connection.h>
-#include <nm-utils.h>
-
-#include "nm-system-config-interface.h"
-#include "nm-dbus-glib-types.h"
-#include "nm-example-connection.h"
-#include "common.h"
-
-/* GObject boilerplate; this object is a subclass of NMSettingsConnection
- * which is specified by the NM_TYPE_SETTINGS_CONNECTION bit here.  That
- * in turn is a subclass of NMConnection, so it ends up that NMExampleConnection
- * is a subclass of NMConnection too.
- */
-G_DEFINE_TYPE (NMExampleConnection, nm_example_connection, NM_TYPE_SETTINGS_CONNECTION)
-
-#define NM_EXAMPLE_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_EXAMPLE_CONNECTION, NMExampleConnectionPrivate))
-
-/* Object private instance data */
-typedef struct {
-	char *path;
-} NMExampleConnectionPrivate;
-
-
-/* Creates a new object which encapsulates an on-disk connection and any
- * plugin-specific operations or data.
- */
-NMExampleConnection *
-nm_example_connection_new (const char *full_path,
-                           NMConnection *source,
-                           GError **error)
-{
-	GObject *object;
-	NMExampleConnectionPrivate *priv;
-	NMConnection *tmp;
-	const char *uuid;
-
-	g_return_val_if_fail (full_path != NULL, NULL);
-
-	/* If we're given a connection already, prefer that instead of re-reading */
-	if (source)
-		tmp = g_object_ref (source);
-	else {
-		/* Read the data offdisk and translate it into a simple NMConnection object */
-		tmp = connection_from_file (full_path, error);
-		if (!tmp)
-			return NULL;
-	}
-
-	/* Actually create the new NMExampleConnection object */
-	object = (GObject *) g_object_new (NM_TYPE_EXAMPLE_CONNECTION, NULL);
-	priv = NM_EXAMPLE_CONNECTION_GET_PRIVATE (object);
-	priv->path = g_strdup (full_path);
-
-	/* Update our settings with what was read from the file or what got passed
-	 * in as a source NMConnection.
-	 */
-	if (!nm_settings_connection_replace_settings (NM_SETTINGS_CONNECTION (object),
-	                                              tmp,
-	                                              TRUE,
-	                                              NULL,
-	                                              error)) {
-		g_object_unref (object);
-		object = NULL;
-		goto out;
-	}
-
-	/* Make sure we have a UUID; just a sanity check */
-	uuid = nm_connection_get_uuid (NM_CONNECTION (object));
-	if (!uuid) {
-		g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION,
-		             "Connection in file %s had no UUID", full_path);
-		g_object_unref (object);
-		object = NULL;
-	}
-
-out:
-	g_object_unref (tmp);
-	return (NMExampleConnection *) object;
-}
-
-const char *
-nm_example_connection_get_path (NMExampleConnection *self)
-{
-	g_return_val_if_fail (NM_IS_EXAMPLE_CONNECTION (self), NULL);
-
-	/* Simple accessor that returns the file path from our private instance data */
-	return NM_EXAMPLE_CONNECTION_GET_PRIVATE (self)->path;
-}
-
-static void
-commit_changes (NMSettingsConnection *connection,
-                NMSettingsConnectionCommitFunc callback,
-                gpointer user_data)
-{
-	NMExampleConnectionPrivate *priv = NM_EXAMPLE_CONNECTION_GET_PRIVATE (connection);
-	char *path = NULL;
-	GError *error = NULL;
-
-	/* Write the new connection data out to disk.  This function passes
-	 * back the path of the file it wrote out so that we know what that
-	 * path is if the connection is a completely new one.
-	 */
-	if (!write_connection (NM_CONNECTION (connection), priv->path, &path, &error)) {
-		callback (connection, error, user_data);
-		g_clear_error (&error);
-		return;
-	}
-
-	/* Update the filename if it changed */
-	if (path) {
-		g_free (priv->path);
-		priv->path = path;
-	}
-
-	/* Chain up to parent for generic commit stuff */
-	NM_SETTINGS_CONNECTION_CLASS (nm_example_connection_parent_class)->commit_changes (connection,
-	                                                                                   callback,
-	                                                                                   user_data);
-}
-
-static void 
-do_delete (NMSettingsConnection *connection,
-           NMSettingsConnectionDeleteFunc callback,
-           gpointer user_data)
-{
-	NMExampleConnectionPrivate *priv = NM_EXAMPLE_CONNECTION_GET_PRIVATE (connection);
-
-	g_unlink (priv->path);
-
-	/* Chain up to parent for generic deletion stuff */
-	NM_SETTINGS_CONNECTION_CLASS (nm_example_connection_parent_class)->delete (connection,
-	                                                                           callback,
-	                                                                           user_data);
-}
-
-/**************************************************************/
-
-static void
-nm_example_connection_init (NMExampleConnection *connection)
-{
-}
-
-static void
-finalize (GObject *object)
-{
-	g_free (NM_EXAMPLE_CONNECTION_GET_PRIVATE (object)->path);
-
-	G_OBJECT_CLASS (nm_example_connection_parent_class)->finalize (object);
-}
-
-static void
-nm_example_connection_class_init (NMExampleConnectionClass *keyfile_connection_class)
-{
-	GObjectClass *object_class = G_OBJECT_CLASS (keyfile_connection_class);
-	NMSettingsConnectionClass *settings_class = NM_SETTINGS_CONNECTION_CLASS (keyfile_connection_class);
-
-	/* Tells GObject to allocate and zero our instance data pointer */
-	g_type_class_add_private (keyfile_connection_class, sizeof (NMExampleConnectionPrivate));
-
-	/* Overrides of various superclass methods */
-	object_class->finalize = finalize;
-	settings_class->commit_changes = commit_changes;
-	settings_class->delete = do_delete;
-}
diff --git a/src/settings/plugins/example/nm-example-connection.h b/src/settings/plugins/example/nm-example-connection.h
deleted file mode 100644
index ddbd7ac2..00000000
--- a/src/settings/plugins/example/nm-example-connection.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager system settings service - keyfile plugin
- *
- * 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.
- *
- * Copyright (C) 2012 Red Hat, Inc.
- */
-
-#ifndef __NETWORKMANAGER_EXAMPLE_CONNECTION_H__
-#define __NETWORKMANAGER_EXAMPLE_CONNECTION_H__
-
-#include <nm-settings-connection.h>
-
-G_BEGIN_DECLS
-
-/* GObject boilerplate */
-#define NM_TYPE_EXAMPLE_CONNECTION            (nm_example_connection_get_type ())
-#define NM_EXAMPLE_CONNECTION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_EXAMPLE_CONNECTION, NMExampleConnection))
-#define NM_EXAMPLE_CONNECTION_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_EXAMPLE_CONNECTION, NMExampleConnectionClass))
-#define NM_IS_EXAMPLE_CONNECTION(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_EXAMPLE_CONNECTION))
-#define NM_IS_EXAMPLE_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_EXAMPLE_CONNECTION))
-#define NM_EXAMPLE_CONNECTION_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_EXAMPLE_CONNECTION, NMExampleConnectionClass))
-
-typedef struct {
-	NMSettingsConnection parent;
-} NMExampleConnection;
-
-typedef struct {
-	NMSettingsConnectionClass parent;
-} NMExampleConnectionClass;
-
-GType nm_example_connection_get_type (void);
-
-/* Actual API that plugin.c will call */
-NMExampleConnection *nm_example_connection_new (const char *filename,
-                                                NMConnection *source,
-                                                GError **error);
-
-const char *nm_example_connection_get_path (NMExampleConnection *self);
-
-G_END_DECLS
-
-#endif /* __NETWORKMANAGER_EXAMPLE_CONNECTION_H__ */
diff --git a/src/settings/plugins/example/plugin.c b/src/settings/plugins/example/plugin.c
deleted file mode 100644
index 0bcb38fc..00000000
--- a/src/settings/plugins/example/plugin.c
+++ /dev/null
@@ -1,858 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager system settings service - keyfile plugin
- *
- * 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.
- *
- * Copyright (C) 2012 Red Hat, Inc.
- */
-
-#include "config.h"
-
-#include <sys/stat.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <string.h>
-
-#include <gmodule.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gio/gio.h>
-
-#include <nm-connection.h>
-#include <nm-setting.h>
-#include <nm-setting-connection.h>
-#include <nm-utils.h>
-#include <nm-config.h>
-#include <nm-logging.h>
-
-#include "plugin.h"
-#include "nm-system-config-interface.h"
-#include "common.h"
-#include "nm-example-connection.h"
-
-static char *plugin_get_hostname (SCPluginExample *plugin);
-static void system_config_interface_init (NMSystemConfigInterface *system_config_interface_class);
-
-/* GObject object definition.  This actually defines the object and tells
- * GObject about the interfaces this object provides.  Here we provide
- * the "system config interface" which is the API that NetworkManager uses
- * to communicate with this plugin.
- *
- * Interface and super/sub-class access with GObject works via casting and
- * GObject magically figures out what needs to be called.  So, given:
- *
- *    SCPluginExample *plugin = <new plugin>;
- *
- * you can call GObject methods since SCPluginExample inherits from GObject
- * via the G_TYPE_OBJECT argument of G_DEFINE_TYPE_EXTENDED below:
- *
- *    g_object_set_data (G_OBJECT (plugin), ...);
- *
- * and since SCPluginExample implements NMSystemConfigInterface via the
- * G_IMPLEMENT_INTERFACE bit below, we can also call any methods of
- * NMSystemConfigInterface (defined in NM sources in nm-system-config-interface.c):
- *
- *    connections = nm_system_config_interface_get_connections (NM_SYSTEM_CONFIG_INTERFACE (plugin));
- *
- * For the call to nm_system_config_interface_get_connections() that eventually
- * ends up in the get_connections() method in this file because the
- * system_config_interface_init() function sets up the vtable for this objects
- * implementation of NMSystemConfigInterface.
- */
-G_DEFINE_TYPE_EXTENDED (SCPluginExample, sc_plugin_example, G_TYPE_OBJECT, 0,
-                        G_IMPLEMENT_INTERFACE (NM_TYPE_SYSTEM_CONFIG_INTERFACE, system_config_interface_init))
-
-/* Quick define to access the object's private data pointer; this pointer
- * points to the object's instance data.
- */
-#define SC_PLUGIN_EXAMPLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SC_TYPE_PLUGIN_EXAMPLE, SCPluginExamplePrivate))
-
-/* Instance data.  When the object is created, a new structure of this type
- * will be created and zeroed for this instance of the object to use.  This
- * is actually done by g_type_class_add_private() when called from the object's
- * class init function.
- */
-typedef struct {
-	/* This hash holds each connection known to this plugin */
-	GHashTable *connections;
-
-	/* A watch for changes on the directory that holds the configuration files
-	 * so the plugin can respond to configuration changes on-the-fly and
-	 * tell NM that the connection data has changed.  Typically the plugin
-	 * needs to monitor the directory itself (to watch for completely new files)
-	 * while the individual connections watch their individual config files.
-	 */
-	GFileMonitor *monitor;
-	guint monitor_id;
-
-	/* Tracks changes to the global NM config file, just in case our
-	 * plugin has some specific options (like unmanaged devices) that
-	 * might be changed at runtime.
-	 */
-	const char *conf_file;
-	GFileMonitor *conf_file_monitor;
-	guint conf_file_monitor_id;
-
-	/* Persistent hostname if the plugin supports hostnames.  Normally used
-	 * for distro plugins; ie Red Hat uses /etc/sysconfig/hostname while
-	 * Debian uses /etc/hostname.  Plugins can abstract the storage location
-	 * and just tell NM what the persisten hostname is and when its backing
-	 * file has changed.  NM handles actually setting the hostname.
-	 */
-	char *hostname;
-} SCPluginExamplePrivate;
-
-static NMSettingsConnection *
-_internal_new_connection (SCPluginExample *self,
-                          const char *full_path,
-                          NMConnection *source,
-                          GError **error)
-{
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (self);
-	NMExampleConnection *connection;
-
-	g_return_val_if_fail (full_path != NULL, NULL);
-
-	/* 'source' will usually be NULL if we're going to read the connection
-	 * off disk.  But if the new connection is coming from NetworkManager
-	 * (ie, from a D-Bus AddConnection request) then we'll have 'source' too.
-	 * This function expects the connection to already be written to disk
-	 * so that the NMExampleConnection object can re-read it and intialize
-	 * state in the same manner as when getting a change notification from
-	 * the config directory.  That simplifies things somewhat.
-	 */
-
-	connection = nm_example_connection_new (full_path, source, error);
-	if (connection) {
-		g_hash_table_insert (priv->connections,
-		                     g_strdup (nm_example_connection_get_path (connection)),
-		                     connection);
-	}
-
-	return (NMSettingsConnection *) connection;
-}
-
-/* Read each file in our config directory and try to create a new
- * NMExamplePlugin for it.
- */
-static void
-read_connections (NMSystemConfigInterface *config)
-{
-	SCPluginExample *self = SC_PLUGIN_EXAMPLE (config);
-	GDir *dir;
-	GError *error = NULL;
-	const char *item;
-
-	dir = g_dir_open (EXAMPLE_DIR, 0, &error);
-	if (!dir) {
-		nm_log_warn (LOGD_SETTINGS, "Cannot read directory '%s': (%d) %s",
-		             EXAMPLE_DIR,
-		             error ? error->code : -1,
-		             error && error->message ? error->message : "(unknown)");
-		g_clear_error (&error);
-		return;
-	}
-
-	while ((item = g_dir_read_name (dir))) {
-		NMSettingsConnection *connection;
-		char *full_path;
-
-		/* XXX: Check file extension and ignore "~", ".tmp", ".bak", etc */
-
-		full_path = g_build_filename (EXAMPLE_DIR, item, NULL);
-		nm_log_info (LOGD_SETTINGS, "parsing %s ... ", item);
-
-		connection = _internal_new_connection (self, full_path, NULL, &error);
-		if (connection) {
-			nm_log_info (LOGD_SETTINGS, "    read connection '%s'",
-			             nm_connection_get_id (NM_CONNECTION (connection)));
-		} else {
-			nm_log_info (LOGD_SETTINGS, "    error: %s",
-			             (error && error->message) ? error->message : "(unknown)");
-		}
-		g_clear_error (&error);
-		g_free (full_path);
-	}
-	g_dir_close (dir);
-}
-
-static void
-update_connection_settings_commit_cb (NMSettingsConnection *orig, GError *error, gpointer user_data)
-{
-	/* If there was an error updating the connection's internal stuff, then
-	 * we can't do anything except log it and remove the connection.  This might
-	 * happen due to invalid data, but as the data would already have been
-	 * verified before it ever got to this plugin, we shouldn't ever get
-	 * an error here.
-	 */
-	if (error) {
-		nm_log_warn (LOGD_SETTINGS, "%s: connection invalid: %s",
-		             __func__, error->message);
-		g_clear_error (&error);
-
-		nm_settings_connection_signal_remove (orig);
-	}
-}
-
-static void
-update_connection_settings (NMExampleConnection *orig,
-                            NMExampleConnection *new)
-{
-	/* This just replaces the orig's internal settings with those from new */
-	nm_settings_connection_replace_and_commit (NM_SETTINGS_CONNECTION (orig),
-	                                           NM_CONNECTION (new),
-	                                           update_connection_settings_commit_cb, NULL);
-}
-
-/* Monitoring */
-
-static void
-remove_connection (SCPluginExample *self,
-                   NMExampleConnection *connection,
-                   const char *name)
-{
-	g_return_if_fail (connection != NULL);
-	g_return_if_fail (name != NULL);
-
-	/* Removing from the hash table should drop the last reference, but since
-	 * we need the object to stay alive across the signal emission to NM,
-	 * we grab a temporary reference.
-	 */
-	g_object_ref (connection);
-	g_hash_table_remove (SC_PLUGIN_EXAMPLE_GET_PRIVATE (self)->connections, name);
-
-	/* Tell NM the connection is gone */
-	nm_settings_connection_signal_remove (NM_SETTINGS_CONNECTION (connection));
-
-	/* Remove the temporary reference; connection will now be destroyed */
-	g_object_unref (connection);
-}
-
-/* Look through all connections we know about and return one with a given UUID */
-static NMExampleConnection *
-find_by_uuid (SCPluginExample *self, const char *uuid)
-{
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (self);
-	GHashTableIter iter;
-	gpointer data = NULL;
-
-	g_return_val_if_fail (uuid != NULL, NULL);
-
-	g_hash_table_iter_init (&iter, priv->connections);
-	while (g_hash_table_iter_next (&iter, NULL, &data)) {
-		NMConnection *candidate = NM_CONNECTION (data);
-
-		if (strcmp (uuid, nm_connection_get_uuid (candidate)) == 0)
-			return NM_EXAMPLE_CONNECTION (candidate);
-	}
-	return NULL;
-}
-
-
-static void
-dir_changed (GFileMonitor *monitor,
-             GFile *file,
-             GFile *other_file,
-             GFileMonitorEvent event_type,
-             gpointer user_data)
-{
-	NMSystemConfigInterface *config = NM_SYSTEM_CONFIG_INTERFACE (user_data);
-	SCPluginExample *self = SC_PLUGIN_EXAMPLE (config);
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (self);
-	char *full_path;
-	NMExampleConnection *connection;
-	GError *error = NULL;
-
-	full_path = g_file_get_path (file);
-	/* XXX: Check here if you need to ignore this file, ie by checking for
-	 * extensions like "~" and ".bak" or ".tmp".  If so just return;
-	 */
-
-	/* Check if we know about this connection already */
-	connection = g_hash_table_lookup (priv->connections, full_path);
-
-	switch (event_type) {
-	case G_FILE_MONITOR_EVENT_DELETED:
-		if (connection) {
-			nm_log_info (LOGD_SETTINGS, "removed %s.", full_path);
-			remove_connection (SC_PLUGIN_EXAMPLE (config), connection, full_path);
-		}
-		break;
-	case G_FILE_MONITOR_EVENT_CREATED:
-	case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
-		if (connection) {
-			/* Update of an existing connection.  Here we re-read the file and
-			 * compare it against the existing connection to check if anything
-			 * actually changed.
-			 */
-			NMExampleConnection *tmp;
-
-			tmp = nm_example_connection_new (full_path, NULL, &error);
-			if (tmp) {
-				if (!nm_connection_compare (NM_CONNECTION (connection),
-				                            NM_CONNECTION (tmp),
-				                            NM_SETTING_COMPARE_FLAG_IGNORE_AGENT_OWNED_SECRETS |
-				                              NM_SETTING_COMPARE_FLAG_IGNORE_NOT_SAVED_SECRETS)) {
-					/* Connection changed; update our internal connection object */
-					nm_log_info (LOGD_SETTINGS, "updating %s", full_path);
-					update_connection_settings (connection, tmp);
-				}
-				g_object_unref (tmp);
-			} else {
-				/* There was an error parsing the updated connection; it may
-				 * no longer be valid and thus we've got to delete it.  If it
-				 * becomes valid again later we'll get another change
-				 * notification, we'll re-read it, and we'll treat it as new.
-				 */
-				nm_log_info (LOGD_SETTINGS, "    error: %s",
-				             (error && error->message) ? error->message : "(unknown)");
-				remove_connection (SC_PLUGIN_EXAMPLE (config), connection, full_path);
-			}
-			g_clear_error (&error);
-		} else {
-			nm_log_info (LOGD_SETTINGS, "updating %s", full_path);
-
-			/* We don't know about the connection yet, so the change represents
-			 * a completely new connection.
-			 */
-			connection = nm_example_connection_new (full_path, NULL, &error);
-			if (connection) {
-				NMExampleConnection *found = NULL;
-
-				/* Connection renames will show up as different files but with
-				 * the same UUID.  Try to find the original connection.
-				 * A connection rename is treated just like an update except
-				 * there's a bit more housekeeping with the hash table.
-				 */
-				found = find_by_uuid (self, nm_connection_get_uuid (NM_CONNECTION (connection)));
-				if (found) {
-					const char *old_path = nm_example_connection_get_path (connection);
-
-					/* Removing from the hash table should drop the last reference,
-					 * but of course we want to keep the connection around.
-					 */
-					g_object_ref (found);
-					g_hash_table_remove (priv->connections, old_path);
-
-					/* Updating settings should update the NMExampleConnection's
-					 * filename property too.
-					 */
-					update_connection_settings (found, connection);
-
-					/* Re-insert the connection back into the hash with the new filename */
-					g_hash_table_insert (priv->connections,
-					                     g_strdup (nm_example_connection_get_path (found)),
-					                     found);
-
-					/* Get rid of the temporary connection */
-					g_object_unref (connection);
-				} else {
-					/* Completely new connection, not a rename. */
-					g_hash_table_insert (priv->connections,
-					                     g_strdup (nm_example_connection_get_path (connection)),
-					                     connection);
-					/* Tell NM we found a new connection */
-					g_signal_emit_by_name (config, NM_SYSTEM_CONFIG_INTERFACE_CONNECTION_ADDED, connection);
-				}
-			} else {
-				nm_log_info (LOGD_SETTINGS, "    error: %s", (error && error->message) ? error->message : "(unknown)");
-				g_clear_error (&error);
-			}
-		}
-		break;
-	default:
-		break;
-	}
-
-	g_free (full_path);
-}
-
-static void
-conf_file_changed (GFileMonitor *monitor,
-				   GFile *file,
-				   GFile *other_file,
-				   GFileMonitorEvent event_type,
-				   gpointer data)
-{
-	SCPluginExample *self = SC_PLUGIN_EXAMPLE (data);
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (self);
-	char *tmp;
-
-	switch (event_type) {
-	case G_FILE_MONITOR_EVENT_DELETED:
-	case G_FILE_MONITOR_EVENT_CREATED:
-	case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
-		/* Unmanaged devices option may have changed; just emit the changed
-		 * signal for unmanaged specs and when NM calls back in to get the
-		 * updated specs we'll re-read the config file then.
-		 */
-		g_signal_emit_by_name (self, NM_SYSTEM_CONFIG_INTERFACE_UNMANAGED_SPECS_CHANGED);
-
-		/* Hostname may also have changed; read it and if it did actually
-		 * change, notify NM.
-		 */
-		tmp = plugin_get_hostname (self);
-		if (g_strcmp0 (tmp, priv->hostname) != 0) {
-			g_free (priv->hostname);
-			priv->hostname = tmp;
-			tmp = NULL;
-			g_object_notify (G_OBJECT (self), NM_SYSTEM_CONFIG_INTERFACE_HOSTNAME);
-		}
-		g_free (tmp);
-		break;
-	default:
-		break;
-	}
-}
-
-/* This function starts the inotify monitors that watch the plugin's config
- * file directory for new connections and changes to existing connections
- * (if not disabled by NetworkManager.conf), and for changes to the plugin's
- * non-connection config files.
- */
-static void
-setup_monitoring (NMSystemConfigInterface *config)
-{
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (config);
-	GFileMonitor *monitor;
-	GFile *file;
-
-	/* Initialize connection hash here; we use the connection hash as the 
-	 * "are we initialized yet" variable.
-	 */
-	priv->connections = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
-
-	if (nm_config_get_monitor_connection_files (nm_config_get ())) {
-		/* Set up the watch for our config directory */
-		file = g_file_new_for_path (EXAMPLE_DIR);
-		monitor = g_file_monitor_directory (file, G_FILE_MONITOR_NONE, NULL, NULL);
-		g_object_unref (file);
-		if (monitor) {
-			/* This registers the dir_changed() function to be called whenever
-			 * the GFileMonitor object notices a change in the directory.
-			 */
-			priv->monitor_id = g_signal_connect (monitor, "changed", G_CALLBACK (dir_changed), config);
-			priv->monitor = monitor;
-		}
-	}
-
-	/* Set up a watch on our configuration file, basically just for watching
-	 * whether the user has changed the unmanaged devices option or the
-	 * persistent hostname.
-	 */
-	if (priv->conf_file) {
-		file = g_file_new_for_path (priv->conf_file);
-		monitor = g_file_monitor_file (file, G_FILE_MONITOR_NONE, NULL, NULL);
-		g_object_unref (file);
-
-		if (monitor) {
-			priv->conf_file_monitor_id = g_signal_connect (monitor, "changed", G_CALLBACK (conf_file_changed), config);
-			priv->conf_file_monitor = monitor;
-		}
-	}
-}
-
-/*******************************************************************/
-
-/* Return to NM the full list of connections this plugin owns */
-static GSList *
-get_connections (NMSystemConfigInterface *config)
-{
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (config);
-	GHashTableIter iter;
-	NMSettingsConnection *connection;
-	GSList *list = NULL;
-
-	if (!priv->connections) {
-		/* If we haven't read connections in yet, do so now */
-		setup_monitoring (config);
-		read_connections (config);
-	}
-
-	/* Add each connection from our internal hash table to a list returned
-	 * to NetworkManager.
-	 */
-	g_hash_table_iter_init (&iter, priv->connections);
-	while (g_hash_table_iter_next (&iter, NULL, (gpointer) &connection))
-		list = g_slist_prepend (list, connection);
-	return list;
-}
-
-/* Called by NetworkManager when a user adds a new connection via D-Bus.
- * The plugin should convert the data in 'connection' to its on-disk format
- * write it out to disk, and return an object that's a subclass of
- * NMSettingsConnection.  Typically plugins will subclass NMSettingsConnection
- * and use that class to handle any plugin-specific stuff like monitoring
- * the on-disk config files for changes, and/or parsing the file-format and
- * converting back and forth from that to NMConnection.
- */
-static NMSettingsConnection *
-add_connection (NMSystemConfigInterface *config,
-                NMConnection *connection,
-                gboolean save_to_disk,
-                GError **error)
-{
-	SCPluginExample *self = SC_PLUGIN_EXAMPLE (config);
-	NMSettingsConnection *added = NULL;
-	char *path = NULL;
-
-	/* Write it out first, then add the connection to our internal list; that
-	 * way we don't trigger the new NMSettingsConnection subclass' file watch
-	 * functions needlessly.
-	 */
-	if (save_to_disk && !write_connection (connection, NULL, &path, error))
-		return NULL;
-
-	added = _internal_new_connection (self, path, connection, error);
-	g_free (path);
-	return added;
-}
-
-/* This function returns a list of "unmanaged device specs" which represent
- * a list of devices that NetworkManager should not manage.  Each unmanaged
- * spec item has a specific format starting with a "tag" and followed by
- * tag-specific data.  The only currently specified items are "mac:" followed
- * by the MAC address of the interface NM should not manage, or "interface-name:"
- * followed by the name of the interface NM should not manage.  This function
- * reads the list of unmanaged devices from wherever the plugin wants to
- * store them and returns that list to NetworkManager.
- */
-static GSList *
-get_unmanaged_specs (NMSystemConfigInterface *config)
-{
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (config);
-	GKeyFile *key_file;
-	GSList *specs = NULL;
-	GError *error = NULL;
-	char *str, **ids;
-	int i;
-
-	if (!priv->conf_file)
-		return NULL;
-
-	key_file = g_key_file_new ();
-	if (!g_key_file_load_from_file (key_file, priv->conf_file, G_KEY_FILE_NONE, &error)) {
-		nm_log_warn (LOGD_SETTINGS, "Error parsing file '%s': %s", priv->conf_file, error->message);
-		g_error_free (error);
-		goto out;
-	}
-
-
-	str = g_key_file_get_value (key_file, "keyfile", "unmanaged-devices", NULL);
-	if (!str)
-		goto out;
-
-	ids = g_strsplit (str, ";", -1);
-	for (i = 0; ids[i] != NULL; i++) {
-		/* Verify unmanaged specification and add it to the list */
-		if (!strncmp (ids[i], "mac:", 4) && nm_utils_hwaddr_valid (ids[i] + 4, -1)) {
-			specs = g_slist_append (specs, ids[i]);
-		} else if (!strncmp (ids[i], "interface-name:", 15) && nm_utils_iface_valid_name (ids[i] + 15)) {
-			specs = g_slist_append (specs, ids[i]);
-		} else {
-			nm_log_warn (LOGD_SETTINGS, "Error in file '%s': invalid unmanaged-devices entry: '%s'", priv->conf_file, ids[i]);
-			g_free (ids[i]);
-		}
-	}
-
-	g_free (ids); /* Yes, g_free, not g_strfreev because we need the strings in the list */
-	g_free (str);
-
-out:
-	g_key_file_free (key_file);
-	return specs;
-}
-
-
-static char *
-plugin_get_hostname (SCPluginExample *plugin)
-{
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (plugin);
-	GKeyFile *key_file;
-	char *hostname = NULL;
-	GError *error = NULL;
-
-	if (!priv->conf_file)
-		return NULL;
-
-	/* Read the persistent hostname out of backing storage, which happens
-	 * to be the NM config file.  Other plugins (like distro-specific ones)
-	 * should read it from the distro-specific location like /etc/hostname.
-	 */
-	key_file = g_key_file_new ();
-	if (g_key_file_load_from_file (key_file, priv->conf_file, G_KEY_FILE_NONE, &error))
-		hostname = g_key_file_get_value (key_file, "keyfile", "hostname", NULL);
-	else {
-		nm_log_warn (LOGD_SETTINGS, "Error parsing file '%s': %s", priv->conf_file, error->message);
-		g_error_free (error);
-	}
-
-	g_key_file_free (key_file);
-	return hostname;
-}
-
-static gboolean
-plugin_set_hostname (SCPluginExample *plugin, const char *hostname)
-{
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (plugin);
-	GKeyFile *key_file;
-	GError *error = NULL;
-	gboolean success = FALSE;
-	char *data;
-	gsize len;
-
-	if (!priv->conf_file) {
-		nm_log_warn (LOGD_SETTINGS, "Error saving hostname: no config file");
-		return FALSE;
-	}
-
-	/* This just saves the hostname to the NM config file in a section
-	 * private to this plugin.
-	 */
-	key_file = g_key_file_new ();
-	if (!g_key_file_load_from_file (key_file, priv->conf_file, G_KEY_FILE_NONE, &error)) {
-		nm_log_warn (LOGD_SETTINGS, "Error parsing file '%s': %s", priv->conf_file, error->message);
-		g_error_free (error);
-		goto out;
-	}
-
-	g_key_file_set_string (key_file, "example", "hostname", hostname);
-
-	data = g_key_file_to_data (key_file, &len, &error);
-	if (data) {
-		/* Save updated file to disk */
-		g_file_set_contents (priv->conf_file, data, len, &error);
-		g_free (data);
-
-		/* Update internal copy of hostname */
-		g_free (priv->hostname);
-		priv->hostname = g_strdup (hostname);
-		success = TRUE;
-	}
-
-	if (error) {
-		nm_log_warn (LOGD_SETTINGS, "Error saving hostname: %s", error->message);
-		g_error_free (error);
-	}
-
-out:
-	g_key_file_free (key_file);
-	return success;
-}
-
-/* GObject */
-
-static void
-sc_plugin_example_init (SCPluginExample *plugin)
-{
-	/* Here we'd do any instance-specific initialization like setting
-	 * members of SCPluginExamplePrivate to default values.  But we
-	 * don't have anything to do here since most initialization is done
-	 * when NM calls the various entry points.
-	 */
-}
-
-static void
-get_property (GObject *object, guint prop_id,
-		    GValue *value, GParamSpec *pspec)
-{
-	switch (prop_id) {
-	case NM_SYSTEM_CONFIG_INTERFACE_PROP_NAME:
-		g_value_set_string (value, EXAMPLE_PLUGIN_NAME);
-		break;
-	case NM_SYSTEM_CONFIG_INTERFACE_PROP_INFO:
-		g_value_set_string (value, EXAMPLE_PLUGIN_INFO);
-		break;
-	case NM_SYSTEM_CONFIG_INTERFACE_PROP_CAPABILITIES:
-		/* Return capabilities to NM; this plugin supports changing connections
-		 * as well as being capable of saving the hostname to persistent storage.
-		 * If the plugin can't write out updated configuration, then obviously
-		 * it shouldn't advertise that capability.  If it can't save hostnames
-		 * to persistent storage, it shouldn't advertise that capability either.
-		 */
-		g_value_set_uint (value, NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_CONNECTIONS | 
-						  NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME);
-		break;
-	case NM_SYSTEM_CONFIG_INTERFACE_PROP_HOSTNAME:
-		/* Return the hostname we've read from persistent storage */
-		g_value_set_string (value, SC_PLUGIN_EXAMPLE_GET_PRIVATE (object)->hostname);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-		break;
-	}
-}
-
-static void
-set_property (GObject *object, guint prop_id,
-			  const GValue *value, GParamSpec *pspec)
-{
-	const char *hostname;
-
-	switch (prop_id) {
-	case NM_SYSTEM_CONFIG_INTERFACE_PROP_HOSTNAME:
-		/* We'll get here when the user has changed the hostname via NM's
-		 * D-Bus interface and we're requested to save this hostname to
-		 * persistent storage.
-		 */
-		hostname = g_value_get_string (value);
-		if (hostname && strlen (hostname) < 1)
-			hostname = NULL;
-		plugin_set_hostname (SC_PLUGIN_EXAMPLE (object), hostname);
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-		break;
-	}
-}
-
-static void
-dispose (GObject *object)
-{
-	SCPluginExamplePrivate *priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (object);
-
-	/* GObject has a two-stage object destruction process: dispose and finalize.
-	 * In dispose the object should free any references it might have on other
-	 * objects to break circular refs, then it's finally cleaned up by finalize.
-	 * We don't bother to implement a finalize, so we just make sure that we
-	 * clean everything up (including clearing pointers) in dispose so that
-	 * if GObject decides to revive this object post-dispose (yes, legal)
-	 * we don't crash on dangling pointers.
-	 */
-
-	if (priv->monitor) {
-		if (priv->monitor_id) {
-			g_signal_handler_disconnect (priv->monitor, priv->monitor_id);
-			priv->monitor_id = 0;
-		}
-
-		g_file_monitor_cancel (priv->monitor);
-		g_object_unref (priv->monitor);
-		priv->monitor = NULL;
-	}
-
-	if (priv->conf_file_monitor) {
-		if (priv->conf_file_monitor_id) {
-			g_signal_handler_disconnect (priv->conf_file_monitor, priv->conf_file_monitor_id);
-			priv->conf_file_monitor_id = 0;
-		}
-
-		g_file_monitor_cancel (priv->conf_file_monitor);
-		g_object_unref (priv->conf_file_monitor);
-		priv->conf_file_monitor = NULL;
-	}
-
-	if (priv->connections) {
-		/* Destroying the connections hash unrefs each connection in it
-		 * due to the GHashTable value_destroy_func that we passed into
-		 * g_hash_table_new_full().
-		 */
-		g_hash_table_destroy (priv->connections);
-		priv->connections = NULL;
-	}
-
-	g_free (priv->hostname);
-	priv->hostname = NULL;
-
-	/* Chain up to the superclass */
-	G_OBJECT_CLASS (sc_plugin_example_parent_class)->dispose (object);
-}
-
-/* This function gets called to set up any method and property overrides
- * of superclasses, and also (if we actually had any) to set up any
- * custom properties and signals this object might have.  This is called before
- * the object is actually instantiated; it just sets up the generic class
- * stuff, not anything related to a specific object instance.
- */
-static void
-sc_plugin_example_class_init (SCPluginExampleClass *req_class)
-{
-	GObjectClass *object_class = G_OBJECT_CLASS (req_class);
-
-	/* This actually creates and zeros the object's instance data struct */
-	g_type_class_add_private (req_class, sizeof (SCPluginExamplePrivate));
-
-	/* Override GObject base class methods with our custom implementations */
-	object_class->dispose = dispose;
-	object_class->get_property = get_property;
-	object_class->set_property = set_property;
-
-	/* Override various GObject properties that we need to change.  Here we
-	 * just tell GObject that we will be handling the get/set operations for
-	 * these specific properties.  They are actually defined by the
-	 * NMSystemConfigInterface interface in nm-system-config-interface.c.
-	 * What happens here is that we tell GObject that for a given property
-	 * name (ie NM_SYSTEM_CONFIG_INTERFACE_NAME) we'll be using the enum value
-	 * NM_SYSTEM_CONFIG_INTERFACE_PROP_NAME locally in get_property() and
-	 * set_property().
-	 */
-	g_object_class_override_property (object_class,
-	                                  NM_SYSTEM_CONFIG_INTERFACE_PROP_NAME,
-	                                  NM_SYSTEM_CONFIG_INTERFACE_NAME);
-
-	g_object_class_override_property (object_class,
-	                                  NM_SYSTEM_CONFIG_INTERFACE_PROP_INFO,
-	                                  NM_SYSTEM_CONFIG_INTERFACE_INFO);
-
-	g_object_class_override_property (object_class,
-	                                  NM_SYSTEM_CONFIG_INTERFACE_PROP_CAPABILITIES,
-	                                  NM_SYSTEM_CONFIG_INTERFACE_CAPABILITIES);
-
-	g_object_class_override_property (object_class,
-	                                  NM_SYSTEM_CONFIG_INTERFACE_PROP_HOSTNAME,
-	                                  NM_SYSTEM_CONFIG_INTERFACE_HOSTNAME);
-}
-
-static void
-system_config_interface_init (NMSystemConfigInterface *sci_intf)
-{
-	/* Interface implementation for NMSystemConfigInterface.  This sets
-	 * up the GInterface vtable that lets GObject know what functions to
-	 * call for each method of the NMSystemConfigInterface interface.
-	 */
-	sci_intf->get_connections = get_connections;
-	sci_intf->add_connection = add_connection;
-	sci_intf->get_unmanaged_specs = get_unmanaged_specs;
-}
-
-/*******************************************************************/
-
-/* Factory function: this is the first entry point for NetworkManager, which
- * gets called during NM startup to create the instance of this plugin
- * that NetworkManager will actually use.  Since every plugin is a singleton
- * we just return a singleton instance.  This function should never be called
- * twice.
- */
-G_MODULE_EXPORT GObject *
-nm_system_config_factory (void)
-{
-	static SCPluginExample *singleton = NULL;
-	SCPluginExamplePrivate *priv;
-
-	if (!singleton) {
-		/* Instantiate our plugin */
-		singleton = SC_PLUGIN_EXAMPLE (g_object_new (SC_TYPE_PLUGIN_EXAMPLE, NULL));
-		priv = SC_PLUGIN_EXAMPLE_GET_PRIVATE (singleton);
-
-		/* Cache the config file path */
-		priv->conf_file = nm_config_data_get_config_main_file (nm_config_get_data (nm_config_get ()));
-	} else {
-		/* This function should never be called twice */
-		g_assert_not_reached ();
-	}
-
-	return G_OBJECT (singleton);
-}
-
diff --git a/src/settings/plugins/example/plugin.h b/src/settings/plugins/example/plugin.h
deleted file mode 100644
index f10ee1c4..00000000
--- a/src/settings/plugins/example/plugin.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager system settings service - example plugin
- *
- * 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.
- *
- * Copyright (C) 2012 Red Hat, Inc.
- */
-
-#ifndef _PLUGIN_H_
-#define _PLUGIN_H_
-
-#include <glib-object.h>
-
-/* GObject boilerplate: you usually only need to rename 'example' here to
- * your plugin's name.  These functions get used when casting pointers
- * to your plugin's object type.
- */
-#define SC_TYPE_PLUGIN_EXAMPLE            (sc_plugin_example_get_type ())
-#define SC_PLUGIN_EXAMPLE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), SC_TYPE_PLUGIN_EXAMPLE, SCPluginExample))
-#define SC_PLUGIN_EXAMPLE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), SC_TYPE_PLUGIN_EXAMPLE, SCPluginExampleClass))
-#define SC_IS_PLUGIN_EXAMPLE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SC_TYPE_PLUGIN_EXAMPLE))
-#define SC_IS_PLUGIN_EXAMPLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SC_TYPE_PLUGIN_EXAMPLE))
-#define SC_PLUGIN_EXAMPLE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), SC_TYPE_PLUGIN_EXAMPLE, SCPluginExampleClass))
-
-typedef struct {
-	/* GObject instance structure for the plugin; we don't do anything special
-	 * here so this object's instance is exactly the same as its parent.
-	 */
-	GObject parent;
-} SCPluginExample;
-
-typedef struct {
-	/* GObject class structure; we don't do anything special here
-	 * so this object's class is exactly the same as its parent.  Typically
-	 * if the plugin implemented custom signals their prototypes would go
-	 * here, but most plugins don't need to do this.
-	 */
-	GObjectClass parent;
-} SCPluginExampleClass;
-
-GType sc_plugin_example_get_type (void);
-
-#endif	/* _PLUGIN_H_ */
diff --git a/src/settings/plugins/example/reader.c b/src/settings/plugins/example/reader.c
deleted file mode 100644
index ee45440a..00000000
--- a/src/settings/plugins/example/reader.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager system settings service
- *
- * 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.
- *
- * Copyright (C) 2012 Red Hat, Inc.
- */
-
-#include "config.h"
-
-#include <glib.h>
-
-#include <nm-connection.h>
-#include <nm-dbus-interface.h>
-
-#include "common.h"
-
-NMConnection *
-connection_from_file (const char *filename, GError **error)
-{
-	/* This function should, given a file path, read that file and convert its
-	 * data into an NMConnection.  There are two approaches to this.  First,
-	 * if the plugin data format is similar to the NMConnection internal
-	 * format, you can get away with calling nm_connection_for_each_setting_value()
-	 * to iterate through every possible setting's keys and read that value
-	 * from the plugin's format.  If the plugin's format is siginificantly
-	 * different then you may have to build up the connection manually by
-	 * determining the type of connection from the on-disk data, creating
-	 * each setting object, adding the values, then adding that setting to
-	 * the NMConnection.
-	 */
-
-	return NULL;
-}
-
diff --git a/src/settings/plugins/example/writer.c b/src/settings/plugins/example/writer.c
deleted file mode 100644
index 41e5c498..00000000
--- a/src/settings/plugins/example/writer.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager system settings service
- *
- * 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.
- *
- * Copyright (C) 2012 Red Hat, Inc.
- */
-
-#include "config.h"
-
-#include <glib.h>
-
-#include <nm-connection.h>
-
-#include "common.h"
-
-gboolean
-write_connection (NMConnection *connection,
-                  const char *existing_path,
-                  char **out_path,
-                  GError **error)
-{
-	/* This function should take the NMConnection and convert it to the format
-	 * which this plugin uses on-disk and then write out that data.  It returns
-	 * the file path of the file that represents this connection data so that
-	 * the plugin can track it for change notification and updates.  If
-	 * 'existing_path' is given we can assume that this is an update of an
-	 * existing connection and not a completely new one.
-	 */
-
-	/* There are two approaches to converting the data.  The first more manual
-	 * approach consists of grabbing each setting value from the NMConnection
-	 * and converting it into the appropriate value for the plugin's data
-	 * format.  This is usually taken by distro plugins because their format
-	 * is significantly different than NetworkManager's internal format.
-	 * The second uses nm_connection_for_each_setting_value() to iterate
-	 * through each value of each setting in the NMConnection, convert it to
-	 * the required format, and write it out, but this requires that the
-	 * plugin format more closely follow the NetworkManager internal format.
-	 */
-
-	return FALSE;
-}
-