summary refs log tree commit diff
path: root/src/devices/wifi
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/wifi')
-rw-r--r--src/devices/wifi/Makefile.am58
-rw-r--r--src/devices/wifi/Makefile.in982
-rw-r--r--src/devices/wifi/exports.ver6
-rw-r--r--src/devices/wifi/nm-device-olpc-mesh.c165
-rw-r--r--src/devices/wifi/nm-device-olpc-mesh.h19
-rw-r--r--src/devices/wifi/nm-device-wifi.c486
-rw-r--r--src/devices/wifi/nm-device-wifi.h9
-rw-r--r--src/devices/wifi/nm-wifi-ap.c758
-rw-r--r--src/devices/wifi/nm-wifi-ap.h118
-rw-r--r--src/devices/wifi/nm-wifi-factory.c51
-rw-r--r--src/devices/wifi/nm-wifi-utils.c (renamed from src/devices/wifi/nm-wifi-ap-utils.c)23
-rw-r--r--src/devices/wifi/nm-wifi-utils.h (renamed from src/devices/wifi/nm-wifi-ap-utils.h)28
-rw-r--r--src/devices/wifi/tests/Makefile.am28
-rw-r--r--src/devices/wifi/tests/Makefile.in1175
-rw-r--r--src/devices/wifi/tests/test-general.c (renamed from src/devices/wifi/tests/test-wifi-ap-utils.c)114
15 files changed, 918 insertions, 3102 deletions
diff --git a/src/devices/wifi/Makefile.am b/src/devices/wifi/Makefile.am
deleted file mode 100644
index add0a007..00000000
--- a/src/devices/wifi/Makefile.am
+++ /dev/null
@@ -1,58 +0,0 @@
-include $(GLIB_MAKEFILE)
-
-@GNOME_CODE_COVERAGE_RULES@
-
-if ENABLE_TESTS
-SUBDIRS=. tests
-endif
-
-AM_CPPFLAGS = \
-	-I${top_srcdir}/src \
-	-I${top_builddir}/src \
-	-I${top_srcdir}/src/devices \
-	-I${top_srcdir}/src/settings \
-	-I${top_srcdir}/src/platform \
-	-I${top_srcdir}/src/supplicant-manager \
-	-I${top_builddir}/introspection \
-	-I${top_srcdir}/shared \
-	-I$(top_builddir)/shared \
-	-I${top_builddir}/libnm-core \
-	-I${top_srcdir}/libnm-core \
-	-DG_LOG_DOMAIN=\""NetworkManager-wifi"\" \
-	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \
-	$(GLIB_CFLAGS)
-
-pkglib_LTLIBRARIES = libnm-device-plugin-wifi.la
-
-libnm_device_plugin_wifi_la_SOURCES = \
-	nm-wifi-factory.c \
-	nm-device-wifi.c \
-	nm-device-wifi.h \
-	nm-wifi-ap.c \
-	nm-wifi-ap.h \
-	nm-wifi-ap-utils.c \
-	nm-wifi-ap-utils.h \
-	nm-device-olpc-mesh.c \
-	nm-device-olpc-mesh.h
-
-SYMBOL_VIS_FILE=$(srcdir)/exports.ver
-
-libnm_device_plugin_wifi_la_LDFLAGS = \
-	-module -avoid-version \
-	 -Wl,--version-script=$(SYMBOL_VIS_FILE)
-
-libnm_device_plugin_wifi_la_LIBADD = \
-	$(top_builddir)/introspection/libnmdbus.la \
-	$(GLIB_LIBS) \
-	$(GUDEV_LIBS)
-
-EXTRA_DIST = $(SYMBOL_VIS_FILE)
-
-if ENABLE_TESTS
-
-check-local:
-	$(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-wifi.so $(SYMBOL_VIS_FILE)
-	LD_BIND_NOW=1 LD_PRELOAD=$(builddir)/.libs/libnm-device-plugin-wifi.so $(top_builddir)/src/NetworkManager --version >/dev/null
-
-endif
-
diff --git a/src/devices/wifi/Makefile.in b/src/devices/wifi/Makefile.in
deleted file mode 100644
index 42246d5c..00000000
--- a/src/devices/wifi/Makefile.in
+++ /dev/null
@@ -1,982 +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/devices/wifi
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/attributes.m4 \
-	$(top_srcdir)/m4/ax_lib_readline.m4 \
-	$(top_srcdir)/m4/compiler_options.m4 \
-	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/git-sha-record.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 =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(pkglibdir)"
-LTLIBRARIES = $(pkglib_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libnm_device_plugin_wifi_la_DEPENDENCIES =  \
-	$(top_builddir)/introspection/libnmdbus.la \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am_libnm_device_plugin_wifi_la_OBJECTS = nm-wifi-factory.lo \
-	nm-device-wifi.lo nm-wifi-ap.lo nm-wifi-ap-utils.lo \
-	nm-device-olpc-mesh.lo
-libnm_device_plugin_wifi_la_OBJECTS =  \
-	$(am_libnm_device_plugin_wifi_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_device_plugin_wifi_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
-	$(AM_CFLAGS) $(CFLAGS) $(libnm_device_plugin_wifi_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_device_plugin_wifi_la_SOURCES)
-DIST_SOURCES = $(libnm_device_plugin_wifi_la_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
-	ctags-recursive dvi-recursive html-recursive info-recursive \
-	install-data-recursive install-dvi-recursive \
-	install-exec-recursive install-html-recursive \
-	install-info-recursive install-pdf-recursive \
-	install-ps-recursive install-recursive installcheck-recursive \
-	installdirs-recursive pdf-recursive ps-recursive \
-	tags-recursive uninstall-recursive
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
-  distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
-  $(RECURSIVE_TARGETS) \
-  $(RECURSIVE_CLEAN_TARGETS) \
-  $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-	distdir
-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
-DIST_SUBDIRS = . tests
-am__DIST_COMMON = $(srcdir)/Makefile.in \
-	$(top_srcdir)/build-aux/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-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@
-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_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@
-DL_LIBS = @DL_LIBS@
-DNSMASQ_PATH = @DNSMASQ_PATH@
-DNSSEC_TRIGGER_SCRIPT = @DNSSEC_TRIGGER_SCRIPT@
-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@
-JANSSON_CFLAGS = @JANSSON_CFLAGS@
-JANSSON_LIBS = @JANSSON_LIBS@
-KERNEL_FIRMWARE_DIR = @KERNEL_FIRMWARE_DIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBAUDIT_CFLAGS = @LIBAUDIT_CFLAGS@
-LIBAUDIT_LIBS = @LIBAUDIT_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@
-LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
-LIBSYSTEMD_LIBS = @LIBSYSTEMD_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_CONFIG_DEFAULT_DNS_RC_MANAGER = @NM_CONFIG_DEFAULT_DNS_RC_MANAGER@
-NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT = @NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT@
-NM_CONFIG_LOGGING_BACKEND_DEFAULT_TEXT = @NM_CONFIG_LOGGING_BACKEND_DEFAULT_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@
-QT_CFLAGS = @QT_CFLAGS@
-QT_LIBS = @QT_LIBS@
-RANLIB = @RANLIB@
-READLINE_LIBS = @READLINE_LIBS@
-SANITIZERS = @SANITIZERS@
-SANITIZER_ENV = @SANITIZER_ENV@
-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_JOURNAL_CFLAGS = @SYSTEMD_JOURNAL_CFLAGS@
-SYSTEMD_JOURNAL_LIBS = @SYSTEMD_JOURNAL_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@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-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@
-nmlibdir = @nmlibdir@
-nmrundir = @nmrundir@
-nmstatedir = @nmstatedir@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-runstatedir = @runstatedir@
-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@
-@ENABLE_TESTS_TRUE@SUBDIRS = . tests
-AM_CPPFLAGS = \
-	-I${top_srcdir}/src \
-	-I${top_builddir}/src \
-	-I${top_srcdir}/src/devices \
-	-I${top_srcdir}/src/settings \
-	-I${top_srcdir}/src/platform \
-	-I${top_srcdir}/src/supplicant-manager \
-	-I${top_builddir}/introspection \
-	-I${top_srcdir}/shared \
-	-I$(top_builddir)/shared \
-	-I${top_builddir}/libnm-core \
-	-I${top_srcdir}/libnm-core \
-	-DG_LOG_DOMAIN=\""NetworkManager-wifi"\" \
-	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \
-	$(GLIB_CFLAGS)
-
-pkglib_LTLIBRARIES = libnm-device-plugin-wifi.la
-libnm_device_plugin_wifi_la_SOURCES = \
-	nm-wifi-factory.c \
-	nm-device-wifi.c \
-	nm-device-wifi.h \
-	nm-wifi-ap.c \
-	nm-wifi-ap.h \
-	nm-wifi-ap-utils.c \
-	nm-wifi-ap-utils.h \
-	nm-device-olpc-mesh.c \
-	nm-device-olpc-mesh.h
-
-SYMBOL_VIS_FILE = $(srcdir)/exports.ver
-libnm_device_plugin_wifi_la_LDFLAGS = \
-	-module -avoid-version \
-	 -Wl,--version-script=$(SYMBOL_VIS_FILE)
-
-libnm_device_plugin_wifi_la_LIBADD = \
-	$(top_builddir)/introspection/libnmdbus.la \
-	$(GLIB_LIBS) \
-	$(GUDEV_LIBS)
-
-EXTRA_DIST = $(SYMBOL_VIS_FILE)
-all: all-recursive
-
-.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/devices/wifi/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu src/devices/wifi/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):
-
-install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
-	list2=; for p in $$list; do \
-	  if test -f $$p; then \
-	    list2="$$list2 $$p"; \
-	  else :; fi; \
-	done; \
-	test -z "$$list2" || { \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
-	}
-
-uninstall-pkglibLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
-	for p in $$list; do \
-	  $(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
-	done
-
-clean-pkglibLTLIBRARIES:
-	-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
-	@list='$(pkglib_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-device-plugin-wifi.la: $(libnm_device_plugin_wifi_la_OBJECTS) $(libnm_device_plugin_wifi_la_DEPENDENCIES) $(EXTRA_libnm_device_plugin_wifi_la_DEPENDENCIES) 
-	$(AM_V_CCLD)$(libnm_device_plugin_wifi_la_LINK) -rpath $(pkglibdir) $(libnm_device_plugin_wifi_la_OBJECTS) $(libnm_device_plugin_wifi_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nm-device-olpc-mesh.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nm-device-wifi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nm-wifi-ap-utils.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nm-wifi-ap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nm-wifi-factory.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
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-#     (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
-	@fail=; \
-	if $(am__make_keepgoing); then \
-	  failcom='fail=yes'; \
-	else \
-	  failcom='exit 1'; \
-	fi; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	set x; \
-	here=`pwd`; \
-	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-	  include_option=--etags-include; \
-	  empty_fix=.; \
-	else \
-	  include_option=--include; \
-	  empty_fix=; \
-	fi; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test ! -f $$subdir/TAGS || \
-	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-	  fi; \
-	done; \
-	$(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-recursive
-
-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-recursive
-
-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
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    $(am__make_dryrun) \
-	      || test -d "$(distdir)/$$subdir" \
-	      || $(MKDIR_P) "$(distdir)/$$subdir" \
-	      || exit 1; \
-	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-	    $(am__relativize); \
-	    new_distdir=$$reldir; \
-	    dir1=$$subdir; dir2="$(top_distdir)"; \
-	    $(am__relativize); \
-	    new_top_distdir=$$reldir; \
-	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-	    ($(am__cd) $$subdir && \
-	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$new_top_distdir" \
-	        distdir="$$new_distdir" \
-		am__remove_distdir=: \
-		am__skip_length_check=: \
-		am__skip_mode_fix=: \
-	        distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-@ENABLE_TESTS_FALSE@check-local:
-check-am: all-am
-	$(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
-	for dir in "$(DESTDIR)$(pkglibdir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-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-recursive
-
-clean-am: clean-generic clean-libtool clean-pkglibLTLIBRARIES \
-	mostlyclean-am
-
-distclean: distclean-recursive
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am: install-pkglibLTLIBRARIES
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-pkglibLTLIBRARIES
-
-.MAKE: $(am__recursive_targets) check-am install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
-	check-am check-local clean clean-generic clean-libtool \
-	clean-pkglibLTLIBRARIES 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-pkglibLTLIBRARIES \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-am uninstall uninstall-am \
-	uninstall-pkglibLTLIBRARIES
-
-.PRECIOUS: Makefile
-
-include $(GLIB_MAKEFILE)
-
-@GNOME_CODE_COVERAGE_RULES@
-
-@ENABLE_TESTS_TRUE@check-local:
-@ENABLE_TESTS_TRUE@	$(top_srcdir)/tools/check-exports.sh $(builddir)/.libs/libnm-device-plugin-wifi.so $(SYMBOL_VIS_FILE)
-@ENABLE_TESTS_TRUE@	LD_BIND_NOW=1 LD_PRELOAD=$(builddir)/.libs/libnm-device-plugin-wifi.so $(top_builddir)/src/NetworkManager --version >/dev/null
-
-# 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/devices/wifi/exports.ver b/src/devices/wifi/exports.ver
deleted file mode 100644
index 24cd848c..00000000
--- a/src/devices/wifi/exports.ver
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-global:
-	nm_device_factory_create;
-local:
-	*;
-};
diff --git a/src/devices/wifi/nm-device-olpc-mesh.c b/src/devices/wifi/nm-device-olpc-mesh.c
index 6fbc63a1..e0258523 100644
--- a/src/devices/wifi/nm-device-olpc-mesh.c
+++ b/src/devices/wifi/nm-device-olpc-mesh.c
@@ -26,6 +26,8 @@
 
 #include "nm-default.h"
 
+#include "nm-device-olpc-mesh.h"
+
 #include <netinet/in.h>
 #include <string.h>
 #include <sys/stat.h>
@@ -35,46 +37,52 @@
 #include <sys/ioctl.h>
 #include <errno.h>
 
-#include "nm-device.h"
+#include "devices/nm-device.h"
 #include "nm-device-wifi.h"
-#include "nm-device-olpc-mesh.h"
-#include "nm-device-private.h"
+#include "devices/nm-device-private.h"
 #include "nm-utils.h"
 #include "NetworkManagerUtils.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
 #include "nm-setting-connection.h"
 #include "nm-setting-olpc-mesh.h"
 #include "nm-manager.h"
-#include "nm-enum-types.h"
-#include "nm-platform.h"
+#include "platform/nm-platform.h"
 
 /* This is a bug; but we can't really change API now... */
 #include "nm-vpn-dbus-interface.h"
 
-#include "nmdbus-device-olpc-mesh.h"
+#include "introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.h"
 
-#include "nm-device-logging.h"
+#include "devices/nm-device-logging.h"
 _LOG_DECLARE_SELF(NMDeviceOlpcMesh);
 
-G_DEFINE_TYPE (NMDeviceOlpcMesh, nm_device_olpc_mesh, NM_TYPE_DEVICE)
-
-#define NM_DEVICE_OLPC_MESH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_OLPC_MESH, NMDeviceOlpcMeshPrivate))
+/*****************************************************************************/
 
-enum {
-	PROP_0,
+NM_GOBJECT_PROPERTIES_DEFINE (NMDeviceOlpcMesh,
 	PROP_COMPANION,
 	PROP_ACTIVE_CHANNEL,
+);
 
-	LAST_PROP
-};
-
-struct _NMDeviceOlpcMeshPrivate {
+typedef struct {
 	NMDevice *companion;
 	NMManager *manager;
 	gboolean  stage1_waiting;
+} NMDeviceOlpcMeshPrivate;
+
+struct _NMDeviceOlpcMesh {
+	NMDevice parent;
+	NMDeviceOlpcMeshPrivate _priv;
 };
 
-/*******************************************************************/
+struct _NMDeviceOlpcMeshClass {
+	NMDeviceClass parent;
+};
+
+G_DEFINE_TYPE (NMDeviceOlpcMesh, nm_device_olpc_mesh, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_OLPC_MESH_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceOlpcMesh, NM_IS_DEVICE_OLPC_MESH)
+
+/*****************************************************************************/
 
 static gboolean
 check_connection_compatible (NMDevice *device, NMConnection *connection)
@@ -103,6 +111,8 @@ can_auto_connect (NMDevice *device,
                   NMConnection *connection,
                   char **specific_object)
 {
+	nm_assert (!specific_object || !*specific_object);
+
 	return FALSE;
 }
 
@@ -150,13 +160,13 @@ complete_connection (NMDevice *device,
 	return TRUE;
 }
 
-/****************************************************************************/
+/*****************************************************************************/
 
 static NMActStageReturn
 act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
 {
 	NMDeviceOlpcMesh *self = NM_DEVICE_OLPC_MESH (device);
-	NMDeviceOlpcMeshPrivate *priv = NM_DEVICE_OLPC_MESH_GET_PRIVATE (device);
+	NMDeviceOlpcMeshPrivate *priv = NM_DEVICE_OLPC_MESH_GET_PRIVATE (self);
 	NMActStageReturn ret;
 	gboolean scanning;
 
@@ -178,7 +188,7 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
 
 
 	/* wait with continuing configuration untill the companion device is done scanning */
-	g_object_get (priv->companion, "scanning", &scanning, NULL);
+	g_object_get (priv->companion, NM_DEVICE_WIFI_SCANNING, &scanning, NULL);
 	if (scanning) {
 		priv->stage1_waiting = TRUE;
 		return NM_ACT_STAGE_RETURN_POSTPONE;
@@ -194,7 +204,7 @@ _mesh_set_channel (NMDeviceOlpcMesh *self, guint32 channel)
 
 	if (nm_platform_mesh_get_channel (NM_PLATFORM_GET, ifindex) != channel) {
 		if (nm_platform_mesh_set_channel (NM_PLATFORM_GET, ifindex, channel))
-			g_object_notify (G_OBJECT (self), NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL);
+			_notify (self, PROP_ACTIVE_CHANNEL);
 	}
 }
 
@@ -243,7 +253,7 @@ is_available (NMDevice *device, NMDeviceCheckDevAvailableFlags flags)
 	return TRUE;
 }
 
-/*******************************************************************/
+/*****************************************************************************/
 
 static void
 companion_cleanup (NMDeviceOlpcMesh *self)
@@ -254,7 +264,7 @@ companion_cleanup (NMDeviceOlpcMesh *self)
 		g_signal_handlers_disconnect_by_data (priv->companion, self);
 		g_clear_object (&priv->companion);
 	}
-	g_object_notify (G_OBJECT (self), NM_DEVICE_OLPC_MESH_COMPANION);
+	_notify (self, PROP_COMPANION);
 }
 
 static void
@@ -267,7 +277,7 @@ companion_notify_cb (NMDeviceWifi *companion, GParamSpec *pspec, gpointer user_d
 	if (!priv->stage1_waiting)
 		return;
 
-	g_object_get (companion, "scanning", &scanning, NULL);
+	g_object_get (companion, NM_DEVICE_WIFI_SCANNING, &scanning, NULL);
 
 	if (!scanning) {
 		priv->stage1_waiting = FALSE;
@@ -343,16 +353,16 @@ check_companion (NMDeviceOlpcMesh *self, NMDevice *other)
 	g_signal_connect (G_OBJECT (other), NM_DEVICE_STATE_CHANGED,
 	                  G_CALLBACK (companion_state_changed_cb), self);
 
-	g_signal_connect (G_OBJECT (other), "notify::scanning",
+	g_signal_connect (G_OBJECT (other), "notify::" NM_DEVICE_WIFI_SCANNING,
 	                  G_CALLBACK (companion_notify_cb), self);
 
-	g_signal_connect (G_OBJECT (other), "scanning-allowed",
+	g_signal_connect (G_OBJECT (other), NM_DEVICE_WIFI_SCANNING_ALLOWED,
 	                  G_CALLBACK (companion_scan_allowed_cb), self);
 
-	g_signal_connect (G_OBJECT (other), "autoconnect-allowed",
+	g_signal_connect (G_OBJECT (other), NM_DEVICE_AUTOCONNECT_ALLOWED,
 	                  G_CALLBACK (companion_autoconnect_allowed_cb), self);
 
-	g_object_notify (G_OBJECT (self), NM_DEVICE_OLPC_MESH_COMPANION);
+	_notify (self, PROP_COMPANION);
 
 	return TRUE;
 }
@@ -413,19 +423,30 @@ state_changed (NMDevice *device,
 		find_companion (NM_DEVICE_OLPC_MESH (device));
 }
 
-/*******************************************************************/
+/*****************************************************************************/
 
-NMDevice *
-nm_device_olpc_mesh_new (const char *iface)
+static void
+get_property (GObject *object, guint prop_id,
+              GValue *value, GParamSpec *pspec)
 {
-	return (NMDevice *) g_object_new (NM_TYPE_DEVICE_OLPC_MESH,
-	                                  NM_DEVICE_IFACE, iface,
-	                                  NM_DEVICE_TYPE_DESC, "802.11 OLPC Mesh",
-	                                  NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_OLPC_MESH,
-	                                  NM_DEVICE_LINK_TYPE, NM_LINK_TYPE_OLPC_MESH,
-	                                  NULL);
+	NMDeviceOlpcMesh *device = NM_DEVICE_OLPC_MESH (object);
+	NMDeviceOlpcMeshPrivate *priv = NM_DEVICE_OLPC_MESH_GET_PRIVATE (device);
+
+	switch (prop_id) {
+	case PROP_COMPANION:
+		nm_utils_g_value_set_object_path (value, priv->companion);
+		break;
+	case PROP_ACTIVE_CHANNEL:
+		g_value_set_uint (value, nm_platform_mesh_get_channel (NM_PLATFORM_GET, nm_device_get_ifindex (NM_DEVICE (device))));
+		break;
+	default:
+		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+		break;
+	}
 }
 
+/*****************************************************************************/
+
 static void
 nm_device_olpc_mesh_init (NMDeviceOlpcMesh * self)
 {
@@ -448,35 +469,15 @@ constructed (GObject *object)
 	nm_device_set_dhcp_timeout (NM_DEVICE (self), 20);
 }
 
-static void
-get_property (GObject *object, guint prop_id,
-              GValue *value, GParamSpec *pspec)
-{
-	NMDeviceOlpcMesh *device = NM_DEVICE_OLPC_MESH (object);
-	NMDeviceOlpcMeshPrivate *priv = NM_DEVICE_OLPC_MESH_GET_PRIVATE (device);
-
-	switch (prop_id) {
-	case PROP_COMPANION:
-		nm_utils_g_value_set_object_path (value, priv->companion);
-		break;
-	case PROP_ACTIVE_CHANNEL:
-		g_value_set_uint (value, nm_platform_mesh_get_channel (NM_PLATFORM_GET, nm_device_get_ifindex (NM_DEVICE (device))));
-		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)
+NMDevice *
+nm_device_olpc_mesh_new (const char *iface)
 {
-	switch (prop_id) {
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-		break;
-	}
+	return (NMDevice *) g_object_new (NM_TYPE_DEVICE_OLPC_MESH,
+	                                  NM_DEVICE_IFACE, iface,
+	                                  NM_DEVICE_TYPE_DESC, "802.11 OLPC Mesh",
+	                                  NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_OLPC_MESH,
+	                                  NM_DEVICE_LINK_TYPE, NM_LINK_TYPE_OLPC_MESH,
+	                                  NULL);
 }
 
 static void
@@ -502,39 +503,33 @@ nm_device_olpc_mesh_class_init (NMDeviceOlpcMeshClass *klass)
 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
 	NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass);
 
-	g_type_class_add_private (object_class, sizeof (NMDeviceOlpcMeshPrivate));
-
 	NM_DEVICE_CLASS_DECLARE_TYPES (klass, NM_SETTING_OLPC_MESH_SETTING_NAME, NM_LINK_TYPE_OLPC_MESH)
 
 	object_class->constructed = constructed;
 	object_class->get_property = get_property;
-	object_class->set_property = set_property;
 	object_class->dispose = dispose;
 
 	parent_class->check_connection_compatible = check_connection_compatible;
 	parent_class->can_auto_connect = can_auto_connect;
 	parent_class->complete_connection = complete_connection;
-
 	parent_class->is_available = is_available;
 	parent_class->act_stage1_prepare = act_stage1_prepare;
 	parent_class->act_stage2_config = act_stage2_config;
-
 	parent_class->state_changed = state_changed;
 
-	/* Properties */
-	g_object_class_install_property
-		(object_class, PROP_COMPANION,
-		 g_param_spec_string (NM_DEVICE_OLPC_MESH_COMPANION, "", "",
-		                      NULL,
-		                      G_PARAM_READABLE |
-		                      G_PARAM_STATIC_STRINGS));
-
-	g_object_class_install_property
-		(object_class, PROP_ACTIVE_CHANNEL,
-		 g_param_spec_uint (NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL, "", "",
-		                    0, G_MAXUINT32, 0,
-		                    G_PARAM_READABLE |
-		                    G_PARAM_STATIC_STRINGS));
+	obj_properties[PROP_COMPANION] =
+	     g_param_spec_string (NM_DEVICE_OLPC_MESH_COMPANION, "", "",
+	                          NULL,
+	                          G_PARAM_READABLE |
+	                          G_PARAM_STATIC_STRINGS);
+
+	obj_properties[PROP_ACTIVE_CHANNEL] =
+	     g_param_spec_uint (NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL, "", "",
+	                        0, G_MAXUINT32, 0,
+	                        G_PARAM_READABLE |
+	                        G_PARAM_STATIC_STRINGS);
+
+	g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
 
 	nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
 	                                        NMDBUS_TYPE_DEVICE_OLPC_MESH_SKELETON,
diff --git a/src/devices/wifi/nm-device-olpc-mesh.h b/src/devices/wifi/nm-device-olpc-mesh.h
index 135226d5..bf0e4da9 100644
--- a/src/devices/wifi/nm-device-olpc-mesh.h
+++ b/src/devices/wifi/nm-device-olpc-mesh.h
@@ -28,7 +28,7 @@
 #ifndef __NETWORKMANAGER_DEVICE_OLPC_MESH_H__
 #define __NETWORKMANAGER_DEVICE_OLPC_MESH_H__
 
-#include "nm-device.h"
+#include "devices/nm-device.h"
 
 #define NM_TYPE_DEVICE_OLPC_MESH            (nm_device_olpc_mesh_get_type ())
 #define NM_DEVICE_OLPC_MESH(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_OLPC_MESH, NMDeviceOlpcMesh))
@@ -41,25 +41,8 @@
 #define NM_DEVICE_OLPC_MESH_BITRATE        "bitrate"
 #define NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL "active-channel"
 
-#ifndef NM_DEVICE_OLPC_MESH_DEFINED
-#define NM_DEVICE_OLPC_MESH_DEFINED
 typedef struct _NMDeviceOlpcMesh NMDeviceOlpcMesh;
-#endif
-
 typedef struct _NMDeviceOlpcMeshClass NMDeviceOlpcMeshClass;
-typedef struct _NMDeviceOlpcMeshPrivate NMDeviceOlpcMeshPrivate;
-
-struct _NMDeviceOlpcMesh
-{
-	NMDevice parent;
-};
-
-struct _NMDeviceOlpcMeshClass
-{
-	NMDeviceClass parent;
-
-};
-
 
 GType nm_device_olpc_mesh_get_type (void);
 
diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c
index c58b3fa8..ed5d2c62 100644
--- a/src/devices/wifi/nm-device-wifi.c
+++ b/src/devices/wifi/nm-device-wifi.c
@@ -29,14 +29,14 @@
 #include <errno.h>
 
 #include "nm-common-macros.h"
-#include "nm-device.h"
-#include "nm-device-private.h"
+#include "devices/nm-device.h"
+#include "devices/nm-device-private.h"
 #include "nm-utils.h"
 #include "NetworkManagerUtils.h"
-#include "nm-activation-request.h"
-#include "nm-supplicant-manager.h"
-#include "nm-supplicant-interface.h"
-#include "nm-supplicant-config.h"
+#include "nm-act-request.h"
+#include "supplicant/nm-supplicant-manager.h"
+#include "supplicant/nm-supplicant-interface.h"
+#include "supplicant/nm-supplicant-config.h"
 #include "nm-setting-connection.h"
 #include "nm-setting-wireless.h"
 #include "nm-setting-wireless-security.h"
@@ -44,17 +44,16 @@
 #include "nm-setting-ip4-config.h"
 #include "nm-ip4-config.h"
 #include "nm-setting-ip6-config.h"
-#include "nm-platform.h"
+#include "platform/nm-platform.h"
 #include "nm-auth-utils.h"
-#include "nm-settings-connection.h"
-#include "nm-settings.h"
-#include "nm-enum-types.h"
+#include "settings/nm-settings-connection.h"
+#include "settings/nm-settings.h"
 #include "nm-core-internal.h"
 #include "nm-config.h"
 
-#include "nmdbus-device-wifi.h"
+#include "introspection/org.freedesktop.NetworkManager.Device.Wireless.h"
 
-#include "nm-device-logging.h"
+#include "devices/nm-device-logging.h"
 _LOG_DECLARE_SELF(NMDeviceWifi);
 
 /* All of these are in seconds */
@@ -91,7 +90,7 @@ typedef struct {
 	gint8             invalid_strength_counter;
 
 	GHashTable *      aps;
-	NMAccessPoint *   current_ap;
+	NMWifiAP *        current_ap;
 	guint32           rate;
 	bool              enabled:1; /* rfkilled or not */
 	bool              requested_scan:1;
@@ -109,6 +108,8 @@ typedef struct {
 
 	NM80211Mode       mode;
 
+	NMActRequestGetSecretsCallId wifi_secrets_id;
+
 	guint             periodic_source_id;
 	guint             link_timeout_id;
 	guint32           failed_iface_count;
@@ -185,7 +186,7 @@ static void request_wireless_scan (NMDeviceWifi *self, GVariant *scan_options);
 
 static void ap_add_remove (NMDeviceWifi *self,
                            guint signum,
-                           NMAccessPoint *ap,
+                           NMWifiAP *ap,
                            gboolean recheck_available_connections);
 
 static void remove_supplicant_interface_error_handler (NMDeviceWifi *self);
@@ -231,7 +232,7 @@ supplicant_interface_acquire (NMDeviceWifi *self)
 
 	priv->sup_iface = nm_supplicant_manager_create_interface (priv->sup_mgr,
 	                                                          nm_device_get_iface (NM_DEVICE (self)),
-	                                                          TRUE);
+	                                                          NM_SUPPLICANT_DRIVER_WIRELESS);
 	if (!priv->sup_iface) {
 		_LOGE (LOGD_WIFI, "Couldn't initialize supplicant interface");
 		return FALSE;
@@ -321,7 +322,7 @@ supplicant_interface_release (NMDeviceWifi *self)
 	}
 }
 
-static NMAccessPoint *
+static NMWifiAP *
 get_ap_by_path (NMDeviceWifi *self, const char *path)
 {
 	g_return_val_if_fail (path != NULL, NULL);
@@ -329,24 +330,24 @@ get_ap_by_path (NMDeviceWifi *self, const char *path)
 
 }
 
-static NMAccessPoint *
+static NMWifiAP *
 get_ap_by_supplicant_path (NMDeviceWifi *self, const char *path)
 {
 	GHashTableIter iter;
-	NMAccessPoint *ap;
+	NMWifiAP *ap;
 
 	g_return_val_if_fail (path != NULL, NULL);
 
 	g_hash_table_iter_init (&iter, NM_DEVICE_WIFI_GET_PRIVATE (self)->aps);
 	while (g_hash_table_iter_next (&iter, NULL, (gpointer) &ap)) {
-		if (g_strcmp0 (path, nm_ap_get_supplicant_path (ap)) == 0)
+		if (g_strcmp0 (path, nm_wifi_ap_get_supplicant_path (ap)) == 0)
 			return ap;
 	}
 	return NULL;
 }
 
 static void
-update_seen_bssids_cache (NMDeviceWifi *self, NMAccessPoint *ap)
+update_seen_bssids_cache (NMDeviceWifi *self, NMWifiAP *ap)
 {
 	g_return_if_fail (NM_IS_DEVICE_WIFI (self));
 
@@ -354,21 +355,21 @@ update_seen_bssids_cache (NMDeviceWifi *self, NMAccessPoint *ap)
 		return;
 
 	/* Don't cache the BSSID for Ad-Hoc APs */
-	if (nm_ap_get_mode (ap) != NM_802_11_MODE_INFRA)
+	if (nm_wifi_ap_get_mode (ap) != NM_802_11_MODE_INFRA)
 		return;
 
 	if (   nm_device_get_state (NM_DEVICE (self)) == NM_DEVICE_STATE_ACTIVATED
 	    && nm_device_has_unmodified_applied_connection (NM_DEVICE (self), NM_SETTING_COMPARE_FLAG_NONE)) {
 		nm_settings_connection_add_seen_bssid (nm_device_get_settings_connection (NM_DEVICE (self)),
-		                                       nm_ap_get_address (ap));
+		                                       nm_wifi_ap_get_address (ap));
 	}
 }
 
 static void
-set_current_ap (NMDeviceWifi *self, NMAccessPoint *new_ap, gboolean recheck_available_connections)
+set_current_ap (NMDeviceWifi *self, NMWifiAP *new_ap, gboolean recheck_available_connections)
 {
 	NMDeviceWifiPrivate *priv;
-	NMAccessPoint *old_ap;
+	NMWifiAP *old_ap;
 
 	g_return_if_fail (NM_IS_DEVICE_WIFI (self));
 
@@ -387,10 +388,10 @@ set_current_ap (NMDeviceWifi *self, NMAccessPoint *new_ap, gboolean recheck_avai
 		priv->current_ap = NULL;
 
 	if (old_ap) {
-		NM80211Mode mode = nm_ap_get_mode (old_ap);
+		NM80211Mode mode = nm_wifi_ap_get_mode (old_ap);
 
 		/* Remove any AP from the internal list if it was created by NM or isn't known to the supplicant */
-		if (mode == NM_802_11_MODE_ADHOC || mode == NM_802_11_MODE_AP || nm_ap_get_fake (old_ap))
+		if (mode == NM_802_11_MODE_ADHOC || mode == NM_802_11_MODE_AP || nm_wifi_ap_get_fake (old_ap))
 			ap_add_remove (self, ACCESS_POINT_REMOVED, old_ap, recheck_available_connections);
 		g_object_unref (old_ap);
 	}
@@ -433,7 +434,7 @@ periodic_update (NMDeviceWifi *self)
 		/* Smooth out the strength to work around crappy drivers */
 		percent = nm_platform_wifi_get_quality (NM_PLATFORM_GET, ifindex);
 		if (percent >= 0 || ++priv->invalid_strength_counter > 3) {
-			nm_ap_set_strength (priv->current_ap, (gint8) percent);
+			nm_wifi_ap_set_strength (priv->current_ap, (gint8) percent);
 			priv->invalid_strength_counter = 0;
 		}
 	}
@@ -452,19 +453,10 @@ periodic_update_cb (gpointer user_data)
 	return TRUE;
 }
 
-static gboolean
-bring_up (NMDevice *device, gboolean *no_firmware)
-{
-	if (!NM_DEVICE_WIFI_GET_PRIVATE ((NMDeviceWifi *) device)->enabled)
-		return FALSE;
-
-	return NM_DEVICE_CLASS (nm_device_wifi_parent_class)->bring_up (device, no_firmware);
-}
-
 static void
 ap_add_remove (NMDeviceWifi *self,
                guint signum,
-               NMAccessPoint *ap,
+               NMWifiAP *ap,
                gboolean recheck_available_connections)
 {
 	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
@@ -497,7 +489,7 @@ remove_all_aps (NMDeviceWifi *self)
 {
 	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
 	GHashTableIter iter;
-	NMAccessPoint *ap;
+	NMWifiAP *ap;
 
 	if (!g_hash_table_size (priv->aps))
 		return;
@@ -548,10 +540,8 @@ deactivate (NMDevice *device)
 	}
 
 	/* Ensure we trigger a scan after deactivating a Hotspot */
-	if (old_mode == NM_802_11_MODE_AP) {
-		nm_clear_g_source (&priv->pending_scan_id);
+	if (old_mode == NM_802_11_MODE_AP)
 		request_wireless_scan (self, NULL);
-	}
 }
 
 static void
@@ -661,24 +651,24 @@ check_connection_compatible (NMDevice *device, NMConnection *connection)
 	return TRUE;
 }
 
-static NMAccessPoint *
+static NMWifiAP *
 find_first_compatible_ap (NMDeviceWifi *self,
                           NMConnection *connection,
                           gboolean allow_unstable_order)
 {
 	GHashTableIter iter;
-	NMAccessPoint *ap;
-	NMAccessPoint *cand_ap = NULL;
+	NMWifiAP *ap;
+	NMWifiAP *cand_ap = NULL;
 
 	g_return_val_if_fail (connection != NULL, NULL);
 
 	g_hash_table_iter_init (&iter, NM_DEVICE_WIFI_GET_PRIVATE (self)->aps);
 	while (g_hash_table_iter_next (&iter, NULL, (gpointer) &ap)) {
-		if (!nm_ap_check_compatible (ap, connection))
+		if (!nm_wifi_ap_check_compatible (ap, connection))
 			continue;
 		if (allow_unstable_order)
 			return ap;
-		if (!cand_ap || (nm_ap_get_id (cand_ap) < nm_ap_get_id (ap)))
+		if (!cand_ap || (nm_wifi_ap_get_id (cand_ap) < nm_wifi_ap_get_id (ap)))
 			cand_ap = ap;
 	}
 	return cand_ap;
@@ -700,10 +690,10 @@ check_connection_available (NMDevice *device,
 	 * also be available in general (without @specific_object). */
 
 	if (specific_object) {
-		NMAccessPoint *ap;
+		NMWifiAP *ap;
 
 		ap = get_ap_by_path (NM_DEVICE_WIFI (device), specific_object);
-		return ap ? nm_ap_check_compatible (ap, connection) : FALSE;
+		return ap ? nm_wifi_ap_check_compatible (ap, connection) : FALSE;
 	}
 
 	/* Ad-Hoc and AP connections are always available because they may be
@@ -773,7 +763,7 @@ complete_connection (NMDevice *device,
 	NMSettingWireless *s_wifi;
 	const char *setting_mac;
 	char *str_ssid = NULL;
-	NMAccessPoint *ap = NULL;
+	NMWifiAP *ap = NULL;
 	const GByteArray *ssid = NULL;
 	GByteArray *tmp_ssid = NULL;
 	GBytes *setting_ssid = NULL;
@@ -833,7 +823,7 @@ complete_connection (NMDevice *device,
 	}
 
 	if (ap)
-		ssid = nm_ap_get_ssid (ap);
+		ssid = nm_wifi_ap_get_ssid (ap);
 	if (ssid == NULL) {
 		/* The AP must be hidden.  Connecting to a WiFi AP requires the SSID
 		 * as part of the initial handshake, so check the connection details
@@ -866,10 +856,10 @@ complete_connection (NMDevice *device,
 		/* If the SSID is a well-known SSID, lock the connection to the AP's
 		 * specific BSSID so NM doesn't autoconnect to some random wifi net.
 		 */
-		if (!nm_ap_complete_connection (ap,
-		                                connection,
-		                                is_manf_default_ssid (ssid),
-		                                error)) {
+		if (!nm_wifi_ap_complete_connection (ap,
+		                                     connection,
+		                                     is_manf_default_ssid (ssid),
+		                                     error)) {
 			if (tmp_ssid)
 				g_byte_array_unref (tmp_ssid);
 			return FALSE;
@@ -967,11 +957,13 @@ can_auto_connect (NMDevice *device,
 {
 	NMDeviceWifi *self = NM_DEVICE_WIFI (device);
 	NMSettingWireless *s_wifi;
-	NMAccessPoint *ap;
+	NMWifiAP *ap;
 	const char *method, *mode;
 	guint64 timestamp = 0;
 
-	if (!NM_DEVICE_CLASS (nm_device_wifi_parent_class)->can_auto_connect (device, connection, specific_object))
+	nm_assert (!specific_object || !*specific_object);
+
+	if (!NM_DEVICE_CLASS (nm_device_wifi_parent_class)->can_auto_connect (device, connection, NULL))
 		return FALSE;
 
 	s_wifi = nm_connection_get_setting_wireless (connection);
@@ -998,73 +990,99 @@ can_auto_connect (NMDevice *device,
 	ap = find_first_compatible_ap (self, connection, FALSE);
 	if (ap) {
 		/* All good; connection is usable */
-		*specific_object = (char *) nm_exported_object_get_path (NM_EXPORTED_OBJECT (ap));
+		NM_SET_OUT (specific_object, g_strdup (nm_exported_object_get_path (NM_EXPORTED_OBJECT (ap))));
 		return TRUE;
 	}
 
 	return FALSE;
 }
 
-static gint
-ap_id_compare (NMAccessPoint *a, NMAccessPoint *b)
+static int
+ap_id_compare (gconstpointer p_a, gconstpointer p_b, gpointer user_data)
 {
-	guint32 a_id = nm_ap_get_id (a);
-	guint32 b_id = nm_ap_get_id (b);
+	guint64 a_id = nm_wifi_ap_get_id (*((NMWifiAP **) p_a));
+	guint64 b_id = nm_wifi_ap_get_id (*((NMWifiAP **) p_b));
 
 	return a_id < b_id ? -1 : (a_id == b_id ? 0 : 1);
 }
 
-static GSList *
-get_sorted_ap_list (NMDeviceWifi *self)
+static NMWifiAP **
+ap_list_get_sorted (NMDeviceWifi *self, gboolean include_without_ssid)
 {
-	GSList *sorted = NULL;
+	NMDeviceWifiPrivate *priv;
+	NMWifiAP **list;
 	GHashTableIter iter;
-	NMAccessPoint *ap;
+	NMWifiAP *ap;
+	gsize i, n;
 
-	g_hash_table_iter_init (&iter, NM_DEVICE_WIFI_GET_PRIVATE (self)->aps);
-	while (g_hash_table_iter_next (&iter, NULL, (gpointer) &ap))
-		sorted = g_slist_prepend (sorted, ap);
-	return g_slist_sort (sorted, (GCompareFunc) ap_id_compare);
+	priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
+
+	n = g_hash_table_size (priv->aps);
+	list = g_new (NMWifiAP *, n + 1);
+
+	i = 0;
+	if (n > 0) {
+		g_hash_table_iter_init (&iter, priv->aps);
+		while (g_hash_table_iter_next (&iter, NULL, (gpointer) &ap)) {
+			nm_assert (i < n);
+			if (   include_without_ssid
+			    || nm_wifi_ap_get_ssid (ap))
+				list[i++] = ap;
+		}
+		nm_assert (i <= n);
+		nm_assert (!include_without_ssid || i == n);
+
+		g_qsort_with_data (list,
+		                   i,
+		                   sizeof (gpointer),
+		                   ap_id_compare,
+		                   NULL);
+	}
+	list[i] = NULL;
+	return list;
 }
 
-static void
-impl_device_wifi_get_access_points (NMDeviceWifi *self,
-                                    GDBusMethodInvocation *context)
+static const char **
+ap_list_get_sorted_paths (NMDeviceWifi *self, gboolean include_without_ssid)
 {
-	GSList *sorted, *iter;
-	GPtrArray *paths;
+	gpointer *list;
+	gsize i, j;
 
-	paths = g_ptr_array_new ();
-	sorted = get_sorted_ap_list (self);
-	for (iter = sorted; iter; iter = iter->next) {
-		NMAccessPoint *ap = NM_AP (iter->data);
+	list = (gpointer *) ap_list_get_sorted (self, include_without_ssid);
+	for (i = 0, j = 0; list[i]; i++) {
+		NMWifiAP *ap = list[i];
+		const char *path;
 
-		if (nm_ap_get_ssid (ap))
-			g_ptr_array_add (paths, g_strdup (nm_exported_object_get_path (NM_EXPORTED_OBJECT (ap))));
+		/* update @list inplace to hold instead the export-path. */
+		path = nm_exported_object_get_path (NM_EXPORTED_OBJECT (ap));
+		nm_assert (path);
+		list[j++] = (gpointer) path;
 	}
-	g_ptr_array_add (paths, NULL);
-	g_slist_free (sorted);
+	return (const char **) list;
+}
+
+static void
+impl_device_wifi_get_access_points (NMDeviceWifi *self,
+                                    GDBusMethodInvocation *context)
+{
+	gs_free const char **list = NULL;
+	GVariant *v;
 
-	g_dbus_method_invocation_return_value (context, g_variant_new ("(^ao)", (char **) paths->pdata));
-	g_ptr_array_unref (paths);
+	list = ap_list_get_sorted_paths (self, FALSE);
+	v = g_variant_new_objv (list, -1);
+	g_dbus_method_invocation_return_value (context, g_variant_new_tuple (&v, 1));
 }
 
 static void
 impl_device_wifi_get_all_access_points (NMDeviceWifi *self,
                                         GDBusMethodInvocation *context)
 {
-	GSList *sorted, *iter;
-	GPtrArray *paths;
-
-	paths = g_ptr_array_new ();
-	sorted = get_sorted_ap_list (self);
-	for (iter = sorted; iter; iter = iter->next)
-		g_ptr_array_add (paths, g_strdup (nm_exported_object_get_path (NM_EXPORTED_OBJECT (iter->data))));
-	g_ptr_array_add (paths, NULL);
-	g_slist_free (sorted);
+	gs_free const char **list = NULL;
+	GVariant *v;
 
-	g_dbus_method_invocation_return_value (context, g_variant_new ("(^ao)", (char **) paths->pdata));
-	g_ptr_array_unref (paths);
+	list = ap_list_get_sorted_paths (self, TRUE);
+	v = g_variant_new_objv (list, -1);
+	g_dbus_method_invocation_return_value (context, g_variant_new_tuple (&v, 1));
 }
 
 static void
@@ -1118,7 +1136,7 @@ _hw_addr_set_scanning (NMDeviceWifi *self, gboolean do_reset)
 		                                                      generate_mac_address_mask);
 	}
 
-	nm_device_hw_addr_set (device, priv->hw_addr_scan, "scanning");
+	nm_device_hw_addr_set (device, priv->hw_addr_scan, "scanning", TRUE);
 }
 
 static void
@@ -1147,7 +1165,6 @@ request_scan_cb (NMDevice *device,
 
 	priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
 
-	nm_clear_g_source (&priv->pending_scan_id);
 	request_wireless_scan (self, new_scan_options);
 	g_dbus_method_invocation_return_value (context, NULL);
 }
@@ -1389,6 +1406,8 @@ request_wireless_scan (NMDeviceWifi *self, GVariant *scan_options)
 	gboolean backoff = FALSE;
 	GPtrArray *ssids = NULL;
 
+	nm_clear_g_source (&priv->pending_scan_id);
+
 	if (priv->requested_scan) {
 		/* There's already a scan in progress */
 		return;
@@ -1443,7 +1462,6 @@ request_wireless_scan (NMDeviceWifi *self, GVariant *scan_options)
 	} else
 		_LOGD (LOGD_WIFI_SCAN, "scan requested but not allowed at this time");
 
-	priv->pending_scan_id = 0;
 	schedule_scan (self, backoff);
 }
 
@@ -1455,7 +1473,7 @@ request_wireless_scan_periodic (gpointer user_data)
 
 	priv->pending_scan_id = 0;
 	request_wireless_scan (self, NULL);
-	return FALSE;
+	return G_SOURCE_REMOVE;
 }
 
 /*
@@ -1531,17 +1549,17 @@ ap_list_dump (gpointer user_data)
 {
 	NMDeviceWifi *self = NM_DEVICE_WIFI (user_data);
 	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
-	GSList *sorted, *iter;
+	gs_free NMWifiAP **list = NULL;
+	gsize i;
 
 	priv->ap_dump_id = 0;
 	_LOGD (LOGD_WIFI_SCAN, "APs: [now:%u last:%u next:%u]",
 	       nm_utils_get_monotonic_timestamp_s (),
 	       priv->last_scan,
 	       priv->scheduled_scan_time);
-	sorted = get_sorted_ap_list (self);
-	for (iter = sorted; iter; iter = iter->next)
-		nm_ap_dump (NM_AP (iter->data), "dump    ", nm_device_get_iface (NM_DEVICE (self)));
-	g_slist_free (sorted);
+	list = ap_list_get_sorted (self, TRUE);
+	for (i = 0; list[i]; i++)
+		nm_wifi_ap_dump (list[i], "dump    ", nm_device_get_iface (NM_DEVICE (self)));
 	return G_SOURCE_REMOVE;
 }
 
@@ -1558,15 +1576,15 @@ schedule_ap_list_dump (NMDeviceWifi *self)
 
 static void
 try_fill_ssid_for_hidden_ap (NMDeviceWifi *self,
-                             NMAccessPoint *ap)
+                             NMWifiAP *ap)
 {
 	const char *bssid;
 	NMSettingsConnection *const*connections;
 	guint i;
 
-	g_return_if_fail (nm_ap_get_ssid (ap) == NULL);
+	g_return_if_fail (nm_wifi_ap_get_ssid (ap) == NULL);
 
-	bssid = nm_ap_get_address (ap);
+	bssid = nm_wifi_ap_get_address (ap);
 	g_return_if_fail (bssid);
 
 	/* Look for this AP's BSSID in the seen-bssids list of a connection,
@@ -1581,9 +1599,9 @@ try_fill_ssid_for_hidden_ap (NMDeviceWifi *self,
 			if (nm_settings_connection_has_seen_bssid (NM_SETTINGS_CONNECTION (connection), bssid)) {
 				GBytes *ssid = nm_setting_wireless_get_ssid (s_wifi);
 
-				nm_ap_set_ssid (ap,
-				                g_bytes_get_data (ssid, NULL),
-				                g_bytes_get_size (ssid));
+				nm_wifi_ap_set_ssid (ap,
+				                     g_bytes_get_data (ssid, NULL),
+				                     g_bytes_get_size (ssid));
 				break;
 			}
 		}
@@ -1598,8 +1616,8 @@ supplicant_iface_new_bss_cb (NMSupplicantInterface *iface,
 {
 	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
 	NMDeviceState state;
-	NMAccessPoint *ap;
-	NMAccessPoint *found_ap = NULL;
+	NMWifiAP *ap;
+	NMWifiAP *found_ap = NULL;
 	const GByteArray *ssid;
 
 	g_return_if_fail (self != NULL);
@@ -1613,36 +1631,36 @@ supplicant_iface_new_bss_cb (NMSupplicantInterface *iface,
 	if (NM_DEVICE_WIFI_GET_PRIVATE (self)->mode == NM_802_11_MODE_AP)
 		return;
 
-	ap = nm_ap_new_from_properties (object_path, properties);
+	ap = nm_wifi_ap_new_from_properties (object_path, properties);
 	if (!ap) {
 		_LOGD (LOGD_WIFI_SCAN, "invalid AP properties received for %s", object_path);
 		return;
 	}
 
 	/* Let the manager try to fill in the SSID from seen-bssids lists */
-	ssid = nm_ap_get_ssid (ap);
+	ssid = nm_wifi_ap_get_ssid (ap);
 	if (!ssid || nm_utils_is_empty_ssid (ssid->data, ssid->len)) {
 		/* Try to fill the SSID from the AP database */
 		try_fill_ssid_for_hidden_ap (self, ap);
 
-		ssid = nm_ap_get_ssid (ap);
+		ssid = nm_wifi_ap_get_ssid (ap);
 		if (ssid && (nm_utils_is_empty_ssid (ssid->data, ssid->len) == FALSE)) {
 			/* Yay, matched it, no longer treat as hidden */
 			_LOGD (LOGD_WIFI_SCAN, "matched hidden AP %s => '%s'",
-			       nm_ap_get_address (ap), nm_utils_escape_ssid (ssid->data, ssid->len));
+			       nm_wifi_ap_get_address (ap), nm_utils_escape_ssid (ssid->data, ssid->len));
 		} else {
 			/* Didn't have an entry for this AP in the database */
 			_LOGD (LOGD_WIFI_SCAN, "failed to match hidden AP %s",
-			       nm_ap_get_address (ap));
+			       nm_wifi_ap_get_address (ap));
 		}
 	}
 
 	found_ap = get_ap_by_supplicant_path (self, object_path);
 	if (found_ap) {
-		nm_ap_dump (ap, "updated ", nm_device_get_iface (NM_DEVICE (self)));
-		nm_ap_update_from_properties (found_ap, object_path, properties);
+		nm_wifi_ap_dump (ap, "updated ", nm_device_get_iface (NM_DEVICE (self)));
+		nm_wifi_ap_update_from_properties (found_ap, object_path, properties);
 	} else {
-		nm_ap_dump (ap, "added   ", nm_device_get_iface (NM_DEVICE (self)));
+		nm_wifi_ap_dump (ap, "added   ", nm_device_get_iface (NM_DEVICE (self)));
 		ap_add_remove (self, ACCESS_POINT_ADDED, ap, TRUE);
 	}
 
@@ -1664,7 +1682,7 @@ supplicant_iface_bss_updated_cb (NMSupplicantInterface *iface,
                                  NMDeviceWifi *self)
 {
 	NMDeviceState state;
-	NMAccessPoint *ap;
+	NMWifiAP *ap;
 
 	g_return_if_fail (self != NULL);
 	g_return_if_fail (object_path != NULL);
@@ -1677,8 +1695,8 @@ supplicant_iface_bss_updated_cb (NMSupplicantInterface *iface,
 
 	ap = get_ap_by_supplicant_path (self, object_path);
 	if (ap) {
-		nm_ap_dump (ap, "updated ", nm_device_get_iface (NM_DEVICE (self)));
-		nm_ap_update_from_properties (ap, object_path, properties);
+		nm_wifi_ap_dump (ap, "updated ", nm_device_get_iface (NM_DEVICE (self)));
+		nm_wifi_ap_update_from_properties (ap, object_path, properties);
 		schedule_ap_list_dump (self);
 	}
 }
@@ -1689,7 +1707,7 @@ supplicant_iface_bss_removed_cb (NMSupplicantInterface *iface,
                                  NMDeviceWifi *self)
 {
 	NMDeviceWifiPrivate *priv;
-	NMAccessPoint *ap;
+	NMWifiAP *ap;
 
 	g_return_if_fail (self != NULL);
 	g_return_if_fail (object_path != NULL);
@@ -1703,9 +1721,9 @@ supplicant_iface_bss_removed_cb (NMSupplicantInterface *iface,
 			 * when the current AP is changed or cleared.  Set 'fake' to
 			 * indicate that this AP is now unknown to the supplicant.
 			 */
-			nm_ap_set_fake (ap, TRUE);
+			nm_wifi_ap_set_fake (ap, TRUE);
 		} else {
-			nm_ap_dump (ap, "removed ", nm_device_get_iface (NM_DEVICE (self)));
+			nm_wifi_ap_dump (ap, "removed ", nm_device_get_iface (NM_DEVICE (self)));
 			ap_add_remove (self, ACCESS_POINT_REMOVED, ap, TRUE);
 			schedule_ap_list_dump (self);
 		}
@@ -1748,12 +1766,23 @@ wifi_secrets_cb (NMActRequest *req,
                  GError *error,
                  gpointer user_data)
 {
-	NMDevice *device = NM_DEVICE (user_data);
-	NMDeviceWifi *self = NM_DEVICE_WIFI (device);
+	NMDevice *device = user_data;
+	NMDeviceWifi *self = user_data;
+	NMDeviceWifiPrivate *priv;
+
+	g_return_if_fail (NM_IS_DEVICE_WIFI (self));
+	g_return_if_fail (NM_IS_ACT_REQUEST (req));
+
+	priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
+
+	g_return_if_fail (priv->wifi_secrets_id == call_id);
+
+	priv->wifi_secrets_id = NULL;
 
-	if (req != nm_device_get_act_request (device))
+	if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
 		return;
 
+	g_return_if_fail (req == nm_device_get_act_request (device));
 	g_return_if_fail (nm_device_get_state (device) == NM_DEVICE_STATE_NEED_AUTH);
 	g_return_if_fail (nm_act_request_get_settings_connection (req) == connection);
 
@@ -1766,6 +1795,39 @@ wifi_secrets_cb (NMActRequest *req,
 		nm_device_activate_schedule_stage1_device_prepare (device);
 }
 
+static void
+wifi_secrets_cancel (NMDeviceWifi *self)
+{
+	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
+
+	if (priv->wifi_secrets_id)
+		nm_act_request_cancel_secrets (NULL, priv->wifi_secrets_id);
+	nm_assert (!priv->wifi_secrets_id);
+}
+
+static void
+wifi_secrets_get_secrets (NMDeviceWifi *self,
+                          const char *setting_name,
+                          NMSecretAgentGetSecretsFlags flags)
+{
+	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
+	NMActRequest *req;
+
+	wifi_secrets_cancel (self);
+
+	req = nm_device_get_act_request (NM_DEVICE (self));
+	g_return_if_fail (NM_IS_ACT_REQUEST (req));
+
+	priv->wifi_secrets_id = nm_act_request_get_secrets (req,
+	                                                    TRUE,
+	                                                    setting_name,
+	                                                    flags,
+	                                                    NULL,
+	                                                    wifi_secrets_cb,
+	                                                    self);
+	g_return_if_fail (priv->wifi_secrets_id);
+}
+
 /*
  * link_timeout_cb
  *
@@ -1856,6 +1918,7 @@ need_new_8021x_secrets (NMDeviceWifi *self,
 static gboolean
 need_new_wpa_psk (NMDeviceWifi *self,
                   guint32 old_state,
+                  gint disconnect_reason,
                   const char **setting_name)
 {
 	NMSettingWirelessSecurity *s_wsec;
@@ -1876,6 +1939,15 @@ need_new_wpa_psk (NMDeviceWifi *self,
 		key_mgmt = nm_setting_wireless_security_get_key_mgmt (s_wsec);
 
 	if (g_strcmp0 (key_mgmt, "wpa-psk") == 0) {
+		/* -4 (locally-generated WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY) usually
+		 * means the driver missed beacons from the AP.  This usually happens
+		 * due to driver bugs or faulty power-save management.  It doesn't
+		 * indicate that the PSK is wrong.
+		 */
+		#define LOCAL_WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY -4
+		if (disconnect_reason == LOCAL_WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY)
+			return FALSE;
+
 		*setting_name = NM_SETTING_WIRELESS_SECURITY_SETTING_NAME;
 		return TRUE;
 	}
@@ -1901,7 +1973,7 @@ handle_8021x_or_psk_auth_fail (NMDeviceWifi *self,
 	g_return_val_if_fail (req != NULL, FALSE);
 
 	if (   need_new_8021x_secrets (self, old_state, &setting_name)
-	    || need_new_wpa_psk (self, old_state, &setting_name)) {
+	    || need_new_wpa_psk (self, old_state, disconnect_reason, &setting_name)) {
 
 		nm_act_request_clear_secrets (req);
 
@@ -1910,13 +1982,10 @@ handle_8021x_or_psk_auth_fail (NMDeviceWifi *self,
 
 		cleanup_association_attempt (self, TRUE);
 		nm_device_state_changed (device, NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT);
-		nm_act_request_get_secrets (req,
-		                            setting_name,
-		                            NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION
-		                              | NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW,
-		                            NULL,
-		                            wifi_secrets_cb,
-		                            self);
+		wifi_secrets_get_secrets (self,
+		                          setting_name,
+		                          NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION
+		                            | NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW);
 		handled = TRUE;
 	}
 
@@ -2054,7 +2123,6 @@ supplicant_iface_state_cb (NMSupplicantInterface *iface,
 		break;
 	case NM_SUPPLICANT_INTERFACE_STATE_INACTIVE:
 		_requested_scan_set (self, FALSE);
-		nm_clear_g_source (&priv->pending_scan_id);
 		request_wireless_scan (self, NULL);
 		break;
 	default:
@@ -2129,7 +2197,7 @@ supplicant_iface_notify_current_bss (NMSupplicantInterface *iface,
 {
 	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
 	const char *current_bss;
-	NMAccessPoint *new_ap = NULL;
+	NMWifiAP *new_ap = NULL;
 
 	current_bss = nm_supplicant_interface_get_current_bss (iface);
 	if (current_bss)
@@ -2145,17 +2213,17 @@ supplicant_iface_notify_current_bss (NMSupplicantInterface *iface,
 		 * supplicant's current BSS yet.  It'll get replaced when we receive
 		 * the current BSS's scan result.
 		 */
-		if (new_ap == NULL && nm_ap_get_fake (priv->current_ap))
+		if (new_ap == NULL && nm_wifi_ap_get_fake (priv->current_ap))
 			return;
 
 		if (new_ap) {
-			new_bssid = nm_ap_get_address (new_ap);
-			new_ssid = nm_ap_get_ssid (new_ap);
+			new_bssid = nm_wifi_ap_get_address (new_ap);
+			new_ssid = nm_wifi_ap_get_ssid (new_ap);
 		}
 
 		if (priv->current_ap) {
-			old_bssid = nm_ap_get_address (priv->current_ap);
-			old_ssid = nm_ap_get_ssid (priv->current_ap);
+			old_bssid = nm_wifi_ap_get_address (priv->current_ap);
+			old_ssid = nm_wifi_ap_get_ssid (priv->current_ap);
 		}
 
 		_LOGD (LOGD_WIFI, "roamed from BSSID %s (%s) to %s (%s)",
@@ -2182,7 +2250,7 @@ handle_auth_or_fail (NMDeviceWifi *self,
 
 	if (!req) {
 		req = nm_device_get_act_request (NM_DEVICE (self));
-		g_assert (req);
+		g_return_val_if_fail (req, NM_ACT_STAGE_RETURN_FAILURE);
 	}
 
 	applied_connection = nm_act_request_get_applied_connection (req);
@@ -2196,12 +2264,9 @@ handle_auth_or_fail (NMDeviceWifi *self,
 	nm_act_request_clear_secrets (req);
 	setting_name = nm_connection_need_secrets (applied_connection, NULL);
 	if (setting_name) {
-		NMSecretAgentGetSecretsFlags flags = NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION;
-
-		if (new_secrets)
-			flags |= NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW;
-		nm_act_request_get_secrets (req, setting_name, flags, NULL, wifi_secrets_cb, self);
-
+		wifi_secrets_get_secrets (self, setting_name,
+		                          NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION
+		                          | (new_secrets ? NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW : 0));
 		g_object_set_data (G_OBJECT (applied_connection), WIRELESS_SECRETS_TRIES, GUINT_TO_POINTER (++tries));
 		ret = NM_ACT_STAGE_RETURN_POSTPONE;
 	} else
@@ -2357,7 +2422,7 @@ error:
 	return NULL;
 }
 
-/****************************************************************************/
+/*****************************************************************************/
 
 static NMActStageReturn
 act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
@@ -2365,7 +2430,7 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
 	NMDeviceWifi *self = NM_DEVICE_WIFI (device);
 	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
 	NMActStageReturn ret;
-	NMAccessPoint *ap = NULL;
+	NMWifiAP *ap = NULL;
 	NMActRequest *req;
 	NMConnection *connection;
 	NMSettingWireless *s_wireless;
@@ -2437,11 +2502,11 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
 	 * until the real one is found in the scan list (Ad-Hoc or Hidden), or until
 	 * the device is deactivated (Hotspot).
 	 */
-	ap = nm_ap_new_fake_from_connection (connection);
+	ap = nm_wifi_ap_new_fake_from_connection (connection);
 	g_return_val_if_fail (ap != NULL, NM_ACT_STAGE_RETURN_FAILURE);
 
-	if (nm_ap_is_hotspot (ap))
-		nm_ap_set_address (ap, nm_device_get_hw_address (device));
+	if (nm_wifi_ap_is_hotspot (ap))
+		nm_wifi_ap_set_address (ap, nm_device_get_hw_address (device));
 
 	g_object_freeze_notify (G_OBJECT (self));
 	ap_add_remove (self, ACCESS_POINT_ADDED, ap, TRUE);
@@ -2459,7 +2524,7 @@ done:
 static void
 ensure_hotspot_frequency (NMDeviceWifi *self,
                           NMSettingWireless *s_wifi,
-                          NMAccessPoint *ap)
+                          NMWifiAP *ap)
 {
 	const char *band = nm_setting_wireless_get_band (s_wifi);
 	const guint32 a_freqs[] = { 5180, 5200, 5220, 5745, 5765, 5785, 5805, 0 };
@@ -2468,7 +2533,7 @@ ensure_hotspot_frequency (NMDeviceWifi *self,
 
 	g_assert (ap);
 
-	if (nm_ap_get_freq (ap))
+	if (nm_wifi_ap_get_freq (ap))
 		return;
 
 	if (g_strcmp0 (band, "a") == 0)
@@ -2479,7 +2544,7 @@ ensure_hotspot_frequency (NMDeviceWifi *self,
 	if (!freq)
 		freq = (g_strcmp0 (band, "a") == 0) ? 5180 : 2462;
 
-	nm_ap_set_freq (ap, freq);
+	nm_wifi_ap_set_freq (ap, freq);
 }
 
 static void
@@ -2522,7 +2587,7 @@ act_stage2_config (NMDevice *device, NMDeviceStateReason *reason)
 	NMActStageReturn ret = NM_ACT_STAGE_RETURN_FAILURE;
 	NMSupplicantConfig *config = NULL;
 	NMActRequest *req;
-	NMAccessPoint *ap;
+	NMWifiAP *ap;
 	NMConnection *connection;
 	const char *setting_name;
 	NMSettingWireless *s_wireless;
@@ -2577,14 +2642,14 @@ act_stage2_config (NMDevice *device, NMDeviceStateReason *reason)
 	 * didn't specify one and we didn't find an AP that matched the connection,
 	 * just pick a frequency the device supports.
 	 */
-	if ((nm_ap_get_mode (ap) == NM_802_11_MODE_ADHOC) || nm_ap_is_hotspot (ap))
+	if ((nm_wifi_ap_get_mode (ap) == NM_802_11_MODE_ADHOC) || nm_wifi_ap_is_hotspot (ap))
 		ensure_hotspot_frequency (self, s_wireless, ap);
 
-	if (nm_ap_get_mode (ap) == NM_802_11_MODE_INFRA)
+	if (nm_wifi_ap_get_mode (ap) == NM_802_11_MODE_INFRA)
 		set_powersave (device);
 
 	/* Build up the supplicant configuration */
-	config = build_supplicant_config (self, connection, nm_ap_get_freq (ap), &error);
+	config = build_supplicant_config (self, connection, nm_wifi_ap_get_freq (ap), &error);
 	if (config == NULL) {
 		_LOGE (LOGD_DEVICE | LOGD_WIFI,
 		       "Activation: (wifi) couldn't build wireless configuration: %s",
@@ -2676,22 +2741,30 @@ act_stage3_ip6_config_start (NMDevice *device,
 	return NM_DEVICE_CLASS (nm_device_wifi_parent_class)->act_stage3_ip6_config_start (device, out_config, reason);
 }
 
-static void
-ip4_config_pre_commit (NMDevice *device, NMIP4Config *config)
+static guint32
+get_configured_mtu (NMDevice *device, gboolean *out_is_user_config)
 {
-	NMConnection *connection;
-	NMSettingWireless *s_wifi;
+	NMSettingWireless *setting;
+	gint64 mtu_default;
 	guint32 mtu;
 
-	connection = nm_device_get_applied_connection (device);
-	g_assert (connection);
-	s_wifi = nm_connection_get_setting_wireless (connection);
-	g_assert (s_wifi);
+	nm_assert (NM_IS_DEVICE (device));
+	nm_assert (out_is_user_config);
+
+	setting = NM_SETTING_WIRELESS (nm_device_get_applied_setting (device, NM_TYPE_SETTING_WIRELESS));
+	if (!setting)
+		g_return_val_if_reached (0);
 
-	/* MTU override */
-	mtu = nm_setting_wireless_get_mtu (s_wifi);
-	if (mtu)
-		nm_ip4_config_set_mtu (config, mtu, NM_IP_CONFIG_SOURCE_USER);
+	mtu = nm_setting_wireless_get_mtu (setting);
+	if (mtu == 0) {
+		mtu_default = nm_device_get_configured_mtu_from_connection_default (device, "wifi.mtu");
+		if (mtu_default >= 0) {
+			*out_is_user_config = TRUE;
+			return (guint32) mtu_default;
+		}
+	}
+	*out_is_user_config = (mtu != 0);
+	return mtu ?: NM_DEVICE_DEFAULT_MTU_WIRELESS;
 }
 
 static gboolean
@@ -2830,26 +2903,26 @@ activation_success_handler (NMDevice *device)
 	 */
 	g_warn_if_fail (priv->current_ap);
 	if (priv->current_ap) {
-		if (nm_ap_get_fake (priv->current_ap)) {
+		if (nm_wifi_ap_get_fake (priv->current_ap)) {
 			/* If the activation AP hasn't been seen by the supplicant in a scan
 			 * yet, it will be "fake".  This usually happens for Ad-Hoc and
 			 * AP-mode connections.  Fill in the details from the device itself
 			 * until the supplicant sends the scan result.
 			 */
-			if (!nm_ap_get_address (priv->current_ap)) {
+			if (!nm_wifi_ap_get_address (priv->current_ap)) {
 				guint8 bssid[ETH_ALEN] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
 				gs_free char *bssid_str = NULL;
 
 				if (   nm_platform_wifi_get_bssid (NM_PLATFORM_GET, ifindex, bssid)
 				    && nm_ethernet_address_is_valid (bssid, ETH_ALEN)) {
 					bssid_str = nm_utils_hwaddr_ntoa (bssid, ETH_ALEN);
-					nm_ap_set_address (priv->current_ap, bssid_str);
+					nm_wifi_ap_set_address (priv->current_ap, bssid_str);
 				}
 			}
-			if (!nm_ap_get_freq (priv->current_ap))
-				nm_ap_set_freq (priv->current_ap, nm_platform_wifi_get_frequency (NM_PLATFORM_GET, ifindex));
-			if (!nm_ap_get_max_bitrate (priv->current_ap))
-				nm_ap_set_max_bitrate (priv->current_ap, nm_platform_wifi_get_rate (NM_PLATFORM_GET, ifindex));
+			if (!nm_wifi_ap_get_freq (priv->current_ap))
+				nm_wifi_ap_set_freq (priv->current_ap, nm_platform_wifi_get_frequency (NM_PLATFORM_GET, ifindex));
+			if (!nm_wifi_ap_get_max_bitrate (priv->current_ap))
+				nm_wifi_ap_set_max_bitrate (priv->current_ap, nm_platform_wifi_get_rate (NM_PLATFORM_GET, ifindex));
 		}
 
 		nm_active_connection_set_specific_object (NM_ACTIVE_CONNECTION (req),
@@ -2889,6 +2962,9 @@ device_state_changed (NMDevice *device,
 	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
 	gboolean clear_aps = FALSE;
 
+	if (new_state > NM_DEVICE_STATE_ACTIVATED)
+		wifi_secrets_cancel (self);
+
 	if (new_state <= NM_DEVICE_STATE_UNAVAILABLE) {
 		/* Clean up the supplicant interface because in these states the
 		 * device cannot be used.
@@ -2935,7 +3011,6 @@ device_state_changed (NMDevice *device,
 	case NM_DEVICE_STATE_DISCONNECTED:
 		/* Kick off a scan to get latest results */
 		priv->scan_interval = SCAN_INTERVAL_MIN;
-		nm_clear_g_source (&priv->pending_scan_id);
 		request_wireless_scan (self, NULL);
 		break;
 	default:
@@ -2946,6 +3021,12 @@ device_state_changed (NMDevice *device,
 		remove_all_aps (self);
 }
 
+static gboolean
+get_enabled (NMDevice *device)
+{
+	return NM_DEVICE_WIFI_GET_PRIVATE ((NMDeviceWifi *) device)->enabled;
+}
+
 static void
 set_enabled (NMDevice *device, gboolean enabled)
 {
@@ -3002,7 +3083,7 @@ set_enabled (NMDevice *device, gboolean enabled)
 	}
 }
 
-/********************************************************************/
+/*****************************************************************************/
 
 NMDevice *
 nm_device_wifi_new (const char *iface, NMDeviceWifiCapabilities capabilities)
@@ -3034,6 +3115,8 @@ dispose (GObject *object)
 
 	nm_clear_g_source (&priv->periodic_source_id);
 
+	wifi_secrets_cancel (self);
+
 	cleanup_association_attempt (self, TRUE);
 	supplicant_interface_release (self);
 	cleanup_supplicant_failures (self);
@@ -3064,11 +3147,10 @@ static void
 get_property (GObject *object, guint prop_id,
               GValue *value, GParamSpec *pspec)
 {
-	NMDeviceWifi *device = NM_DEVICE_WIFI (object);
-	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (device);
-	GHashTableIter iter;
-	const char *dbus_path;
-	GPtrArray *array;
+	NMDeviceWifi *self = NM_DEVICE_WIFI (object);
+	NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
+	gsize i;
+	char **list;
 
 	switch (prop_id) {
 	case PROP_MODE:
@@ -3081,12 +3163,10 @@ get_property (GObject *object, guint prop_id,
 		g_value_set_uint (value, priv->capabilities);
 		break;
 	case PROP_ACCESS_POINTS:
-		array = g_ptr_array_sized_new (g_hash_table_size (priv->aps) + 1);
-		g_hash_table_iter_init (&iter, priv->aps);
-		while (g_hash_table_iter_next (&iter, (gpointer) &dbus_path, NULL))
-			g_ptr_array_add (array, g_strdup (dbus_path));
-		g_ptr_array_add (array, NULL);
-		g_value_take_boxed (value, (char **) g_ptr_array_free (array, FALSE));
+		list = (char **) ap_list_get_sorted_paths (self, TRUE);
+		for (i = 0; list[i]; i++)
+			list[i] = g_strdup (list[i]);
+		g_value_take_boxed (value, list);
 		break;
 	case PROP_ACTIVE_ACCESS_POINT:
 		nm_utils_g_value_set_object_path (value, priv->current_ap);
@@ -3133,17 +3213,17 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass)
 	object_class->dispose = dispose;
 	object_class->finalize = finalize;
 
-	parent_class->bring_up = bring_up;
 	parent_class->can_auto_connect = can_auto_connect;
 	parent_class->is_available = is_available;
 	parent_class->check_connection_compatible = check_connection_compatible;
 	parent_class->check_connection_available = check_connection_available;
 	parent_class->complete_connection = complete_connection;
+	parent_class->get_enabled = get_enabled;
 	parent_class->set_enabled = set_enabled;
 
 	parent_class->act_stage1_prepare = act_stage1_prepare;
 	parent_class->act_stage2_config = act_stage2_config;
-	parent_class->ip4_config_pre_commit = ip4_config_pre_commit;
+	parent_class->get_configured_mtu = get_configured_mtu;
 	parent_class->act_stage3_ip4_config_start = act_stage3_ip4_config_start;
 	parent_class->act_stage3_ip6_config_start = act_stage3_ip6_config_start;
 	parent_class->act_stage4_ip4_config_timeout = act_stage4_ip4_config_timeout;
@@ -3156,7 +3236,6 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass)
 
 	klass->scanning_allowed = scanning_allowed;
 
-	/* Properties */
 	obj_properties[PROP_MODE] =
 	    g_param_spec_uint (NM_DEVICE_WIFI_MODE, "", "",
 	                       NM_802_11_MODE_UNKNOWN,
@@ -3198,27 +3277,26 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass)
 
 	g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
 
-	/* Signals */
 	signals[ACCESS_POINT_ADDED] =
-	    g_signal_new ("access-point-added",
+	    g_signal_new (NM_DEVICE_WIFI_ACCESS_POINT_ADDED,
 	                  G_OBJECT_CLASS_TYPE (object_class),
 	                  G_SIGNAL_RUN_FIRST,
 	                  0,
 	                  NULL, NULL, NULL,
 	                  G_TYPE_NONE, 1,
-	                  NM_TYPE_AP);
+	                  NM_TYPE_WIFI_AP);
 
 	signals[ACCESS_POINT_REMOVED] =
-	    g_signal_new ("access-point-removed",
+	    g_signal_new (NM_DEVICE_WIFI_ACCESS_POINT_REMOVED,
 	                  G_OBJECT_CLASS_TYPE (object_class),
 	                  G_SIGNAL_RUN_FIRST,
 	                  0,
 	                  NULL, NULL, NULL,
 	                  G_TYPE_NONE, 1,
-	                  NM_TYPE_AP);
+	                  NM_TYPE_WIFI_AP);
 
 	signals[SCANNING_ALLOWED] =
-	    g_signal_new ("scanning-allowed",
+	    g_signal_new (NM_DEVICE_WIFI_SCANNING_ALLOWED,
 	                  G_OBJECT_CLASS_TYPE (object_class),
 	                  G_SIGNAL_RUN_LAST,
 	                  G_STRUCT_OFFSET (NMDeviceWifiClass, scanning_allowed),
diff --git a/src/devices/wifi/nm-device-wifi.h b/src/devices/wifi/nm-device-wifi.h
index ba9d60e2..024fe0ef 100644
--- a/src/devices/wifi/nm-device-wifi.h
+++ b/src/devices/wifi/nm-device-wifi.h
@@ -22,7 +22,7 @@
 #ifndef __NETWORKMANAGER_DEVICE_WIFI_H__
 #define __NETWORKMANAGER_DEVICE_WIFI_H__
 
-#include "nm-device.h"
+#include "devices/nm-device.h"
 #include "nm-wifi-ap.h"
 
 #define NM_TYPE_DEVICE_WIFI             (nm_device_wifi_get_type ())
@@ -39,6 +39,13 @@
 #define NM_DEVICE_WIFI_CAPABILITIES        "wireless-capabilities"
 #define NM_DEVICE_WIFI_SCANNING            "scanning"
 
+/* signals */
+#define NM_DEVICE_WIFI_ACCESS_POINT_ADDED  "access-point-added"
+#define NM_DEVICE_WIFI_ACCESS_POINT_REMOVED "access-point-removed"
+
+/* internal signals */
+#define NM_DEVICE_WIFI_SCANNING_ALLOWED    "scanning-allowed"
+
 typedef struct _NMDeviceWifi NMDeviceWifi;
 typedef struct _NMDeviceWifiClass NMDeviceWifiClass;
 
diff --git a/src/devices/wifi/nm-wifi-ap.c b/src/devices/wifi/nm-wifi-ap.c
index 2232f826..9d8ba42c 100644
--- a/src/devices/wifi/nm-wifi-ap.c
+++ b/src/devices/wifi/nm-wifi-ap.c
@@ -25,20 +25,34 @@
 #include <stdlib.h>
 
 #include "nm-wifi-ap.h"
-#include "nm-wifi-ap-utils.h"
+#include "nm-wifi-utils.h"
 #include "NetworkManagerUtils.h"
 #include "nm-utils.h"
 #include "nm-core-internal.h"
 
 #include "nm-setting-wireless.h"
 
-#include "nmdbus-access-point.h"
+#include "introspection/org.freedesktop.NetworkManager.AccessPoint.h"
 
-/*
- * Encapsulates Access Point information
- */
-typedef struct
-{
+#define PROTO_WPA "wpa"
+#define PROTO_RSN "rsn"
+
+/*****************************************************************************/
+
+NM_GOBJECT_PROPERTIES_DEFINE (NMWifiAP,
+	PROP_FLAGS,
+	PROP_WPA_FLAGS,
+	PROP_RSN_FLAGS,
+	PROP_SSID,
+	PROP_FREQUENCY,
+	PROP_HW_ADDRESS,
+	PROP_MODE,
+	PROP_MAX_BITRATE,
+	PROP_STRENGTH,
+	PROP_LAST_SEEN,
+);
+
+typedef struct {
 	char *supplicant_path;   /* D-Bus object path of this AP from wpa_supplicant */
 
 	/* Scanned or cached values */
@@ -57,69 +71,66 @@ typedef struct
 	bool                fake;       /* Whether or not the AP is from a scan */
 	bool                hotspot;    /* Whether the AP is a local device's hotspot network */
 	gint32              last_seen;  /* Timestamp when the AP was seen lastly (obtained via nm_utils_get_monotonic_timestamp_s()) */
-} NMAccessPointPrivate;
+} NMWifiAPPrivate;
 
-struct _NMAccessPoint {
+struct _NMWifiAP {
 	NMExportedObject parent;
-	NMAccessPointPrivate _priv;
+	NMWifiAPPrivate _priv;
 };
 
-struct _NMAccessPointClass{
+struct _NMWifiAPClass{
 	NMExportedObjectClass parent;
 };
 
-#define NM_AP_GET_PRIVATE(self) _NM_GET_PRIVATE(self, NMAccessPoint, NM_IS_AP)
-
-G_DEFINE_TYPE (NMAccessPoint, nm_ap, NM_TYPE_EXPORTED_OBJECT)
+G_DEFINE_TYPE (NMWifiAP, nm_wifi_ap, NM_TYPE_EXPORTED_OBJECT)
 
-NM_GOBJECT_PROPERTIES_DEFINE (NMAccessPoint,
-	PROP_FLAGS,
-	PROP_WPA_FLAGS,
-	PROP_RSN_FLAGS,
-	PROP_SSID,
-	PROP_FREQUENCY,
-	PROP_HW_ADDRESS,
-	PROP_MODE,
-	PROP_MAX_BITRATE,
-	PROP_STRENGTH,
-	PROP_LAST_SEEN,
-);
+#define NM_WIFI_AP_GET_PRIVATE(self) _NM_GET_PRIVATE(self, NMWifiAP, NM_IS_WIFI_AP)
 
-/*****************************************************************/
+/*****************************************************************************/
 
 const char *
-nm_ap_get_supplicant_path (NMAccessPoint *ap)
+nm_wifi_ap_get_supplicant_path (NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), NULL);
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), NULL);
 
-	return NM_AP_GET_PRIVATE (ap)->supplicant_path;
+	return NM_WIFI_AP_GET_PRIVATE (ap)->supplicant_path;
 }
 
-guint32
-nm_ap_get_id (NMAccessPoint *ap)
+guint64
+nm_wifi_ap_get_id (NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), 0);
-	g_return_val_if_fail (nm_exported_object_is_exported (NM_EXPORTED_OBJECT (ap)), 0);
+	const char *path;
+	guint64 i;
+
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), 0);
 
-	return atoi (strrchr (nm_exported_object_get_path (NM_EXPORTED_OBJECT (ap)), '/') + 1);
+	path = nm_exported_object_get_path (NM_EXPORTED_OBJECT (ap));
+	g_return_val_if_fail (path, 0);
+
+	nm_assert (g_str_has_prefix (path, NM_DBUS_PATH_ACCESS_POINT"/"));
+
+	i = _nm_utils_ascii_str_to_int64 (&path[NM_STRLEN (NM_DBUS_PATH_ACCESS_POINT"/")], 10, 1, G_MAXINT64, 0);
+
+	nm_assert (i);
+	return i;
 }
 
-const GByteArray * nm_ap_get_ssid (const NMAccessPoint *ap)
+const GByteArray * nm_wifi_ap_get_ssid (const NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), NULL);
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), NULL);
 
-	return NM_AP_GET_PRIVATE (ap)->ssid;
+	return NM_WIFI_AP_GET_PRIVATE (ap)->ssid;
 }
 
 void
-nm_ap_set_ssid (NMAccessPoint *ap, const guint8 *ssid, gsize len)
+nm_wifi_ap_set_ssid (NMWifiAP *ap, const guint8 *ssid, gsize len)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 	g_return_if_fail (ssid == NULL || len > 0);
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 
 	/* same SSID */
 	if ((ssid && priv->ssid) && (len == priv->ssid->len)) {
@@ -141,13 +152,13 @@ nm_ap_set_ssid (NMAccessPoint *ap, const guint8 *ssid, gsize len)
 }
 
 static void
-nm_ap_set_flags (NMAccessPoint *ap, NM80211ApFlags flags)
+nm_wifi_ap_set_flags (NMWifiAP *ap, NM80211ApFlags flags)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 
 	if (priv->flags != flags) {
 		priv->flags = flags;
@@ -156,13 +167,13 @@ nm_ap_set_flags (NMAccessPoint *ap, NM80211ApFlags flags)
 }
 
 static void
-nm_ap_set_wpa_flags (NMAccessPoint *ap, NM80211ApSecurityFlags flags)
+nm_wifi_ap_set_wpa_flags (NMWifiAP *ap, NM80211ApSecurityFlags flags)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 	if (priv->wpa_flags != flags) {
 		priv->wpa_flags = flags;
 		_notify (ap, PROP_WPA_FLAGS);
@@ -170,13 +181,13 @@ nm_ap_set_wpa_flags (NMAccessPoint *ap, NM80211ApSecurityFlags flags)
 }
 
 static void
-nm_ap_set_rsn_flags (NMAccessPoint *ap, NM80211ApSecurityFlags flags)
+nm_wifi_ap_set_rsn_flags (NMWifiAP *ap, NM80211ApSecurityFlags flags)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 	if (priv->rsn_flags != flags) {
 		priv->rsn_flags = flags;
 		_notify (ap, PROP_RSN_FLAGS);
@@ -184,23 +195,23 @@ nm_ap_set_rsn_flags (NMAccessPoint *ap, NM80211ApSecurityFlags flags)
 }
 
 const char *
-nm_ap_get_address (const NMAccessPoint *ap)
+nm_wifi_ap_get_address (const NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), NULL);
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), NULL);
 
-	return NM_AP_GET_PRIVATE (ap)->address;
+	return NM_WIFI_AP_GET_PRIVATE (ap)->address;
 }
 
 void
-nm_ap_set_address (NMAccessPoint *ap, const char *addr)
+nm_wifi_ap_set_address (NMWifiAP *ap, const char *addr)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 	g_return_if_fail (addr != NULL);
 	g_return_if_fail (nm_utils_hwaddr_valid (addr, ETH_ALEN));
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 
 	if (!priv->address || !nm_utils_hwaddr_matches (addr, -1, priv->address, -1)) {
 		g_free (priv->address);
@@ -210,23 +221,23 @@ nm_ap_set_address (NMAccessPoint *ap, const char *addr)
 }
 
 NM80211Mode
-nm_ap_get_mode (NMAccessPoint *ap)
+nm_wifi_ap_get_mode (NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), NM_802_11_MODE_UNKNOWN);
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), NM_802_11_MODE_UNKNOWN);
 
-	return NM_AP_GET_PRIVATE (ap)->mode;
+	return NM_WIFI_AP_GET_PRIVATE (ap)->mode;
 }
 
 static void
-nm_ap_set_mode (NMAccessPoint *ap, const NM80211Mode mode)
+nm_wifi_ap_set_mode (NMWifiAP *ap, const NM80211Mode mode)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 	g_return_if_fail (   mode == NM_802_11_MODE_ADHOC
 	                  || mode == NM_802_11_MODE_INFRA);
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 
 	if (priv->mode != mode) {
 		priv->mode = mode;
@@ -235,29 +246,29 @@ nm_ap_set_mode (NMAccessPoint *ap, const NM80211Mode mode)
 }
 
 gboolean
-nm_ap_is_hotspot (NMAccessPoint *ap)
+nm_wifi_ap_is_hotspot (NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), FALSE);
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), FALSE);
 
-	return NM_AP_GET_PRIVATE (ap)->hotspot;
+	return NM_WIFI_AP_GET_PRIVATE (ap)->hotspot;
 }
 
 gint8
-nm_ap_get_strength (NMAccessPoint *ap)
+nm_wifi_ap_get_strength (NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), 0);
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), 0);
 
-	return NM_AP_GET_PRIVATE (ap)->strength;
+	return NM_WIFI_AP_GET_PRIVATE (ap)->strength;
 }
 
 void
-nm_ap_set_strength (NMAccessPoint *ap, const gint8 strength)
+nm_wifi_ap_set_strength (NMWifiAP *ap, const gint8 strength)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 
 	if (priv->strength != strength) {
 		priv->strength = strength;
@@ -266,22 +277,22 @@ nm_ap_set_strength (NMAccessPoint *ap, const gint8 strength)
 }
 
 guint32
-nm_ap_get_freq (NMAccessPoint *ap)
+nm_wifi_ap_get_freq (NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), 0);
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), 0);
 
-	return NM_AP_GET_PRIVATE (ap)->freq;
+	return NM_WIFI_AP_GET_PRIVATE (ap)->freq;
 }
 
 void
-nm_ap_set_freq (NMAccessPoint *ap,
-                const guint32 freq)
+nm_wifi_ap_set_freq (NMWifiAP *ap,
+                     const guint32 freq)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 
 	if (priv->freq != freq) {
 		priv->freq = freq;
@@ -290,22 +301,22 @@ nm_ap_set_freq (NMAccessPoint *ap,
 }
 
 guint32
-nm_ap_get_max_bitrate (NMAccessPoint *ap)
+nm_wifi_ap_get_max_bitrate (NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), 0);
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), 0);
 	g_return_val_if_fail (nm_exported_object_is_exported (NM_EXPORTED_OBJECT (ap)), 0);
 
-	return NM_AP_GET_PRIVATE (ap)->max_bitrate;
+	return NM_WIFI_AP_GET_PRIVATE (ap)->max_bitrate;
 }
 
 void
-nm_ap_set_max_bitrate (NMAccessPoint *ap, guint32 bitrate)
+nm_wifi_ap_set_max_bitrate (NMWifiAP *ap, guint32 bitrate)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 
 	if (priv->max_bitrate != bitrate) {
 		priv->max_bitrate = bitrate;
@@ -314,29 +325,29 @@ nm_ap_set_max_bitrate (NMAccessPoint *ap, guint32 bitrate)
 }
 
 gboolean
-nm_ap_get_fake (const NMAccessPoint *ap)
+nm_wifi_ap_get_fake (const NMWifiAP *ap)
 {
-	g_return_val_if_fail (NM_IS_AP (ap), FALSE);
+	g_return_val_if_fail (NM_IS_WIFI_AP (ap), FALSE);
 
-	return NM_AP_GET_PRIVATE (ap)->fake;
+	return NM_WIFI_AP_GET_PRIVATE (ap)->fake;
 }
 
 void
-nm_ap_set_fake (NMAccessPoint *ap, gboolean fake)
+nm_wifi_ap_set_fake (NMWifiAP *ap, gboolean fake)
 {
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 
-	NM_AP_GET_PRIVATE (ap)->fake = fake;
+	NM_WIFI_AP_GET_PRIVATE (ap)->fake = fake;
 }
 
 static void
-nm_ap_set_last_seen (NMAccessPoint *ap, gint32 last_seen)
+nm_wifi_ap_set_last_seen (NMWifiAP *ap, gint32 last_seen)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 
-	g_return_if_fail (NM_IS_AP (ap));
+	g_return_if_fail (NM_IS_WIFI_AP (ap));
 
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 
 	if (priv->last_seen != last_seen) {
 		priv->last_seen = last_seen;
@@ -344,7 +355,7 @@ nm_ap_set_last_seen (NMAccessPoint *ap, gint32 last_seen)
 	}
 }
 
-/*****************************************************************/
+/*****************************************************************************/
 
 static NM80211ApSecurityFlags
 security_from_vardict (GVariant *security)
@@ -387,11 +398,11 @@ security_from_vardict (GVariant *security)
 }
 
 void
-nm_ap_update_from_properties (NMAccessPoint *ap,
-                              const char *supplicant_path,
-                              GVariant *properties)
+nm_wifi_ap_update_from_properties (NMWifiAP *ap,
+                                   const char *supplicant_path,
+                                   GVariant *properties)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 	char *addr;
 	const guint8 *bytes;
 	GVariant *v;
@@ -403,25 +414,25 @@ nm_ap_update_from_properties (NMAccessPoint *ap,
 
 	g_return_if_fail (ap != NULL);
 	g_return_if_fail (properties != NULL);
-	priv = NM_AP_GET_PRIVATE (ap);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
 
 	g_object_freeze_notify (G_OBJECT (ap));
 
 	if (g_variant_lookup (properties, "Privacy", "b", &b) && b)
-		nm_ap_set_flags (ap, priv->flags | NM_802_11_AP_FLAGS_PRIVACY);
+		nm_wifi_ap_set_flags (ap, priv->flags | NM_802_11_AP_FLAGS_PRIVACY);
 
 	if (g_variant_lookup (properties, "Mode", "&s", &s)) {
 		if (!g_strcmp0 (s, "infrastructure"))
-			nm_ap_set_mode (ap, NM_802_11_MODE_INFRA);
+			nm_wifi_ap_set_mode (ap, NM_802_11_MODE_INFRA);
 		else if (!g_strcmp0 (s, "ad-hoc"))
-			nm_ap_set_mode (ap, NM_802_11_MODE_ADHOC);
+			nm_wifi_ap_set_mode (ap, NM_802_11_MODE_ADHOC);
 	}
 
 	if (g_variant_lookup (properties, "Signal", "n", &i16))
-		nm_ap_set_strength (ap, nm_ap_utils_level_to_quality (i16));
+		nm_wifi_ap_set_strength (ap, nm_wifi_utils_level_to_quality (i16));
 
 	if (g_variant_lookup (properties, "Frequency", "q", &u16))
-		nm_ap_set_freq (ap, u16);
+		nm_wifi_ap_set_freq (ap, u16);
 
 	v = g_variant_lookup_value (properties, "SSID", G_VARIANT_TYPE_BYTESTRING);
 	if (v) {
@@ -432,7 +443,7 @@ nm_ap_update_from_properties (NMAccessPoint *ap,
 		if (   bytes && len
 		    && !(((len == 8) || (len == 9)) && !memcmp (bytes, "<hidden>", 8))
 		    && !nm_utils_is_empty_ssid (bytes, len))
-			nm_ap_set_ssid (ap, bytes, len);
+			nm_wifi_ap_set_ssid (ap, bytes, len);
 
 		g_variant_unref (v);
 	}
@@ -442,13 +453,13 @@ nm_ap_update_from_properties (NMAccessPoint *ap,
 		bytes = g_variant_get_fixed_array (v, &len, 1);
 		if (len == ETH_ALEN) {
 			addr = nm_utils_hwaddr_ntoa (bytes, len);
-			nm_ap_set_address (ap, addr);
+			nm_wifi_ap_set_address (ap, addr);
 			g_free (addr);
 		}
 		g_variant_unref (v);
 	}
 
-	v = g_variant_lookup_value (properties, "Rates", G_VARIANT_TYPE ("au")); 
+	v = g_variant_lookup_value (properties, "Rates", G_VARIANT_TYPE ("au"));
 	if (v) {
 		const guint32 *rates = g_variant_get_fixed_array (v, &len, sizeof (guint32));
 		guint32 maxrate = 0;
@@ -458,7 +469,7 @@ nm_ap_update_from_properties (NMAccessPoint *ap,
 		for (i = 0; i < len; i++) {
 			if (rates[i] > maxrate) {
 				maxrate = rates[i];
-				nm_ap_set_max_bitrate (ap, rates[i] / 1000);
+				nm_wifi_ap_set_max_bitrate (ap, rates[i] / 1000);
 			}
 		}
 		g_variant_unref (v);
@@ -466,54 +477,25 @@ nm_ap_update_from_properties (NMAccessPoint *ap,
 
 	v = g_variant_lookup_value (properties, "WPA", G_VARIANT_TYPE_VARDICT);
 	if (v) {
-		nm_ap_set_wpa_flags (ap, priv->wpa_flags | security_from_vardict (v));
+		nm_wifi_ap_set_wpa_flags (ap, priv->wpa_flags | security_from_vardict (v));
 		g_variant_unref (v);
 	}
 
 	v = g_variant_lookup_value (properties, "RSN", G_VARIANT_TYPE_VARDICT);
 	if (v) {
-		nm_ap_set_rsn_flags (ap, priv->rsn_flags | security_from_vardict (v));
+		nm_wifi_ap_set_rsn_flags (ap, priv->rsn_flags | security_from_vardict (v));
 		g_variant_unref (v);
 	}
 
 	if (!priv->supplicant_path)
 		priv->supplicant_path = g_strdup (supplicant_path);
 
-	nm_ap_set_last_seen (ap, nm_utils_get_monotonic_timestamp_s ());
+	nm_wifi_ap_set_last_seen (ap, nm_utils_get_monotonic_timestamp_s ());
 	priv->fake = FALSE;
 
 	g_object_thaw_notify (G_OBJECT (ap));
 }
 
-NMAccessPoint *
-nm_ap_new_from_properties (const char *supplicant_path, GVariant *properties)
-{
-	const char bad_bssid1[ETH_ALEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-	const char bad_bssid2[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
-	NMAccessPoint *ap;
-	const char *addr;
-
-	g_return_val_if_fail (supplicant_path != NULL, NULL);
-	g_return_val_if_fail (properties != NULL, NULL);
-
-	ap = (NMAccessPoint *) g_object_new (NM_TYPE_AP, NULL);
-	nm_ap_update_from_properties (ap, supplicant_path, properties);
-
-	/* ignore APs with invalid or missing BSSIDs */
-	addr = nm_ap_get_address (ap);
-	if (   !addr
-	    || nm_utils_hwaddr_matches (addr, -1, bad_bssid1, ETH_ALEN)
-	    || nm_utils_hwaddr_matches (addr, -1, bad_bssid2, ETH_ALEN)) {
-		g_object_unref (ap);
-		return NULL;
-	}
-
-	return ap;
-}
-
-#define PROTO_WPA "wpa"
-#define PROTO_RSN "rsn"
-
 static gboolean
 has_proto (NMSettingWirelessSecurity *sec, const char *proto)
 {
@@ -531,9 +513,9 @@ has_proto (NMSettingWirelessSecurity *sec, const char *proto)
 }
 
 static void
-add_pair_ciphers (NMAccessPoint *ap, NMSettingWirelessSecurity *sec)
+add_pair_ciphers (NMWifiAP *ap, NMSettingWirelessSecurity *sec)
 {
-	NMAccessPointPrivate *priv = NM_AP_GET_PRIVATE (ap);
+	NMWifiAPPrivate *priv = NM_WIFI_AP_GET_PRIVATE (ap);
 	guint32 num = nm_setting_wireless_security_get_num_pairwise (sec);
 	NM80211ApSecurityFlags flags = NM_802_11_AP_SEC_NONE;
 	guint32 i;
@@ -553,15 +535,15 @@ add_pair_ciphers (NMAccessPoint *ap, NMSettingWirelessSecurity *sec)
 	}
 
 	if (has_proto (sec, PROTO_WPA))
-		nm_ap_set_wpa_flags (ap, priv->wpa_flags | flags);
+		nm_wifi_ap_set_wpa_flags (ap, priv->wpa_flags | flags);
 	if (has_proto (sec, PROTO_RSN))
-		nm_ap_set_rsn_flags (ap, priv->rsn_flags | flags);
+		nm_wifi_ap_set_rsn_flags (ap, priv->rsn_flags | flags);
 }
 
 static void
-add_group_ciphers (NMAccessPoint *ap, NMSettingWirelessSecurity *sec)
+add_group_ciphers (NMWifiAP *ap, NMSettingWirelessSecurity *sec)
 {
-	NMAccessPointPrivate *priv = NM_AP_GET_PRIVATE (ap);
+	NMWifiAPPrivate *priv = NM_WIFI_AP_GET_PRIVATE (ap);
 	guint32 num = nm_setting_wireless_security_get_num_groups (sec);
 	NM80211ApSecurityFlags flags = NM_802_11_AP_SEC_NONE;
 	guint32 i;
@@ -585,143 +567,15 @@ add_group_ciphers (NMAccessPoint *ap, NMSettingWirelessSecurity *sec)
 	}
 
 	if (has_proto (sec, PROTO_WPA))
-		nm_ap_set_wpa_flags (ap, priv->wpa_flags | flags);
+		nm_wifi_ap_set_wpa_flags (ap, priv->wpa_flags | flags);
 	if (has_proto (sec, PROTO_RSN))
-		nm_ap_set_rsn_flags (ap, priv->rsn_flags | flags);
-}
-
-NMAccessPoint *
-nm_ap_new_fake_from_connection (NMConnection *connection)
-{
-	NMAccessPoint *ap;
-	NMAccessPointPrivate *priv;
-	NMSettingWireless *s_wireless;
-	NMSettingWirelessSecurity *s_wireless_sec;
-	GBytes *ssid;
-	const char *mode, *band, *key_mgmt;
-	guint32 channel;
-	NM80211ApSecurityFlags flags;
-	gboolean psk = FALSE, eap = FALSE;
-
-	g_return_val_if_fail (connection != NULL, NULL);
-
-	s_wireless = nm_connection_get_setting_wireless (connection);
-	g_return_val_if_fail (s_wireless != NULL, NULL);
-
-	ssid = nm_setting_wireless_get_ssid (s_wireless);
-	g_return_val_if_fail (ssid != NULL, NULL);
-	g_return_val_if_fail (g_bytes_get_size (ssid) > 0, NULL);
-
-	ap = (NMAccessPoint *) g_object_new (NM_TYPE_AP, NULL);
-	priv = NM_AP_GET_PRIVATE (ap);
-	priv->fake = TRUE;
-	nm_ap_set_ssid (ap, g_bytes_get_data (ssid, NULL), g_bytes_get_size (ssid));
-
-	// FIXME: bssid too?
-
-	mode = nm_setting_wireless_get_mode (s_wireless);
-	if (mode) {
-		if (!strcmp (mode, "infrastructure"))
-			nm_ap_set_mode (ap, NM_802_11_MODE_INFRA);
-		else if (!strcmp (mode, "adhoc"))
-			nm_ap_set_mode (ap, NM_802_11_MODE_ADHOC);
-		else if (!strcmp (mode, "ap")) {
-			nm_ap_set_mode (ap, NM_802_11_MODE_INFRA);
-			NM_AP_GET_PRIVATE (ap)->hotspot = TRUE;
-		} else
-			goto error;
-	} else {
-		nm_ap_set_mode (ap, NM_802_11_MODE_INFRA);
-	}
-
-	band = nm_setting_wireless_get_band (s_wireless);
-	channel = nm_setting_wireless_get_channel (s_wireless);
-
-	if (band && channel) {
-		guint32 freq = nm_utils_wifi_channel_to_freq (channel, band);
-
-		if (freq == 0)
-			goto error;
-
-		nm_ap_set_freq (ap, freq);
-	}
-
-	s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
-	/* Assume presence of a security setting means the AP is encrypted */
-	if (!s_wireless_sec)
-		goto done;
-
-	key_mgmt = nm_setting_wireless_security_get_key_mgmt (s_wireless_sec);
-
-	/* Everything below here uses encryption */
-	nm_ap_set_flags (ap, priv->flags | NM_802_11_AP_FLAGS_PRIVACY);
-
-	/* Static & Dynamic WEP */
-	if (!strcmp (key_mgmt, "none") || !strcmp (key_mgmt, "ieee8021x"))
-		goto done;
-
-	psk = !strcmp (key_mgmt, "wpa-psk");
-	eap = !strcmp (key_mgmt, "wpa-eap");
-	if (psk || eap) {
-		if (has_proto (s_wireless_sec, PROTO_WPA)) {
-			flags = priv->wpa_flags | (eap ? NM_802_11_AP_SEC_KEY_MGMT_802_1X : NM_802_11_AP_SEC_KEY_MGMT_PSK);
-			nm_ap_set_wpa_flags (ap, flags);
-		}
-		if (has_proto (s_wireless_sec, PROTO_RSN)) {
-			flags = priv->rsn_flags | (eap ? NM_802_11_AP_SEC_KEY_MGMT_802_1X : NM_802_11_AP_SEC_KEY_MGMT_PSK);
-			nm_ap_set_rsn_flags (ap, flags);
-		}
-
-		add_pair_ciphers (ap, s_wireless_sec);
-		add_group_ciphers (ap, s_wireless_sec);
-	} else if (!strcmp (key_mgmt, "wpa-none")) {
-		guint32 i;
-
-		/* Ad-Hoc has special requirements: proto=WPA, pairwise=(none), and
-		 * group=TKIP/CCMP (but not both).
-		 */
-
-		flags = priv->wpa_flags | NM_802_11_AP_SEC_KEY_MGMT_PSK;
-
-		/* Clear ciphers; pairwise must be unset anyway, and group gets set below */
-		flags &= ~(  NM_802_11_AP_SEC_PAIR_WEP40
-		           | NM_802_11_AP_SEC_PAIR_WEP104
-		           | NM_802_11_AP_SEC_PAIR_TKIP
-		           | NM_802_11_AP_SEC_PAIR_CCMP
-		           | NM_802_11_AP_SEC_GROUP_WEP40
-		           | NM_802_11_AP_SEC_GROUP_WEP104
-		           | NM_802_11_AP_SEC_GROUP_TKIP
-		           | NM_802_11_AP_SEC_GROUP_CCMP);
-
-		for (i = 0; i < nm_setting_wireless_security_get_num_groups (s_wireless_sec); i++) {
-			if (!strcmp (nm_setting_wireless_security_get_group (s_wireless_sec, i), "ccmp")) {
-				flags |= NM_802_11_AP_SEC_GROUP_CCMP;
-				break;
-			}
-		}
-
-		/* Default to TKIP since not all WPA-capable cards can do CCMP */
-		if (!(flags & NM_802_11_AP_SEC_GROUP_CCMP))
-			flags |= NM_802_11_AP_SEC_GROUP_TKIP;
-
-		nm_ap_set_wpa_flags (ap, flags);
-
-		/* Don't use Ad-Hoc RSN yet */
-		nm_ap_set_rsn_flags (ap, NM_802_11_AP_SEC_NONE);
-	}
-
-done:
-	return ap;
-
-error:
-	g_object_unref (ap);
-	return NULL;
+		nm_wifi_ap_set_rsn_flags (ap, priv->rsn_flags | flags);
 }
 
 static char
-mode_to_char (NMAccessPoint *self)
+mode_to_char (NMWifiAP *self)
 {
-	NMAccessPointPrivate *priv = NM_AP_GET_PRIVATE (self);
+	NMWifiAPPrivate *priv = NM_WIFI_AP_GET_PRIVATE (self);
 
 	if (priv->mode == NM_802_11_MODE_ADHOC)
 		return '*';
@@ -733,17 +587,17 @@ mode_to_char (NMAccessPoint *self)
 }
 
 void
-nm_ap_dump (NMAccessPoint *self,
-            const char *prefix,
-            const char *ifname)
+nm_wifi_ap_dump (NMWifiAP *self,
+                 const char *prefix,
+                 const char *ifname)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 	const char *supplicant_id = "-";
 	guint32 chan;
 
-	g_return_if_fail (NM_IS_AP (self));
+	g_return_if_fail (NM_IS_WIFI_AP (self));
 
-	priv = NM_AP_GET_PRIVATE (self);
+	priv = NM_WIFI_AP_GET_PRIVATE (self);
 	chan = nm_utils_wifi_freq_to_channel (priv->freq);
 	if (priv->supplicant_path)
 		supplicant_id = strrchr (priv->supplicant_path, '/');
@@ -775,10 +629,10 @@ freq_to_band (guint32 freq)
 }
 
 gboolean
-nm_ap_check_compatible (NMAccessPoint *self,
-                        NMConnection *connection)
+nm_wifi_ap_check_compatible (NMWifiAP *self,
+                             NMConnection *connection)
 {
-	NMAccessPointPrivate *priv;
+	NMWifiAPPrivate *priv;
 	NMSettingWireless *s_wireless;
 	NMSettingWirelessSecurity *s_wireless_sec;
 	GBytes *ssid;
@@ -787,15 +641,15 @@ nm_ap_check_compatible (NMAccessPoint *self,
 	const char *bssid;
 	guint32 channel;
 
-	g_return_val_if_fail (NM_IS_AP (self), FALSE);
+	g_return_val_if_fail (NM_IS_WIFI_AP (self), FALSE);
 	g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE);
 
-	priv = NM_AP_GET_PRIVATE (self);
+	priv = NM_WIFI_AP_GET_PRIVATE (self);
 
 	s_wireless = nm_connection_get_setting_wireless (connection);
 	if (s_wireless == NULL)
 		return FALSE;
-	
+
 	ssid = nm_setting_wireless_get_ssid (s_wireless);
 	if (   (ssid && !priv->ssid)
 	    || (priv->ssid && !ssid))
@@ -851,65 +705,33 @@ nm_ap_check_compatible (NMAccessPoint *self,
 }
 
 gboolean
-nm_ap_complete_connection (NMAccessPoint *self,
-                           NMConnection *connection,
-                           gboolean lock_bssid,
-                           GError **error)
+nm_wifi_ap_complete_connection (NMWifiAP *self,
+                                NMConnection *connection,
+                                gboolean lock_bssid,
+                                GError **error)
 {
-	NMAccessPointPrivate *priv = NM_AP_GET_PRIVATE (self);
+	NMWifiAPPrivate *priv = NM_WIFI_AP_GET_PRIVATE (self);
 
 	g_return_val_if_fail (connection != NULL, FALSE);
 
-	return nm_ap_utils_complete_connection (priv->ssid,
-	                                        priv->address,
-	                                        priv->mode,
-	                                        priv->flags,
-	                                        priv->wpa_flags,
-	                                        priv->rsn_flags,
-	                                        connection,
-	                                        lock_bssid,
-	                                        error);
-}
-
-/*****************************************************************/
-
-static void
-nm_ap_init (NMAccessPoint *ap)
-{
-	NMAccessPointPrivate *priv = NM_AP_GET_PRIVATE (ap);
-
-	priv->mode = NM_802_11_MODE_INFRA;
-	priv->flags = NM_802_11_AP_FLAGS_NONE;
-	priv->wpa_flags = NM_802_11_AP_SEC_NONE;
-	priv->rsn_flags = NM_802_11_AP_SEC_NONE;
-	priv->last_seen = -1;
-}
-
-static void
-finalize (GObject *object)
-{
-	NMAccessPointPrivate *priv = NM_AP_GET_PRIVATE ((NMAccessPoint *) object);
-
-	g_free (priv->supplicant_path);
-	if (priv->ssid)
-		g_byte_array_free (priv->ssid, TRUE);
-	g_free (priv->address);
-
-	G_OBJECT_CLASS (nm_ap_parent_class)->finalize (object);
+	return nm_wifi_utils_complete_connection (priv->ssid,
+	                                          priv->address,
+	                                          priv->mode,
+	                                          priv->flags,
+	                                          priv->wpa_flags,
+	                                          priv->rsn_flags,
+	                                          connection,
+	                                          lock_bssid,
+	                                          error);
 }
 
-static void
-set_property (GObject *object, guint prop_id,
-              const GValue *value, GParamSpec *pspec)
-{
-	G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-}
+/*****************************************************************************/
 
 static void
 get_property (GObject *object, guint prop_id,
               GValue *value, GParamSpec *pspec)
 {
-	NMAccessPointPrivate *priv = NM_AP_GET_PRIVATE ((NMAccessPoint *) object);
+	NMWifiAPPrivate *priv = NM_WIFI_AP_GET_PRIVATE ((NMWifiAP *) object);
 	GVariant *ssid;
 
 	switch (prop_id) {
@@ -957,85 +779,265 @@ get_property (GObject *object, guint prop_id,
 	}
 }
 
+/*****************************************************************************/
+
 static void
-nm_ap_class_init (NMAccessPointClass *ap_class)
+nm_wifi_ap_init (NMWifiAP *ap)
+{
+	NMWifiAPPrivate *priv = NM_WIFI_AP_GET_PRIVATE (ap);
+
+	priv->mode = NM_802_11_MODE_INFRA;
+	priv->flags = NM_802_11_AP_FLAGS_NONE;
+	priv->wpa_flags = NM_802_11_AP_SEC_NONE;
+	priv->rsn_flags = NM_802_11_AP_SEC_NONE;
+	priv->last_seen = -1;
+}
+
+NMWifiAP *
+nm_wifi_ap_new_from_properties (const char *supplicant_path, GVariant *properties)
+{
+	const char bad_bssid1[ETH_ALEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+	const char bad_bssid2[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
+	NMWifiAP *ap;
+	const char *addr;
+
+	g_return_val_if_fail (supplicant_path != NULL, NULL);
+	g_return_val_if_fail (properties != NULL, NULL);
+
+	ap = (NMWifiAP *) g_object_new (NM_TYPE_WIFI_AP, NULL);
+	nm_wifi_ap_update_from_properties (ap, supplicant_path, properties);
+
+	/* ignore APs with invalid or missing BSSIDs */
+	addr = nm_wifi_ap_get_address (ap);
+	if (   !addr
+	    || nm_utils_hwaddr_matches (addr, -1, bad_bssid1, ETH_ALEN)
+	    || nm_utils_hwaddr_matches (addr, -1, bad_bssid2, ETH_ALEN)) {
+		g_object_unref (ap);
+		return NULL;
+	}
+
+	return ap;
+}
+
+NMWifiAP *
+nm_wifi_ap_new_fake_from_connection (NMConnection *connection)
 {
+	NMWifiAP *ap;
+	NMWifiAPPrivate *priv;
+	NMSettingWireless *s_wireless;
+	NMSettingWirelessSecurity *s_wireless_sec;
+	GBytes *ssid;
+	const char *mode, *band, *key_mgmt;
+	guint32 channel;
+	NM80211ApSecurityFlags flags;
+	gboolean psk = FALSE, eap = FALSE;
+
+	g_return_val_if_fail (connection != NULL, NULL);
+
+	s_wireless = nm_connection_get_setting_wireless (connection);
+	g_return_val_if_fail (s_wireless != NULL, NULL);
+
+	ssid = nm_setting_wireless_get_ssid (s_wireless);
+	g_return_val_if_fail (ssid != NULL, NULL);
+	g_return_val_if_fail (g_bytes_get_size (ssid) > 0, NULL);
+
+	ap = (NMWifiAP *) g_object_new (NM_TYPE_WIFI_AP, NULL);
+	priv = NM_WIFI_AP_GET_PRIVATE (ap);
+	priv->fake = TRUE;
+	nm_wifi_ap_set_ssid (ap, g_bytes_get_data (ssid, NULL), g_bytes_get_size (ssid));
+
+	// FIXME: bssid too?
+
+	mode = nm_setting_wireless_get_mode (s_wireless);
+	if (mode) {
+		if (!strcmp (mode, "infrastructure"))
+			nm_wifi_ap_set_mode (ap, NM_802_11_MODE_INFRA);
+		else if (!strcmp (mode, "adhoc"))
+			nm_wifi_ap_set_mode (ap, NM_802_11_MODE_ADHOC);
+		else if (!strcmp (mode, "ap")) {
+			nm_wifi_ap_set_mode (ap, NM_802_11_MODE_INFRA);
+			NM_WIFI_AP_GET_PRIVATE (ap)->hotspot = TRUE;
+		} else
+			goto error;
+	} else {
+		nm_wifi_ap_set_mode (ap, NM_802_11_MODE_INFRA);
+	}
+
+	band = nm_setting_wireless_get_band (s_wireless);
+	channel = nm_setting_wireless_get_channel (s_wireless);
+
+	if (band && channel) {
+		guint32 freq = nm_utils_wifi_channel_to_freq (channel, band);
+
+		if (freq == 0)
+			goto error;
+
+		nm_wifi_ap_set_freq (ap, freq);
+	}
+
+	s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
+	/* Assume presence of a security setting means the AP is encrypted */
+	if (!s_wireless_sec)
+		goto done;
+
+	key_mgmt = nm_setting_wireless_security_get_key_mgmt (s_wireless_sec);
+
+	/* Everything below here uses encryption */
+	nm_wifi_ap_set_flags (ap, priv->flags | NM_802_11_AP_FLAGS_PRIVACY);
+
+	/* Static & Dynamic WEP */
+	if (!strcmp (key_mgmt, "none") || !strcmp (key_mgmt, "ieee8021x"))
+		goto done;
+
+	psk = !strcmp (key_mgmt, "wpa-psk");
+	eap = !strcmp (key_mgmt, "wpa-eap");
+	if (psk || eap) {
+		if (has_proto (s_wireless_sec, PROTO_WPA)) {
+			flags = priv->wpa_flags | (eap ? NM_802_11_AP_SEC_KEY_MGMT_802_1X : NM_802_11_AP_SEC_KEY_MGMT_PSK);
+			nm_wifi_ap_set_wpa_flags (ap, flags);
+		}
+		if (has_proto (s_wireless_sec, PROTO_RSN)) {
+			flags = priv->rsn_flags | (eap ? NM_802_11_AP_SEC_KEY_MGMT_802_1X : NM_802_11_AP_SEC_KEY_MGMT_PSK);
+			nm_wifi_ap_set_rsn_flags (ap, flags);
+		}
+
+		add_pair_ciphers (ap, s_wireless_sec);
+		add_group_ciphers (ap, s_wireless_sec);
+	} else if (!strcmp (key_mgmt, "wpa-none")) {
+		guint32 i;
+
+		/* Ad-Hoc has special requirements: proto=WPA, pairwise=(none), and
+		 * group=TKIP/CCMP (but not both).
+		 */
+
+		flags = priv->wpa_flags | NM_802_11_AP_SEC_KEY_MGMT_PSK;
+
+		/* Clear ciphers; pairwise must be unset anyway, and group gets set below */
+		flags &= ~(  NM_802_11_AP_SEC_PAIR_WEP40
+		           | NM_802_11_AP_SEC_PAIR_WEP104
+		           | NM_802_11_AP_SEC_PAIR_TKIP
+		           | NM_802_11_AP_SEC_PAIR_CCMP
+		           | NM_802_11_AP_SEC_GROUP_WEP40
+		           | NM_802_11_AP_SEC_GROUP_WEP104
+		           | NM_802_11_AP_SEC_GROUP_TKIP
+		           | NM_802_11_AP_SEC_GROUP_CCMP);
+
+		for (i = 0; i < nm_setting_wireless_security_get_num_groups (s_wireless_sec); i++) {
+			if (!strcmp (nm_setting_wireless_security_get_group (s_wireless_sec, i), "ccmp")) {
+				flags |= NM_802_11_AP_SEC_GROUP_CCMP;
+				break;
+			}
+		}
+
+		/* Default to TKIP since not all WPA-capable cards can do CCMP */
+		if (!(flags & NM_802_11_AP_SEC_GROUP_CCMP))
+			flags |= NM_802_11_AP_SEC_GROUP_TKIP;
+
+		nm_wifi_ap_set_wpa_flags (ap, flags);
+
+		/* Don't use Ad-Hoc RSN yet */
+		nm_wifi_ap_set_rsn_flags (ap, NM_802_11_AP_SEC_NONE);
+	}
+
+done:
+	return ap;
+
+error:
+	g_object_unref (ap);
+	return NULL;
+}
+
+static void
+finalize (GObject *object)
+{
+	NMWifiAPPrivate *priv = NM_WIFI_AP_GET_PRIVATE ((NMWifiAP *) object);
+
+	g_free (priv->supplicant_path);
+	if (priv->ssid)
+		g_byte_array_free (priv->ssid, TRUE);
+	g_free (priv->address);
+
+	G_OBJECT_CLASS (nm_wifi_ap_parent_class)->finalize (object);
+}
+
+static void
+nm_wifi_ap_class_init (NMWifiAPClass *ap_class)
+{
+#define ALL_SEC_FLAGS \
+	( NM_802_11_AP_SEC_NONE \
+	| NM_802_11_AP_SEC_PAIR_WEP40 \
+	| NM_802_11_AP_SEC_PAIR_WEP104 \
+	| NM_802_11_AP_SEC_PAIR_TKIP \
+	| NM_802_11_AP_SEC_PAIR_CCMP \
+	| NM_802_11_AP_SEC_GROUP_WEP40 \
+	| NM_802_11_AP_SEC_GROUP_WEP104 \
+	| NM_802_11_AP_SEC_GROUP_TKIP \
+	| NM_802_11_AP_SEC_GROUP_CCMP \
+	| NM_802_11_AP_SEC_KEY_MGMT_PSK \
+	| NM_802_11_AP_SEC_KEY_MGMT_802_1X )
+
 	GObjectClass *object_class = G_OBJECT_CLASS (ap_class);
 	NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (ap_class);
-	const NM80211ApSecurityFlags all_sec_flags =   NM_802_11_AP_SEC_NONE
-	                                             | NM_802_11_AP_SEC_PAIR_WEP40
-	                                             | NM_802_11_AP_SEC_PAIR_WEP104
-	                                             | NM_802_11_AP_SEC_PAIR_TKIP
-	                                             | NM_802_11_AP_SEC_PAIR_CCMP
-	                                             | NM_802_11_AP_SEC_GROUP_WEP40
-	                                             | NM_802_11_AP_SEC_GROUP_WEP104
-	                                             | NM_802_11_AP_SEC_GROUP_TKIP
-	                                             | NM_802_11_AP_SEC_GROUP_CCMP
-	                                             | NM_802_11_AP_SEC_KEY_MGMT_PSK
-	                                             | NM_802_11_AP_SEC_KEY_MGMT_802_1X;
-
-	exported_object_class->export_path = NM_DBUS_PATH_ACCESS_POINT "/%u";
-
-	/* virtual methods */
-	object_class->set_property = set_property;
+
+	exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH_ACCESS_POINT);
+
 	object_class->get_property = get_property;
 	object_class->finalize = finalize;
 
-	/* properties */
 	obj_properties[PROP_FLAGS] =
-	    g_param_spec_uint (NM_AP_FLAGS, "", "",
+	    g_param_spec_uint (NM_WIFI_AP_FLAGS, "", "",
 	                       NM_802_11_AP_FLAGS_NONE,
 	                       NM_802_11_AP_FLAGS_PRIVACY,
 	                       NM_802_11_AP_FLAGS_NONE,
 	                       G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	obj_properties[PROP_WPA_FLAGS] =
-	    g_param_spec_uint (NM_AP_WPA_FLAGS, "", "",
+	    g_param_spec_uint (NM_WIFI_AP_WPA_FLAGS, "", "",
 	                       NM_802_11_AP_SEC_NONE,
-	                       all_sec_flags,
+	                       ALL_SEC_FLAGS,
 	                       NM_802_11_AP_SEC_NONE,
 	                       G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	obj_properties[PROP_RSN_FLAGS] =
-	    g_param_spec_uint (NM_AP_RSN_FLAGS, "", "",
+	    g_param_spec_uint (NM_WIFI_AP_RSN_FLAGS, "", "",
 	                       NM_802_11_AP_SEC_NONE,
-	                       all_sec_flags,
+	                       ALL_SEC_FLAGS,
 	                       NM_802_11_AP_SEC_NONE,
 	                       G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	obj_properties[PROP_SSID] =
-	    g_param_spec_variant (NM_AP_SSID, "", "",
+	    g_param_spec_variant (NM_WIFI_AP_SSID, "", "",
 	                          G_VARIANT_TYPE ("ay"),
 	                          NULL,
 	                          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	obj_properties[PROP_FREQUENCY] =
-	    g_param_spec_uint (NM_AP_FREQUENCY, "", "",
+	    g_param_spec_uint (NM_WIFI_AP_FREQUENCY, "", "",
 	                       0, 10000, 0,
 	                       G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	obj_properties[PROP_HW_ADDRESS] =
-	    g_param_spec_string (NM_AP_HW_ADDRESS, "", "",
+	    g_param_spec_string (NM_WIFI_AP_HW_ADDRESS, "", "",
 	                         NULL,
 	                         G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	obj_properties[PROP_MODE] =
-	    g_param_spec_uint (NM_AP_MODE, "", "",
+	    g_param_spec_uint (NM_WIFI_AP_MODE, "", "",
 	                       NM_802_11_MODE_ADHOC, NM_802_11_MODE_INFRA, NM_802_11_MODE_INFRA,
 	                       G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	obj_properties[PROP_MAX_BITRATE] =
-	    g_param_spec_uint (NM_AP_MAX_BITRATE, "", "",
+	    g_param_spec_uint (NM_WIFI_AP_MAX_BITRATE, "", "",
 	                       0, G_MAXUINT16, 0,
 	                       G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	obj_properties[PROP_STRENGTH] =
-	    g_param_spec_uchar (NM_AP_STRENGTH, "", "",
+	    g_param_spec_uchar (NM_WIFI_AP_STRENGTH, "", "",
 	                        0, G_MAXINT8, 0,
 	                        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
 	obj_properties[PROP_LAST_SEEN] =
-	    g_param_spec_int (NM_AP_LAST_SEEN, "", "",
+	    g_param_spec_int (NM_WIFI_AP_LAST_SEEN, "", "",
 	                      -1, G_MAXINT, -1,
 	                       G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
diff --git a/src/devices/wifi/nm-wifi-ap.h b/src/devices/wifi/nm-wifi-ap.h
index 035d1b5e..5a2a2e58 100644
--- a/src/devices/wifi/nm-wifi-ap.h
+++ b/src/devices/wifi/nm-wifi-ap.h
@@ -19,78 +19,78 @@
  * Copyright (C) 2006 - 2008 Novell, Inc.
  */
 
-#ifndef __NETWORKMANAGER_ACCESS_POINT_H__
-#define __NETWORKMANAGER_ACCESS_POINT_H__
+#ifndef __NM_WIFI_AP_H__
+#define __NM_WIFI_AP_H__
 
 #include "nm-exported-object.h"
 #include "nm-dbus-interface.h"
 #include "nm-connection.h"
 
-#define NM_TYPE_AP            (nm_ap_get_type ())
-#define NM_AP(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_AP, NMAccessPoint))
-#define NM_AP_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_AP, NMAccessPointClass))
-#define NM_IS_AP(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_AP))
-#define NM_IS_AP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_AP))
-#define NM_AP_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_AP, NMAccessPointClass))
+#define NM_TYPE_WIFI_AP            (nm_wifi_ap_get_type ())
+#define NM_WIFI_AP(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_WIFI_AP, NMWifiAP))
+#define NM_WIFI_AP_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_WIFI_AP, NMWifiAPClass))
+#define NM_IS_WIFI_AP(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_WIFI_AP))
+#define NM_IS_WIFI_AP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_WIFI_AP))
+#define NM_WIFI_AP_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_WIFI_AP, NMWifiAPClass))
 
-#define NM_AP_FLAGS "flags"
-#define NM_AP_WPA_FLAGS "wpa-flags"
-#define NM_AP_RSN_FLAGS "rsn-flags"
-#define NM_AP_SSID "ssid"
-#define NM_AP_FREQUENCY "frequency"
-#define NM_AP_HW_ADDRESS "hw-address"
-#define NM_AP_MODE "mode"
-#define NM_AP_MAX_BITRATE "max-bitrate"
-#define NM_AP_STRENGTH "strength"
-#define NM_AP_LAST_SEEN "last-seen"
+#define NM_WIFI_AP_FLAGS                "flags"
+#define NM_WIFI_AP_WPA_FLAGS            "wpa-flags"
+#define NM_WIFI_AP_RSN_FLAGS            "rsn-flags"
+#define NM_WIFI_AP_SSID                 "ssid"
+#define NM_WIFI_AP_FREQUENCY            "frequency"
+#define NM_WIFI_AP_HW_ADDRESS           "hw-address"
+#define NM_WIFI_AP_MODE                 "mode"
+#define NM_WIFI_AP_MAX_BITRATE          "max-bitrate"
+#define NM_WIFI_AP_STRENGTH             "strength"
+#define NM_WIFI_AP_LAST_SEEN            "last-seen"
 
-typedef struct _NMAccessPoint NMAccessPoint;
-typedef struct _NMAccessPointClass NMAccessPointClass;
+typedef struct _NMWifiAP NMWifiAP;
+typedef struct _NMWifiAPClass NMWifiAPClass;
 
-GType nm_ap_get_type (void);
+GType nm_wifi_ap_get_type (void);
 
-NMAccessPoint *   nm_ap_new_from_properties      (const char *supplicant_path,
+NMWifiAP *   nm_wifi_ap_new_from_properties      (const char *supplicant_path,
                                                   GVariant *properties);
-NMAccessPoint *   nm_ap_new_fake_from_connection (NMConnection *connection);
+NMWifiAP *   nm_wifi_ap_new_fake_from_connection (NMConnection *connection);
 
-void              nm_ap_update_from_properties   (NMAccessPoint *ap,
-                                                  const char *supplicant_path,
-                                                  GVariant *properties);
+void              nm_wifi_ap_update_from_properties   (NMWifiAP *ap,
+                                                       const char *supplicant_path,
+                                                       GVariant *properties);
 
-gboolean          nm_ap_check_compatible         (NMAccessPoint *self,
-                                                  NMConnection *connection);
+gboolean          nm_wifi_ap_check_compatible         (NMWifiAP *self,
+                                                       NMConnection *connection);
 
-gboolean          nm_ap_complete_connection      (NMAccessPoint *self,
-                                                  NMConnection *connection,
-                                                  gboolean lock_bssid,
-                                                  GError **error);
+gboolean          nm_wifi_ap_complete_connection      (NMWifiAP *self,
+                                                       NMConnection *connection,
+                                                       gboolean lock_bssid,
+                                                       GError **error);
 
-const char *      nm_ap_get_supplicant_path      (NMAccessPoint *ap);
-guint32           nm_ap_get_id                   (NMAccessPoint *ap);
-const GByteArray *nm_ap_get_ssid                 (const NMAccessPoint *ap);
-void              nm_ap_set_ssid                 (NMAccessPoint *ap,
-                                                  const guint8 *ssid,
-                                                  gsize len);
-const char *      nm_ap_get_address              (const NMAccessPoint *ap);
-void              nm_ap_set_address              (NMAccessPoint *ap,
-                                                  const char *addr);
-NM80211Mode       nm_ap_get_mode                 (NMAccessPoint *ap);
-gboolean          nm_ap_is_hotspot               (NMAccessPoint *ap);
-gint8             nm_ap_get_strength             (NMAccessPoint *ap);
-void              nm_ap_set_strength             (NMAccessPoint *ap,
-                                                  gint8 strength);
-guint32           nm_ap_get_freq                 (NMAccessPoint *ap);
-void              nm_ap_set_freq                 (NMAccessPoint *ap,
-                                                  guint32 freq);
-guint32           nm_ap_get_max_bitrate          (NMAccessPoint *ap);
-void              nm_ap_set_max_bitrate          (NMAccessPoint *ap,
-                                                  guint32 bitrate);
-gboolean          nm_ap_get_fake                 (const NMAccessPoint *ap);
-void              nm_ap_set_fake                 (NMAccessPoint *ap,
-                                                  gboolean fake);
+const char *      nm_wifi_ap_get_supplicant_path      (NMWifiAP *ap);
+guint64           nm_wifi_ap_get_id                   (NMWifiAP *ap);
+const GByteArray *nm_wifi_ap_get_ssid                 (const NMWifiAP *ap);
+void              nm_wifi_ap_set_ssid                 (NMWifiAP *ap,
+                                                       const guint8 *ssid,
+                                                       gsize len);
+const char *      nm_wifi_ap_get_address              (const NMWifiAP *ap);
+void              nm_wifi_ap_set_address              (NMWifiAP *ap,
+                                                       const char *addr);
+NM80211Mode       nm_wifi_ap_get_mode                 (NMWifiAP *ap);
+gboolean          nm_wifi_ap_is_hotspot               (NMWifiAP *ap);
+gint8             nm_wifi_ap_get_strength             (NMWifiAP *ap);
+void              nm_wifi_ap_set_strength             (NMWifiAP *ap,
+                                                       gint8 strength);
+guint32           nm_wifi_ap_get_freq                 (NMWifiAP *ap);
+void              nm_wifi_ap_set_freq                 (NMWifiAP *ap,
+                                                       guint32 freq);
+guint32           nm_wifi_ap_get_max_bitrate          (NMWifiAP *ap);
+void              nm_wifi_ap_set_max_bitrate          (NMWifiAP *ap,
+                                                       guint32 bitrate);
+gboolean          nm_wifi_ap_get_fake                 (const NMWifiAP *ap);
+void              nm_wifi_ap_set_fake                 (NMWifiAP *ap,
+                                                       gboolean fake);
 
-void              nm_ap_dump                     (NMAccessPoint *self,
-                                                  const char *prefix,
-                                                  const char *ifname);
+void              nm_wifi_ap_dump                     (NMWifiAP *self,
+                                                       const char *prefix,
+                                                       const char *ifname);
 
-#endif /* __NETWORKMANAGER_ACCESS_POINT_H__ */
+#endif /* __NM_WIFI_AP_H__ */
diff --git a/src/devices/wifi/nm-wifi-factory.c b/src/devices/wifi/nm-wifi-factory.c
index cf8cf03b..a1752634 100644
--- a/src/devices/wifi/nm-wifi-factory.c
+++ b/src/devices/wifi/nm-wifi-factory.c
@@ -22,33 +22,41 @@
 
 #include <gmodule.h>
 
-#include "nm-device-factory.h"
+#include "devices/nm-device-factory.h"
 #include "nm-setting-wireless.h"
 #include "nm-setting-olpc-mesh.h"
 #include "nm-device-wifi.h"
 #include "nm-device-olpc-mesh.h"
-#include "nm-settings-connection.h"
-#include "nm-platform.h"
+#include "settings/nm-settings-connection.h"
+#include "platform/nm-platform.h"
 
-#define NM_TYPE_WIFI_FACTORY (nm_wifi_factory_get_type ())
-#define NM_WIFI_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_WIFI_FACTORY, NMWifiFactory))
+/*****************************************************************************/
+
+#define NM_TYPE_WIFI_FACTORY            (nm_wifi_factory_get_type ())
+#define NM_WIFI_FACTORY(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_WIFI_FACTORY, NMWifiFactory))
+#define NM_WIFI_FACTORY_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass),  NM_TYPE_WIFI_FACTORY, NMWifiFactoryClass))
+#define NM_IS_WIFI_FACTORY(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_WIFI_FACTORY))
+#define NM_IS_WIFI_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),  NM_TYPE_WIFI_FACTORY))
+#define NM_WIFI_FACTORY_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj),  NM_TYPE_WIFI_FACTORY, NMWifiFactoryClass))
 
 typedef struct {
-	GObject parent;
+	NMDeviceFactory parent;
 } NMWifiFactory;
 
 typedef struct {
-	GObjectClass parent;
+	NMDeviceFactoryClass parent;
 } NMWifiFactoryClass;
 
 static GType nm_wifi_factory_get_type (void);
 
-static void device_factory_interface_init (NMDeviceFactoryInterface *factory_iface);
+G_DEFINE_TYPE (NMWifiFactory, nm_wifi_factory, NM_TYPE_DEVICE_FACTORY)
 
-G_DEFINE_TYPE_EXTENDED (NMWifiFactory, nm_wifi_factory, G_TYPE_OBJECT, 0,
-                        G_IMPLEMENT_INTERFACE (NM_TYPE_DEVICE_FACTORY, device_factory_interface_init))
+/*****************************************************************************/
 
-/**************************************************************************/
+NM_DEVICE_FACTORY_DECLARE_TYPES (
+	NM_DEVICE_FACTORY_DECLARE_LINK_TYPES    (NM_LINK_TYPE_WIFI, NM_LINK_TYPE_OLPC_MESH)
+	NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_WIRELESS_SETTING_NAME, NM_SETTING_OLPC_MESH_SETTING_NAME)
+)
 
 G_MODULE_EXPORT NMDeviceFactory *
 nm_device_factory_create (GError **error)
@@ -56,7 +64,7 @@ nm_device_factory_create (GError **error)
 	return (NMDeviceFactory *) g_object_new (NM_TYPE_WIFI_FACTORY, NULL);
 }
 
-/**************************************************************************/
+/*****************************************************************************/
 
 static NMDevice *
 create_device (NMDeviceFactory *factory,
@@ -96,17 +104,7 @@ create_device (NMDeviceFactory *factory,
 		return nm_device_olpc_mesh_new (iface);
 }
 
-NM_DEVICE_FACTORY_DECLARE_TYPES (
-	NM_DEVICE_FACTORY_DECLARE_LINK_TYPES    (NM_LINK_TYPE_WIFI, NM_LINK_TYPE_OLPC_MESH)
-	NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_WIRELESS_SETTING_NAME, NM_SETTING_OLPC_MESH_SETTING_NAME)
-)
-
-static void
-device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
-{
-	factory_iface->create_device = create_device;
-	factory_iface->get_supported_types = get_supported_types;
-}
+/*****************************************************************************/
 
 static void
 nm_wifi_factory_init (NMWifiFactory *self)
@@ -114,7 +112,10 @@ nm_wifi_factory_init (NMWifiFactory *self)
 }
 
 static void
-nm_wifi_factory_class_init (NMWifiFactoryClass *wf_class)
+nm_wifi_factory_class_init (NMWifiFactoryClass *klass)
 {
-}
+	NMDeviceFactoryClass *factory_class = NM_DEVICE_FACTORY_CLASS (klass);
 
+	factory_class->create_device = create_device;
+	factory_class->get_supported_types = get_supported_types;
+}
diff --git a/src/devices/wifi/nm-wifi-ap-utils.c b/src/devices/wifi/nm-wifi-utils.c
index bcf439da..06da92ce 100644
--- a/src/devices/wifi/nm-wifi-ap-utils.c
+++ b/src/devices/wifi/nm-wifi-utils.c
@@ -20,10 +20,11 @@
 
 #include "nm-default.h"
 
+#include "nm-wifi-utils.h"
+
 #include <string.h>
 #include <stdlib.h>
 
-#include "nm-wifi-ap-utils.h"
 #include "nm-utils.h"
 
 static gboolean
@@ -524,15 +525,15 @@ verify_adhoc (NMSettingWirelessSecurity *s_wsec,
 }
 
 gboolean
-nm_ap_utils_complete_connection (const GByteArray *ap_ssid,
-                                 const char *bssid,
-                                 NM80211Mode ap_mode,
-                                 guint32 ap_flags,
-                                 guint32 ap_wpa_flags,
-                                 guint32 ap_rsn_flags,
-                                 NMConnection *connection,
-                                 gboolean lock_bssid,
-                                 GError **error)
+nm_wifi_utils_complete_connection (const GByteArray *ap_ssid,
+                                   const char *bssid,
+                                   NM80211Mode ap_mode,
+                                   guint32 ap_flags,
+                                   guint32 ap_wpa_flags,
+                                   guint32 ap_rsn_flags,
+                                   NMConnection *connection,
+                                   gboolean lock_bssid,
+                                   GError **error)
 {
 	NMSettingWireless *s_wifi;
 	NMSettingWirelessSecurity *s_wsec;
@@ -763,7 +764,7 @@ nm_ap_utils_complete_connection (const GByteArray *ap_ssid,
 }
 
 guint32
-nm_ap_utils_level_to_quality (gint val)
+nm_wifi_utils_level_to_quality (gint val)
 {
 	if (val < 0) {
 		/* Assume dBm already; rough conversion: best = -40, worst = -100 */
diff --git a/src/devices/wifi/nm-wifi-ap-utils.h b/src/devices/wifi/nm-wifi-utils.h
index 31c12cd7..39c7fa17 100644
--- a/src/devices/wifi/nm-wifi-ap-utils.h
+++ b/src/devices/wifi/nm-wifi-utils.h
@@ -18,9 +18,8 @@
  * (C) Copyright 2011 Red Hat, Inc.
  */
 
-#ifndef __NETWORKMANAGER_WIFI_AP_UTILS_H__
-#define __NETWORKMANAGER_WIFI_AP_UTILS_H__
-
+#ifndef __NM_WIFI_UTILS_H__
+#define __NM_WIFI_UTILS_H__
 
 #include <nm-dbus-interface.h>
 #include <nm-connection.h>
@@ -28,17 +27,16 @@
 #include <nm-setting-wireless-security.h>
 #include <nm-setting-8021x.h>
 
-gboolean nm_ap_utils_complete_connection (const GByteArray *ssid,
-                                          const char *bssid,
-                                          NM80211Mode mode,
-                                          guint32 flags,
-                                          guint32 wpa_flags,
-                                          guint32 rsn_flags,
-                                          NMConnection *connection,
-                                          gboolean lock_bssid,
-                                          GError **error);
-
-guint32 nm_ap_utils_level_to_quality (gint val);
+gboolean nm_wifi_utils_complete_connection (const GByteArray *ssid,
+                                            const char *bssid,
+                                            NM80211Mode mode,
+                                            guint32 flags,
+                                            guint32 wpa_flags,
+                                            guint32 rsn_flags,
+                                            NMConnection *connection,
+                                            gboolean lock_bssid,
+                                            GError **error);
 
-#endif  /* NM_WIFI_AP_UTILS_H */
+guint32 nm_wifi_utils_level_to_quality (gint val);
 
+#endif  /* __NM_WIFI_UTILS_H__ */
diff --git a/src/devices/wifi/tests/Makefile.am b/src/devices/wifi/tests/Makefile.am
deleted file mode 100644
index d05ccf7e..00000000
--- a/src/devices/wifi/tests/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-AM_CPPFLAGS = \
-	-I$(top_builddir)/introspection \
-	-I$(top_srcdir)/shared \
-	-I$(top_builddir)/shared \
-	-I$(top_srcdir)/libnm-core \
-	-I$(top_builddir)/libnm-core \
-	-I${top_srcdir}/src/platform \
-	-I$(top_srcdir)/src \
-	-I$(top_srcdir)/src/devices/wifi \
-	-I$(top_builddir)/src \
-	-DG_LOG_DOMAIN=\""NetworkManager-wifi"\" \
-	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \
-	$(GLIB_CFLAGS)
-
-noinst_PROGRAMS = test-wifi-ap-utils
-
-test_wifi_ap_utils_SOURCES = \
-	test-wifi-ap-utils.c \
-	$(srcdir)/../nm-wifi-ap.c \
-	$(srcdir)/../nm-wifi-ap.h \
-	$(srcdir)/../nm-wifi-ap-utils.c \
-	$(srcdir)/../nm-wifi-ap-utils.h
-
-test_wifi_ap_utils_LDADD = $(top_builddir)/src/libNetworkManager.la
-
-@VALGRIND_RULES@
-TESTS = test-wifi-ap-utils
-
diff --git a/src/devices/wifi/tests/Makefile.in b/src/devices/wifi/tests/Makefile.in
deleted file mode 100644
index 676ae990..00000000
--- a/src/devices/wifi/tests/Makefile.in
+++ /dev/null
@@ -1,1175 +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@
-noinst_PROGRAMS = test-wifi-ap-utils$(EXEEXT)
-TESTS = test-wifi-ap-utils$(EXEEXT)
-subdir = src/devices/wifi/tests
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/attributes.m4 \
-	$(top_srcdir)/m4/ax_lib_readline.m4 \
-	$(top_srcdir)/m4/compiler_options.m4 \
-	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/git-sha-record.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 =
-PROGRAMS = $(noinst_PROGRAMS)
-am_test_wifi_ap_utils_OBJECTS = test-wifi-ap-utils.$(OBJEXT) \
-	nm-wifi-ap.$(OBJEXT) nm-wifi-ap-utils.$(OBJEXT)
-test_wifi_ap_utils_OBJECTS = $(am_test_wifi_ap_utils_OBJECTS)
-test_wifi_ap_utils_DEPENDENCIES =  \
-	$(top_builddir)/src/libNetworkManager.la
-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 = 
-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 = $(test_wifi_ap_utils_SOURCES)
-DIST_SOURCES = $(test_wifi_ap_utils_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__tty_colors_dummy = \
-  mgn= red= grn= lgn= blu= brg= std=; \
-  am__color_tests=no
-am__tty_colors = { \
-  $(am__tty_colors_dummy); \
-  if test "X$(AM_COLOR_TESTS)" = Xno; then \
-    am__color_tests=no; \
-  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
-    am__color_tests=yes; \
-  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
-    am__color_tests=yes; \
-  fi; \
-  if test $$am__color_tests = yes; then \
-    red=''; \
-    grn=''; \
-    lgn=''; \
-    blu=''; \
-    mgn=''; \
-    brg=''; \
-    std=''; \
-  fi; \
-}
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__recheck_rx = ^[ 	]*:recheck:[ 	]*
-am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
-am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
-# A command that, given a newline-separated list of test names on the
-# standard input, print the name of the tests that are to be re-run
-# upon "make recheck".
-am__list_recheck_tests = $(AWK) '{ \
-  recheck = 1; \
-  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
-    { \
-      if (rc < 0) \
-        { \
-          if ((getline line2 < ($$0 ".log")) < 0) \
-	    recheck = 0; \
-          break; \
-        } \
-      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
-        { \
-          recheck = 0; \
-          break; \
-        } \
-      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
-        { \
-          break; \
-        } \
-    }; \
-  if (recheck) \
-    print $$0; \
-  close ($$0 ".trs"); \
-  close ($$0 ".log"); \
-}'
-# A command that, given a newline-separated list of test names on the
-# standard input, create the global log from their .trs and .log files.
-am__create_global_log = $(AWK) ' \
-function fatal(msg) \
-{ \
-  print "fatal: making $@: " msg | "cat >&2"; \
-  exit 1; \
-} \
-function rst_section(header) \
-{ \
-  print header; \
-  len = length(header); \
-  for (i = 1; i <= len; i = i + 1) \
-    printf "="; \
-  printf "\n\n"; \
-} \
-{ \
-  copy_in_global_log = 1; \
-  global_test_result = "RUN"; \
-  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
-    { \
-      if (rc < 0) \
-         fatal("failed to read from " $$0 ".trs"); \
-      if (line ~ /$(am__global_test_result_rx)/) \
-        { \
-          sub("$(am__global_test_result_rx)", "", line); \
-          sub("[ 	]*$$", "", line); \
-          global_test_result = line; \
-        } \
-      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
-        copy_in_global_log = 0; \
-    }; \
-  if (copy_in_global_log) \
-    { \
-      rst_section(global_test_result ": " $$0); \
-      while ((rc = (getline line < ($$0 ".log"))) != 0) \
-      { \
-        if (rc < 0) \
-          fatal("failed to read from " $$0 ".log"); \
-        print line; \
-      }; \
-      printf "\n"; \
-    }; \
-  close ($$0 ".trs"); \
-  close ($$0 ".log"); \
-}'
-# Restructured Text title.
-am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
-# Solaris 10 'make', and several other traditional 'make' implementations,
-# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
-# by disabling -e (using the XSI extension "set +e") if it's set.
-am__sh_e_setup = case $$- in *e*) set +e;; esac
-# Default flags passed to test drivers.
-am__common_driver_flags = \
-  --color-tests "$$am__color_tests" \
-  --enable-hard-errors "$$am__enable_hard_errors" \
-  --expect-failure "$$am__expect_failure"
-# To be inserted before the command running the test.  Creates the
-# directory for the log if needed.  Stores in $dir the directory
-# containing $f, in $tst the test, in $log the log.  Executes the
-# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
-# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
-# will run the test scripts (or their associated LOG_COMPILER, if
-# thy have one).
-am__check_pre = \
-$(am__sh_e_setup);					\
-$(am__vpath_adj_setup) $(am__vpath_adj)			\
-$(am__tty_colors);					\
-srcdir=$(srcdir); export srcdir;			\
-case "$@" in						\
-  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
-    *) am__odir=.;; 					\
-esac;							\
-test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
-  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
-if test -f "./$$f"; then dir=./;			\
-elif test -f "$$f"; then dir=;				\
-else dir="$(srcdir)/"; fi;				\
-tst=$$dir$$f; log='$@'; 				\
-if test -n '$(DISABLE_HARD_ERRORS)'; then		\
-  am__enable_hard_errors=no; 				\
-else							\
-  am__enable_hard_errors=yes; 				\
-fi; 							\
-case " $(XFAIL_TESTS) " in				\
-  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
-    am__expect_failure=yes;;				\
-  *)							\
-    am__expect_failure=no;;				\
-esac; 							\
-$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
-# A shell command to get the names of the tests scripts with any registered
-# extension removed (i.e., equivalently, the names of the test logs, with
-# the '.log' extension removed).  The result is saved in the shell variable
-# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
-# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
-# since that might cause problem with VPATH rewrites for suffix-less tests.
-# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
-am__set_TESTS_bases = \
-  bases='$(TEST_LOGS)'; \
-  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
-  bases=`echo $$bases`
-RECHECK_LOGS = $(TEST_LOGS)
-AM_RECURSIVE_TARGETS = check recheck
-TEST_SUITE_LOG = test-suite.log
-TEST_EXTENSIONS = @EXEEXT@ .test
-LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
-am__set_b = \
-  case '$@' in \
-    */*) \
-      case '$*' in \
-        */*) b='$*';; \
-          *) b=`echo '$@' | sed 's/\.log$$//'`; \
-       esac;; \
-    *) \
-      b='$*';; \
-  esac
-am__test_logs1 = $(TESTS:=.log)
-am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
-TEST_LOGS = $(am__test_logs2:.test.log=.log)
-TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver
-TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
-	$(TEST_LOG_FLAGS)
-am__DIST_COMMON = $(srcdir)/Makefile.in \
-	$(top_srcdir)/build-aux/depcomp \
-	$(top_srcdir)/build-aux/test-driver
-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@
-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_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@
-DL_LIBS = @DL_LIBS@
-DNSMASQ_PATH = @DNSMASQ_PATH@
-DNSSEC_TRIGGER_SCRIPT = @DNSSEC_TRIGGER_SCRIPT@
-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@
-JANSSON_CFLAGS = @JANSSON_CFLAGS@
-JANSSON_LIBS = @JANSSON_LIBS@
-KERNEL_FIRMWARE_DIR = @KERNEL_FIRMWARE_DIR@
-LCOV = @LCOV@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBAUDIT_CFLAGS = @LIBAUDIT_CFLAGS@
-LIBAUDIT_LIBS = @LIBAUDIT_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@
-LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
-LIBSYSTEMD_LIBS = @LIBSYSTEMD_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_CONFIG_DEFAULT_DNS_RC_MANAGER = @NM_CONFIG_DEFAULT_DNS_RC_MANAGER@
-NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT = @NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT@
-NM_CONFIG_LOGGING_BACKEND_DEFAULT_TEXT = @NM_CONFIG_LOGGING_BACKEND_DEFAULT_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@
-QT_CFLAGS = @QT_CFLAGS@
-QT_LIBS = @QT_LIBS@
-RANLIB = @RANLIB@
-READLINE_LIBS = @READLINE_LIBS@
-SANITIZERS = @SANITIZERS@
-SANITIZER_ENV = @SANITIZER_ENV@
-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_JOURNAL_CFLAGS = @SYSTEMD_JOURNAL_CFLAGS@
-SYSTEMD_JOURNAL_LIBS = @SYSTEMD_JOURNAL_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@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-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@
-nmlibdir = @nmlibdir@
-nmrundir = @nmrundir@
-nmstatedir = @nmstatedir@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-runstatedir = @runstatedir@
-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_builddir)/introspection \
-	-I$(top_srcdir)/shared \
-	-I$(top_builddir)/shared \
-	-I$(top_srcdir)/libnm-core \
-	-I$(top_builddir)/libnm-core \
-	-I${top_srcdir}/src/platform \
-	-I$(top_srcdir)/src \
-	-I$(top_srcdir)/src/devices/wifi \
-	-I$(top_builddir)/src \
-	-DG_LOG_DOMAIN=\""NetworkManager-wifi"\" \
-	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_INSIDE_DAEMON \
-	$(GLIB_CFLAGS)
-
-test_wifi_ap_utils_SOURCES = \
-	test-wifi-ap-utils.c \
-	$(srcdir)/../nm-wifi-ap.c \
-	$(srcdir)/../nm-wifi-ap.h \
-	$(srcdir)/../nm-wifi-ap-utils.c \
-	$(srcdir)/../nm-wifi-ap-utils.h
-
-test_wifi_ap_utils_LDADD = $(top_builddir)/src/libNetworkManager.la
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
-$(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/devices/wifi/tests/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu src/devices/wifi/tests/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-noinstPROGRAMS:
-	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
-	echo " rm -f" $$list; \
-	rm -f $$list || exit $$?; \
-	test -n "$(EXEEXT)" || exit 0; \
-	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-	echo " rm -f" $$list; \
-	rm -f $$list
-
-test-wifi-ap-utils$(EXEEXT): $(test_wifi_ap_utils_OBJECTS) $(test_wifi_ap_utils_DEPENDENCIES) $(EXTRA_test_wifi_ap_utils_DEPENDENCIES) 
-	@rm -f test-wifi-ap-utils$(EXEEXT)
-	$(AM_V_CCLD)$(LINK) $(test_wifi_ap_utils_OBJECTS) $(test_wifi_ap_utils_LDADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nm-wifi-ap-utils.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nm-wifi-ap.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-wifi-ap-utils.Po@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 $@ $<
-
-nm-wifi-ap.o: $(srcdir)/../nm-wifi-ap.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nm-wifi-ap.o -MD -MP -MF $(DEPDIR)/nm-wifi-ap.Tpo -c -o nm-wifi-ap.o `test -f '$(srcdir)/../nm-wifi-ap.c' || echo '$(srcdir)/'`$(srcdir)/../nm-wifi-ap.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nm-wifi-ap.Tpo $(DEPDIR)/nm-wifi-ap.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$(srcdir)/../nm-wifi-ap.c' object='nm-wifi-ap.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nm-wifi-ap.o `test -f '$(srcdir)/../nm-wifi-ap.c' || echo '$(srcdir)/'`$(srcdir)/../nm-wifi-ap.c
-
-nm-wifi-ap.obj: $(srcdir)/../nm-wifi-ap.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nm-wifi-ap.obj -MD -MP -MF $(DEPDIR)/nm-wifi-ap.Tpo -c -o nm-wifi-ap.obj `if test -f '$(srcdir)/../nm-wifi-ap.c'; then $(CYGPATH_W) '$(srcdir)/../nm-wifi-ap.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../nm-wifi-ap.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nm-wifi-ap.Tpo $(DEPDIR)/nm-wifi-ap.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$(srcdir)/../nm-wifi-ap.c' object='nm-wifi-ap.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nm-wifi-ap.obj `if test -f '$(srcdir)/../nm-wifi-ap.c'; then $(CYGPATH_W) '$(srcdir)/../nm-wifi-ap.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../nm-wifi-ap.c'; fi`
-
-nm-wifi-ap-utils.o: $(srcdir)/../nm-wifi-ap-utils.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nm-wifi-ap-utils.o -MD -MP -MF $(DEPDIR)/nm-wifi-ap-utils.Tpo -c -o nm-wifi-ap-utils.o `test -f '$(srcdir)/../nm-wifi-ap-utils.c' || echo '$(srcdir)/'`$(srcdir)/../nm-wifi-ap-utils.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nm-wifi-ap-utils.Tpo $(DEPDIR)/nm-wifi-ap-utils.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$(srcdir)/../nm-wifi-ap-utils.c' object='nm-wifi-ap-utils.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nm-wifi-ap-utils.o `test -f '$(srcdir)/../nm-wifi-ap-utils.c' || echo '$(srcdir)/'`$(srcdir)/../nm-wifi-ap-utils.c
-
-nm-wifi-ap-utils.obj: $(srcdir)/../nm-wifi-ap-utils.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nm-wifi-ap-utils.obj -MD -MP -MF $(DEPDIR)/nm-wifi-ap-utils.Tpo -c -o nm-wifi-ap-utils.obj `if test -f '$(srcdir)/../nm-wifi-ap-utils.c'; then $(CYGPATH_W) '$(srcdir)/../nm-wifi-ap-utils.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../nm-wifi-ap-utils.c'; fi`
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nm-wifi-ap-utils.Tpo $(DEPDIR)/nm-wifi-ap-utils.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$(srcdir)/../nm-wifi-ap-utils.c' object='nm-wifi-ap-utils.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nm-wifi-ap-utils.obj `if test -f '$(srcdir)/../nm-wifi-ap-utils.c'; then $(CYGPATH_W) '$(srcdir)/../nm-wifi-ap-utils.c'; else $(CYGPATH_W) '$(srcdir)/$(srcdir)/../nm-wifi-ap-utils.c'; fi`
-
-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
-
-# Recover from deleted '.trs' file; this should ensure that
-# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
-# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
-# to avoid problems with "make -n".
-.log.trs:
-	rm -f $< $@
-	$(MAKE) $(AM_MAKEFLAGS) $<
-
-# Leading 'am--fnord' is there to ensure the list of targets does not
-# expand to empty, as could happen e.g. with make check TESTS=''.
-am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
-am--force-recheck:
-	@:
-
-$(TEST_SUITE_LOG): $(TEST_LOGS)
-	@$(am__set_TESTS_bases); \
-	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
-	redo_bases=`for i in $$bases; do \
-	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
-	            done`; \
-	if test -n "$$redo_bases"; then \
-	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
-	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
-	  if $(am__make_dryrun); then :; else \
-	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
-	  fi; \
-	fi; \
-	if test -n "$$am__remaking_logs"; then \
-	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
-	       "recursion detected" >&2; \
-	elif test -n "$$redo_logs"; then \
-	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
-	fi; \
-	if $(am__make_dryrun); then :; else \
-	  st=0;  \
-	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
-	  for i in $$redo_bases; do \
-	    test -f $$i.trs && test -r $$i.trs \
-	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
-	    test -f $$i.log && test -r $$i.log \
-	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
-	  done; \
-	  test $$st -eq 0 || exit 1; \
-	fi
-	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
-	ws='[ 	]'; \
-	results=`for b in $$bases; do echo $$b.trs; done`; \
-	test -n "$$results" || results=/dev/null; \
-	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
-	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
-	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
-	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
-	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
-	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
-	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
-	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
-	  success=true; \
-	else \
-	  success=false; \
-	fi; \
-	br='==================='; br=$$br$$br$$br$$br; \
-	result_count () \
-	{ \
-	    if test x"$$1" = x"--maybe-color"; then \
-	      maybe_colorize=yes; \
-	    elif test x"$$1" = x"--no-color"; then \
-	      maybe_colorize=no; \
-	    else \
-	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
-	    fi; \
-	    shift; \
-	    desc=$$1 count=$$2; \
-	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
-	      color_start=$$3 color_end=$$std; \
-	    else \
-	      color_start= color_end=; \
-	    fi; \
-	    echo "$${color_start}# $$desc $$count$${color_end}"; \
-	}; \
-	create_testsuite_report () \
-	{ \
-	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
-	  result_count $$1 "PASS: " $$pass  "$$grn"; \
-	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
-	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
-	  result_count $$1 "FAIL: " $$fail  "$$red"; \
-	  result_count $$1 "XPASS:" $$xpass "$$red"; \
-	  result_count $$1 "ERROR:" $$error "$$mgn"; \
-	}; \
-	{								\
-	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
-	    $(am__rst_title);						\
-	  create_testsuite_report --no-color;				\
-	  echo;								\
-	  echo ".. contents:: :depth: 2";				\
-	  echo;								\
-	  for b in $$bases; do echo $$b; done				\
-	    | $(am__create_global_log);					\
-	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
-	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
-	if $$success; then						\
-	  col="$$grn";							\
-	 else								\
-	  col="$$red";							\
-	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
-	fi;								\
-	echo "$${col}$$br$${std}"; 					\
-	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
-	echo "$${col}$$br$${std}"; 					\
-	create_testsuite_report --maybe-color;				\
-	echo "$$col$$br$$std";						\
-	if $$success; then :; else					\
-	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
-	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
-	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
-	  fi;								\
-	  echo "$$col$$br$$std";					\
-	fi;								\
-	$$success || exit 1
-
-check-TESTS:
-	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
-	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
-	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-	@set +e; $(am__set_TESTS_bases); \
-	log_list=`for i in $$bases; do echo $$i.log; done`; \
-	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
-	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
-	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
-	exit $$?;
-recheck: all 
-	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-	@set +e; $(am__set_TESTS_bases); \
-	bases=`for i in $$bases; do echo $$i; done \
-	         | $(am__list_recheck_tests)` || exit 1; \
-	log_list=`for i in $$bases; do echo $$i.log; done`; \
-	log_list=`echo $$log_list`; \
-	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
-	        am__force_recheck=am--force-recheck \
-	        TEST_LOGS="$$log_list"; \
-	exit $$?
-test-wifi-ap-utils.log: test-wifi-ap-utils$(EXEEXT)
-	@p='test-wifi-ap-utils$(EXEEXT)'; \
-	b='test-wifi-ap-utils'; \
-	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
-.test.log:
-	@p='$<'; \
-	$(am__set_b); \
-	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
-	--log-file $$b.log --trs-file $$b.trs \
-	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
-	"$$tst" $(AM_TESTS_FD_REDIRECT)
-@am__EXEEXT_TRUE@.test$(EXEEXT).log:
-@am__EXEEXT_TRUE@	@p='$<'; \
-@am__EXEEXT_TRUE@	$(am__set_b); \
-@am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
-@am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
-@am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
-@am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
-
-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
-	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile $(PROGRAMS)
-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:
-	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
-	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
-	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-
-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-noinstPROGRAMS \
-	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: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
-	clean-generic clean-libtool clean-noinstPROGRAMS 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 \
-	recheck tags tags-am uninstall uninstall-am
-
-.PRECIOUS: Makefile
-
-
-@VALGRIND_RULES@
-
-# 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/devices/wifi/tests/test-wifi-ap-utils.c b/src/devices/wifi/tests/test-general.c
index dbe185b3..3e61c5f0 100644
--- a/src/devices/wifi/tests/test-wifi-ap-utils.c
+++ b/src/devices/wifi/tests/test-general.c
@@ -22,7 +22,7 @@
 
 #include <string.h>
 
-#include "nm-wifi-ap-utils.h"
+#include "devices/wifi/nm-wifi-utils.h"
 
 #include "nm-core-internal.h"
 
@@ -30,7 +30,7 @@
 
 #define DEBUG 1
 
-/*******************************************/
+/*****************************************************************************/
 
 #define COMPARE(src, expected, success, error, edomain, ecode) \
 { \
@@ -88,15 +88,15 @@ complete_connection (const char *ssid,
 	tmp = g_byte_array_sized_new (strlen (ssid));
 	g_byte_array_append (tmp, (const guint8 *) ssid, strlen (ssid));
 
-	success = nm_ap_utils_complete_connection (tmp,
-	                                           bssid,
-	                                           mode,
-	                                           flags,
-	                                           wpa_flags,
-	                                           rsn_flags,
-	                                           src,
-	                                           lock_bssid,
-	                                           error);
+	success = nm_wifi_utils_complete_connection (tmp,
+	                                             bssid,
+	                                             mode,
+	                                             flags,
+	                                             wpa_flags,
+	                                             rsn_flags,
+	                                             src,
+	                                             lock_bssid,
+	                                             error);
 	g_byte_array_free (tmp, TRUE);
 	return success;
 }
@@ -246,7 +246,7 @@ create_basic (const char *ssid,
 	return connection;
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_lock_bssid (void)
@@ -270,7 +270,7 @@ test_lock_bssid (void)
 	g_object_unref (expected);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_open_ap_empty_connection (void)
@@ -298,7 +298,7 @@ test_open_ap_empty_connection (void)
 	g_object_unref (expected);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_open_ap_leap_connection_1 (gconstpointer add_wifi)
@@ -330,7 +330,7 @@ test_open_ap_leap_connection_1 (gconstpointer add_wifi)
 	g_object_unref (src);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_open_ap_leap_connection_2 (void)
@@ -360,7 +360,7 @@ test_open_ap_leap_connection_2 (void)
 	g_object_unref (src);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_open_ap_wep_connection (gconstpointer add_wifi)
@@ -394,7 +394,7 @@ test_open_ap_wep_connection (gconstpointer add_wifi)
 	g_object_unref (src);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_ap_wpa_psk_connection_base (const char *key_mgmt,
@@ -515,7 +515,7 @@ test_open_ap_wpa_psk_connection_5 (void)
 	                                 NULL);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_ap_wpa_eap_connection_base (const char *key_mgmt,
@@ -707,7 +707,7 @@ test_ap_wpa_eap_connection_5 (gconstpointer data)
 	                                 error_code_for_idx (idx, 5));
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_priv_ap_empty_connection (void)
@@ -741,7 +741,7 @@ test_priv_ap_empty_connection (void)
 	g_object_unref (expected);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_priv_ap_leap_connection_1 (gconstpointer add_wifi)
@@ -788,7 +788,7 @@ test_priv_ap_leap_connection_1 (gconstpointer add_wifi)
 	g_object_unref (expected);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_priv_ap_leap_connection_2 (void)
@@ -821,7 +821,7 @@ test_priv_ap_leap_connection_2 (void)
 	g_object_unref (src);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_priv_ap_dynamic_wep_1 (void)
@@ -870,7 +870,7 @@ test_priv_ap_dynamic_wep_1 (void)
 	g_object_unref (expected);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_priv_ap_dynamic_wep_2 (void)
@@ -918,7 +918,7 @@ test_priv_ap_dynamic_wep_2 (void)
 	g_object_unref (expected);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_priv_ap_dynamic_wep_3 (void)
@@ -955,7 +955,7 @@ test_priv_ap_dynamic_wep_3 (void)
 	g_object_unref (src);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_priv_ap_wpa_psk_connection_1 (void)
@@ -1040,7 +1040,7 @@ test_priv_ap_wpa_psk_connection_5 (void)
 	                                 NULL);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_wpa_ap_empty_connection (gconstpointer data)
@@ -1077,7 +1077,7 @@ test_wpa_ap_empty_connection (gconstpointer data)
 	g_object_unref (expected);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_wpa_ap_leap_connection_1 (gconstpointer data)
@@ -1113,7 +1113,7 @@ test_wpa_ap_leap_connection_1 (gconstpointer data)
 	g_object_unref (src);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_wpa_ap_leap_connection_2 (gconstpointer data)
@@ -1147,7 +1147,7 @@ test_wpa_ap_leap_connection_2 (gconstpointer data)
 	g_object_unref (src);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_wpa_ap_dynamic_wep_connection (gconstpointer data)
@@ -1180,7 +1180,7 @@ test_wpa_ap_dynamic_wep_connection (gconstpointer data)
 	g_object_unref (src);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_wpa_ap_wpa_psk_connection_1 (gconstpointer data)
@@ -1283,23 +1283,23 @@ test_wpa_ap_wpa_psk_connection_5 (gconstpointer data)
 	g_object_unref (expected);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 static void
 test_strength_dbm (void)
 {
 	/* boundary conditions first */
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-1), ==, 100);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-40), ==, 100);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-30), ==, 100);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-100), ==, 0);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-200), ==, 0);
-
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-81), ==, 32);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-92), ==, 14);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-74), ==, 44);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-81), ==, 32);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (-66), ==, 57);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-1), ==, 100);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-40), ==, 100);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-30), ==, 100);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-100), ==, 0);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-200), ==, 0);
+
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-81), ==, 32);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-92), ==, 14);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-74), ==, 44);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-81), ==, 32);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (-66), ==, 57);
 }
 
 static void
@@ -1308,33 +1308,33 @@ test_strength_percent (void)
 	int i;
 
 	/* boundary conditions first */
-	g_assert_cmpint (nm_ap_utils_level_to_quality (0), ==, 0);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (100), ==, 100);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (110), ==, 100);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (0), ==, 0);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (100), ==, 100);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (110), ==, 100);
 
 	for (i = 0; i <= 100; i++)
-		g_assert_cmpint (nm_ap_utils_level_to_quality (i), ==, i);
+		g_assert_cmpint (nm_wifi_utils_level_to_quality (i), ==, i);
 }
 
 static void
 test_strength_wext (void)
 {
 	/* boundary conditions that we assume aren't WEXT first */
-	g_assert_cmpint (nm_ap_utils_level_to_quality (256), ==, 100);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (110), ==, 100);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (256), ==, 100);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (110), ==, 100);
 
 	/* boundary conditions that we assume are WEXT */
-	g_assert_cmpint (nm_ap_utils_level_to_quality (111), ==, 0);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (150), ==, 0);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (225), ==, 100);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (255), ==, 100);
-
-	g_assert_cmpint (nm_ap_utils_level_to_quality (157), ==, 2);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (200), ==, 74);
-	g_assert_cmpint (nm_ap_utils_level_to_quality (215), ==, 99);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (111), ==, 0);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (150), ==, 0);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (225), ==, 100);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (255), ==, 100);
+
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (157), ==, 2);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (200), ==, 74);
+	g_assert_cmpint (nm_wifi_utils_level_to_quality (215), ==, 99);
 }
 
-/*******************************************/
+/*****************************************************************************/
 
 NMTST_DEFINE ();