summary refs log tree commit diff
path: root/libnm/nm-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnm/nm-client.c')
-rw-r--r--libnm/nm-client.c11861
1 files changed, 6003 insertions, 5858 deletions
diff --git a/libnm/nm-client.c b/libnm/nm-client.c
index d7f61152..1c2c2dd7 100644
--- a/libnm/nm-client.c
+++ b/libnm/nm-client.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: LGPL-2.1+
+/* SPDX-License-Identifier: LGPL-2.1+ */
 /*
  * Copyright (C) 2007 - 2008 Novell, Inc.
  * Copyright (C) 2007 - 2018 Red Hat, Inc.
@@ -60,319 +60,319 @@
 
 /*****************************************************************************/
 
-NM_CACHED_QUARK_FCN ("nm-context-busy-watcher", nm_context_busy_watcher_quark)
+NM_CACHED_QUARK_FCN("nm-context-busy-watcher", nm_context_busy_watcher_quark);
 
 static void
-_context_busy_watcher_attach_integration_source_cb (gpointer data,
-                                                    GObject *where_the_object_was)
+_context_busy_watcher_attach_integration_source_cb(gpointer data, GObject *where_the_object_was)
 {
-	nm_g_source_destroy_and_unref (data);
+    nm_g_source_destroy_and_unref(data);
 }
 
 void
-nm_context_busy_watcher_integrate_source (GMainContext *outer_context,
-                                          GMainContext *inner_context,
-                                          GObject *context_busy_watcher)
-{
-	GSource *source;
-
-	nm_assert (outer_context);
-	nm_assert (inner_context);
-	nm_assert (outer_context != inner_context);
-	nm_assert (G_IS_OBJECT (context_busy_watcher));
-
-	source = nm_utils_g_main_context_create_integrate_source (inner_context);
-	g_source_attach (source, outer_context);
-
-	/* The problem is...
-	 *
-	 * NMClient is associated with a GMainContext, just like its underlying GDBusConnection
-	 * also queues signals and callbacks on that main context. During operation, NMClient
-	 * will schedule async operations which will return asynchronously on the GMainContext.
-	 *
-	 * Note that depending on whether NMClient got initialized synchronously or asynchronously,
-	 * it has an internal priv->dbus_context that is different from the outer priv->main_context.
-	 * However, the problem is in both cases.
-	 *
-	 * So, as long as there are pending D-Bus calls, the GMainContext is referenced and kept alive.
-	 * When NMClient gets destroyed, the pending calls get cancelled, but the async callback are still
-	 * scheduled to return.
-	 * That means, the main context stays alive until it gets iterated long enough so that all pending
-	 * operations are completed.
-	 *
-	 * Note that pending operations don't keep NMClient alive, so NMClient can already be gone by
-	 * then, but the user still should iterate the main context long enough to process the (cancelled)
-	 * callbacks... at least, if the user cares about whether the remaining memory and file descriptors
-	 * of the GMainContext can be reclaimed.
-	 *
-	 * In hindsight, maybe pending references should kept NMClient alive. But then NMClient would
-	 * need a special "shutdown()" API that the user must invoke, because unrefing would no longer
-	 * be enough to ensure a shutdown (imagine a situation where NMClient receives a constant flow
-	 * of "CheckPermissions" signals, which keeps retriggering an async request). Anyway, we cannot
-	 * add such a shutdown API now, as it would break client's expectations that they can just unref
-	 * the NMClient to destroy it.
-	 *
-	 * So, we allow NMClient to unref, but the user is advised to keep iterating the main context.
-	 * But for how long? Here comes nm_client_get_context_busy_watcher() into play. The user may
-	 * subscribe a weak pointer to that instance and should keep iterating as long as the object
-	 * exists.
-	 *
-	 * Now, back to synchronous initialization. Here we have the internal priv->dbus_context context.
-	 * We also cannot remove that context right away, instead we need to keep it integrated in the
-	 * caller's priv->main_context as long as we have pending calls: that is, as long as the
-	 * context-busy-watcher is alive.
-	 */
-
-	g_object_weak_ref (context_busy_watcher,
-	                   _context_busy_watcher_attach_integration_source_cb,
-	                   source);
+nm_context_busy_watcher_integrate_source(GMainContext *outer_context,
+                                         GMainContext *inner_context,
+                                         GObject *     context_busy_watcher)
+{
+    GSource *source;
+
+    nm_assert(outer_context);
+    nm_assert(inner_context);
+    nm_assert(outer_context != inner_context);
+    nm_assert(G_IS_OBJECT(context_busy_watcher));
+
+    source = nm_utils_g_main_context_create_integrate_source(inner_context);
+    g_source_attach(source, outer_context);
+
+    /* The problem is...
+     *
+     * NMClient is associated with a GMainContext, just like its underlying GDBusConnection
+     * also queues signals and callbacks on that main context. During operation, NMClient
+     * will schedule async operations which will return asynchronously on the GMainContext.
+     *
+     * Note that depending on whether NMClient got initialized synchronously or asynchronously,
+     * it has an internal priv->dbus_context that is different from the outer priv->main_context.
+     * However, the problem is in both cases.
+     *
+     * So, as long as there are pending D-Bus calls, the GMainContext is referenced and kept alive.
+     * When NMClient gets destroyed, the pending calls get cancelled, but the async callback are still
+     * scheduled to return.
+     * That means, the main context stays alive until it gets iterated long enough so that all pending
+     * operations are completed.
+     *
+     * Note that pending operations don't keep NMClient alive, so NMClient can already be gone by
+     * then, but the user still should iterate the main context long enough to process the (cancelled)
+     * callbacks... at least, if the user cares about whether the remaining memory and file descriptors
+     * of the GMainContext can be reclaimed.
+     *
+     * In hindsight, maybe pending references should kept NMClient alive. But then NMClient would
+     * need a special "shutdown()" API that the user must invoke, because unrefing would no longer
+     * be enough to ensure a shutdown (imagine a situation where NMClient receives a constant flow
+     * of "CheckPermissions" signals, which keeps retriggering an async request). Anyway, we cannot
+     * add such a shutdown API now, as it would break client's expectations that they can just unref
+     * the NMClient to destroy it.
+     *
+     * So, we allow NMClient to unref, but the user is advised to keep iterating the main context.
+     * But for how long? Here comes nm_client_get_context_busy_watcher() into play. The user may
+     * subscribe a weak pointer to that instance and should keep iterating as long as the object
+     * exists.
+     *
+     * Now, back to synchronous initialization. Here we have the internal priv->dbus_context context.
+     * We also cannot remove that context right away, instead we need to keep it integrated in the
+     * caller's priv->main_context as long as we have pending calls: that is, as long as the
+     * context-busy-watcher is alive.
+     */
+
+    g_object_weak_ref(context_busy_watcher,
+                      _context_busy_watcher_attach_integration_source_cb,
+                      source);
 }
 
 /*****************************************************************************/
 
 typedef struct {
+    /* It is quite wasteful to require 2 pointers per property (of an instance) only to track whether
+     * the property got changed. But it's convenient! */
+    CList changed_prop_lst;
 
-	/* It is quite wasteful to require 2 pointers per property (of an instance) only to track whether
-	 * the property got changed. But it's convenient! */
-	CList changed_prop_lst;
-
-	GVariant *prop_data_value;
+    GVariant *prop_data_value;
 } NMLDBusObjPropData;
 
 typedef struct {
-	CList iface_lst;
-	union {
-		const NMLDBusMetaIface *meta;
-		NMRefString *name;
-	} dbus_iface;
+    CList iface_lst;
+    union {
+        const NMLDBusMetaIface *meta;
+        NMRefString *           name;
+    } dbus_iface;
 
-	CList changed_prop_lst_head;
+    CList changed_prop_lst_head;
 
-	/* We also keep track of non-well known interfaces. The presence of a D-Bus interface
-	 * is what makes a D-Bus alive or not. As we should track all D-Bus objects, we also
-	 * need to track whether there are any interfaces on it -- even if we otherwise don't
-	 * care about the interface. */
-	bool dbus_iface_is_wellknown:1;
+    /* We also keep track of non-well known interfaces. The presence of a D-Bus interface
+     * is what makes a D-Bus alive or not. As we should track all D-Bus objects, we also
+     * need to track whether there are any interfaces on it -- even if we otherwise don't
+     * care about the interface. */
+    bool dbus_iface_is_wellknown : 1;
 
-	/* if TRUE, the interface is about to be removed. */
-	bool iface_removed:1;
+    /* if TRUE, the interface is about to be removed. */
+    bool iface_removed : 1;
 
-	bool nmobj_checked:1;
-	bool nmobj_compatible:1;
+    bool nmobj_checked : 1;
+    bool nmobj_compatible : 1;
 
-	NMLDBusObjPropData prop_datas[];
+    NMLDBusObjPropData prop_datas[];
 } NMLDBusObjIfaceData;
 
 /* The dbus_path must be the first element, so when we hash the object by the dbus_path,
  * we also can lookup the object by only having a NMRefString at hand
  * using nm_pdirect_hash()/nm_pdirect_equal(). */
-G_STATIC_ASSERT (G_STRUCT_OFFSET (NMLDBusObject, dbus_path) == 0);
+G_STATIC_ASSERT(G_STRUCT_OFFSET(NMLDBusObject, dbus_path) == 0);
 
-typedef void (*NMLDBusObjWatchNotifyFcn) (NMClient *client,
-                                          gpointer obj_watcher);
+typedef void (*NMLDBusObjWatchNotifyFcn)(NMClient *client, gpointer obj_watcher);
 
 struct _NMLDBusObjWatcher {
-	NMLDBusObject *dbobj;
-	struct {
-		CList watcher_lst;
-		NMLDBusObjWatchNotifyFcn notify_fcn;
-	} _priv;
+    NMLDBusObject *dbobj;
+    struct {
+        CList                    watcher_lst;
+        NMLDBusObjWatchNotifyFcn notify_fcn;
+    } _priv;
 };
 
 typedef struct {
-	NMLDBusObjWatcher parent;
-	gpointer user_data;
+    NMLDBusObjWatcher parent;
+    gpointer          user_data;
 } NMLDBusObjWatcherWithPtr;
 
 /*****************************************************************************/
 
-NM_GOBJECT_PROPERTIES_DEFINE (NMClient,
-	PROP_DBUS_CONNECTION,
-	PROP_DBUS_NAME_OWNER,
-	PROP_VERSION,
-	PROP_INSTANCE_FLAGS,
-	PROP_STATE,
-	PROP_STARTUP,
-	PROP_NM_RUNNING,
-	PROP_NETWORKING_ENABLED,
-	PROP_WIRELESS_ENABLED,
-	PROP_WIRELESS_HARDWARE_ENABLED,
-	PROP_WWAN_ENABLED,
-	PROP_WWAN_HARDWARE_ENABLED,
-	PROP_WIMAX_ENABLED,
-	PROP_WIMAX_HARDWARE_ENABLED,
-	PROP_ACTIVE_CONNECTIONS,
-	PROP_CONNECTIVITY,
-	PROP_CONNECTIVITY_CHECK_URI,
-	PROP_CONNECTIVITY_CHECK_AVAILABLE,
-	PROP_CONNECTIVITY_CHECK_ENABLED,
-	PROP_PRIMARY_CONNECTION,
-	PROP_ACTIVATING_CONNECTION,
-	PROP_DEVICES,
-	PROP_ALL_DEVICES,
-	PROP_CONNECTIONS,
-	PROP_HOSTNAME,
-	PROP_CAN_MODIFY,
-	PROP_METERED,
-	PROP_DNS_MODE,
-	PROP_DNS_RC_MANAGER,
-	PROP_DNS_CONFIGURATION,
-	PROP_CHECKPOINTS,
-	PROP_CAPABILITIES,
-	PROP_PERMISSIONS_STATE,
-);
+NM_GOBJECT_PROPERTIES_DEFINE(NMClient,
+                             PROP_DBUS_CONNECTION,
+                             PROP_DBUS_NAME_OWNER,
+                             PROP_VERSION,
+                             PROP_INSTANCE_FLAGS,
+                             PROP_STATE,
+                             PROP_STARTUP,
+                             PROP_NM_RUNNING,
+                             PROP_NETWORKING_ENABLED,
+                             PROP_WIRELESS_ENABLED,
+                             PROP_WIRELESS_HARDWARE_ENABLED,
+                             PROP_WWAN_ENABLED,
+                             PROP_WWAN_HARDWARE_ENABLED,
+                             PROP_WIMAX_ENABLED,
+                             PROP_WIMAX_HARDWARE_ENABLED,
+                             PROP_ACTIVE_CONNECTIONS,
+                             PROP_CONNECTIVITY,
+                             PROP_CONNECTIVITY_CHECK_URI,
+                             PROP_CONNECTIVITY_CHECK_AVAILABLE,
+                             PROP_CONNECTIVITY_CHECK_ENABLED,
+                             PROP_PRIMARY_CONNECTION,
+                             PROP_ACTIVATING_CONNECTION,
+                             PROP_DEVICES,
+                             PROP_ALL_DEVICES,
+                             PROP_CONNECTIONS,
+                             PROP_HOSTNAME,
+                             PROP_CAN_MODIFY,
+                             PROP_METERED,
+                             PROP_DNS_MODE,
+                             PROP_DNS_RC_MANAGER,
+                             PROP_DNS_CONFIGURATION,
+                             PROP_CHECKPOINTS,
+                             PROP_CAPABILITIES,
+                             PROP_PERMISSIONS_STATE, );
 
 enum {
-	DEVICE_ADDED,
-	DEVICE_REMOVED,
-	ANY_DEVICE_ADDED,
-	ANY_DEVICE_REMOVED,
-	PERMISSION_CHANGED,
-	CONNECTION_ADDED,
-	CONNECTION_REMOVED,
-	ACTIVE_CONNECTION_ADDED,
-	ACTIVE_CONNECTION_REMOVED,
-
-	LAST_SIGNAL
+    DEVICE_ADDED,
+    DEVICE_REMOVED,
+    ANY_DEVICE_ADDED,
+    ANY_DEVICE_REMOVED,
+    PERMISSION_CHANGED,
+    CONNECTION_ADDED,
+    CONNECTION_REMOVED,
+    ACTIVE_CONNECTION_ADDED,
+    ACTIVE_CONNECTION_REMOVED,
+
+    LAST_SIGNAL
 };
 
-static guint signals[LAST_SIGNAL] = { 0 };
+static guint signals[LAST_SIGNAL] = {0};
 
 enum {
-	PROPERTY_O_IDX_NM_ACTIVATING_CONNECTION = 0,
-	PROPERTY_O_IDX_NM_PRIMAY_CONNECTION,
-	_PROPERTY_O_IDX_NM_NUM,
+    PROPERTY_O_IDX_NM_ACTIVATING_CONNECTION = 0,
+    PROPERTY_O_IDX_NM_PRIMAY_CONNECTION,
+    _PROPERTY_O_IDX_NM_NUM,
 };
 
 enum {
-	PROPERTY_AO_IDX_DEVICES = 0,
-	PROPERTY_AO_IDX_ALL_DEVICES,
-	PROPERTY_AO_IDX_ACTIVE_CONNECTIONS,
-	PROPERTY_AO_IDX_CHECKPOINTS,
-	_PROPERTY_AO_IDX_NM_NUM,
+    PROPERTY_AO_IDX_DEVICES = 0,
+    PROPERTY_AO_IDX_ALL_DEVICES,
+    PROPERTY_AO_IDX_ACTIVE_CONNECTIONS,
+    PROPERTY_AO_IDX_CHECKPOINTS,
+    _PROPERTY_AO_IDX_NM_NUM,
 };
 
 typedef struct {
-	struct udev *udev;
-	GMainContext *main_context;
-	GMainContext *dbus_context;
-	GObject *context_busy_watcher;
-	GDBusConnection *dbus_connection;
-	NMLInitData *init_data;
-	GHashTable *dbus_objects;
-	CList obj_changed_lst_head;
-	GCancellable *name_owner_get_cancellable;
-	GCancellable *get_managed_objects_cancellable;
-
-	CList queue_notify_lst_head;
-	CList notify_event_lst_head;
-
-	CList dbus_objects_lst_head_watched_only;
-	CList dbus_objects_lst_head_on_dbus;
-	CList dbus_objects_lst_head_with_nmobj_not_ready;
-	CList dbus_objects_lst_head_with_nmobj_ready;
-
-	NMLDBusObject *dbobj_nm;
-	NMLDBusObject *dbobj_settings;
-	NMLDBusObject *dbobj_dns_manager;
-
-	guint8 *permissions;
-	GCancellable *permissions_cancellable;
-
-	char *name_owner;
-	guint name_owner_changed_id;
-	guint dbsid_nm_object_manager;
-	guint dbsid_dbus_properties_properties_changed;
-	guint dbsid_nm_settings_connection_updated;
-	guint dbsid_nm_connection_active_state_changed;
-	guint dbsid_nm_vpn_connection_state_changed;
-	guint dbsid_nm_check_permissions;
-
-	NMClientInstanceFlags instance_flags:3;
-
-	NMTernary permissions_state:3;
-
-	bool instance_flags_constructed:1;
-
-	bool udev_inited:1;
-	bool notify_event_lst_changed:1;
-	bool check_dbobj_visible_all:1;
-	bool nm_running:1;
-
-	struct {
-		NMLDBusPropertyO property_o[_PROPERTY_O_IDX_NM_NUM];
-		NMLDBusPropertyAO property_ao[_PROPERTY_AO_IDX_NM_NUM];
-		char *connectivity_check_uri;
-		char *version;
-		guint32 *capabilities_arr;
-		gsize capabilities_len;
-		guint32 connectivity;
-		guint32 state;
-		guint32 metered;
-		bool connectivity_check_available;
-		bool connectivity_check_enabled;
-		bool networking_enabled;
-		bool startup;
-		bool wireless_enabled;
-		bool wireless_hardware_enabled;
-		bool wwan_enabled;
-		bool wwan_hardware_enabled;
-	} nm;
-
-	struct {
-		NMLDBusPropertyAO connections;
-		char *hostname;
-		bool can_modify;
-	} settings;
-
-	struct {
-		GPtrArray *configuration;
-		char *mode;
-		char *rc_manager;
-	} dns_manager;
+    struct udev *    udev;
+    GMainContext *   main_context;
+    GMainContext *   dbus_context;
+    GObject *        context_busy_watcher;
+    GDBusConnection *dbus_connection;
+    NMLInitData *    init_data;
+    GHashTable *     dbus_objects;
+    CList            obj_changed_lst_head;
+    GCancellable *   name_owner_get_cancellable;
+    GCancellable *   get_managed_objects_cancellable;
+
+    CList queue_notify_lst_head;
+    CList notify_event_lst_head;
+
+    CList dbus_objects_lst_head_watched_only;
+    CList dbus_objects_lst_head_on_dbus;
+    CList dbus_objects_lst_head_with_nmobj_not_ready;
+    CList dbus_objects_lst_head_with_nmobj_ready;
+
+    NMLDBusObject *dbobj_nm;
+    NMLDBusObject *dbobj_settings;
+    NMLDBusObject *dbobj_dns_manager;
+
+    gsize log_call_counter;
+
+    guint8 *      permissions;
+    GCancellable *permissions_cancellable;
+
+    char *name_owner;
+    guint name_owner_changed_id;
+    guint dbsid_nm_object_manager;
+    guint dbsid_dbus_properties_properties_changed;
+    guint dbsid_nm_settings_connection_updated;
+    guint dbsid_nm_connection_active_state_changed;
+    guint dbsid_nm_vpn_connection_state_changed;
+    guint dbsid_nm_check_permissions;
+
+    NMClientInstanceFlags instance_flags : 3;
+
+    NMTernary permissions_state : 3;
+
+    bool instance_flags_constructed : 1;
+
+    bool udev_inited : 1;
+    bool notify_event_lst_changed : 1;
+    bool check_dbobj_visible_all : 1;
+    bool nm_running : 1;
+
+    struct {
+        NMLDBusPropertyO  property_o[_PROPERTY_O_IDX_NM_NUM];
+        NMLDBusPropertyAO property_ao[_PROPERTY_AO_IDX_NM_NUM];
+        char *            connectivity_check_uri;
+        char *            version;
+        guint32 *         capabilities_arr;
+        gsize             capabilities_len;
+        guint32           connectivity;
+        guint32           state;
+        guint32           metered;
+        bool              connectivity_check_available;
+        bool              connectivity_check_enabled;
+        bool              networking_enabled;
+        bool              startup;
+        bool              wireless_enabled;
+        bool              wireless_hardware_enabled;
+        bool              wwan_enabled;
+        bool              wwan_hardware_enabled;
+    } nm;
+
+    struct {
+        NMLDBusPropertyAO connections;
+        char *            hostname;
+        bool              can_modify;
+    } settings;
+
+    struct {
+        GPtrArray *configuration;
+        char *     mode;
+        char *     rc_manager;
+    } dns_manager;
 
 } NMClientPrivate;
 
 struct _NMClient {
-	union {
-		GObject parent;
-		NMObjectBase obj_base;
-	};
-	NMClientPrivate _priv;
+    union {
+        GObject      parent;
+        NMObjectBase obj_base;
+    };
+    NMClientPrivate _priv;
 };
 
 struct _NMClientClass {
-	union {
-		GObjectClass parent;
-		NMObjectBaseClass obj_base;
-	};
+    union {
+        GObjectClass      parent;
+        NMObjectBaseClass obj_base;
+    };
 };
 
-static void nm_client_initable_iface_init (GInitableIface *iface);
-static void nm_client_async_initable_iface_init (GAsyncInitableIface *iface);
+static void nm_client_initable_iface_init(GInitableIface *iface);
+static void nm_client_async_initable_iface_init(GAsyncInitableIface *iface);
 
-G_DEFINE_TYPE_WITH_CODE (NMClient, nm_client, G_TYPE_OBJECT,
-                         G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, nm_client_initable_iface_init);
-                         G_IMPLEMENT_INTERFACE (G_TYPE_ASYNC_INITABLE, nm_client_async_initable_iface_init);
-                         )
+G_DEFINE_TYPE_WITH_CODE(NMClient,
+                        nm_client,
+                        G_TYPE_OBJECT,
+                        G_IMPLEMENT_INTERFACE(G_TYPE_INITABLE, nm_client_initable_iface_init);
+                        G_IMPLEMENT_INTERFACE(G_TYPE_ASYNC_INITABLE,
+                                              nm_client_async_initable_iface_init);)
 
 #define NM_CLIENT_GET_PRIVATE(self) _NM_GET_PRIVATE(self, NMClient, NM_IS_CLIENT)
 
 /*****************************************************************************/
 
-static void _init_start_check_complete (NMClient *self);
+static void _init_start_check_complete(NMClient *self);
 
-static void name_owner_changed_cb (GDBusConnection *connection,
-                                   const char *sender_name,
-                                   const char *object_path,
-                                   const char *interface_name,
-                                   const char *signal_name,
-                                   GVariant *parameters,
-                                   gpointer user_data);
+static void name_owner_changed_cb(GDBusConnection *connection,
+                                  const char *     sender_name,
+                                  const char *     object_path,
+                                  const char *     interface_name,
+                                  const char *     signal_name,
+                                  GVariant *       parameters,
+                                  gpointer         user_data);
 
-static void name_owner_get_call (NMClient *self);
+static void name_owner_get_call(NMClient *self);
 
-static void _set_nm_running (NMClient *self);
+static void _set_nm_running(NMClient *self);
 
 /*****************************************************************************/
 
@@ -382,15 +382,15 @@ static NMRefString *_dbus_path_dns_manager = NULL;
 
 /*****************************************************************************/
 
-static
-NM_UTILS_LOOKUP_STR_DEFINE (nml_dbus_obj_state_to_string, NMLDBusObjState,
-	NM_UTILS_LOOKUP_DEFAULT_WARN ("???"),
-	NM_UTILS_LOOKUP_ITEM (NML_DBUS_OBJ_STATE_UNLINKED,             "unlinked"),
-	NM_UTILS_LOOKUP_ITEM (NML_DBUS_OBJ_STATE_WATCHED_ONLY,         "watched-only"),
-	NM_UTILS_LOOKUP_ITEM (NML_DBUS_OBJ_STATE_ON_DBUS,              "on-dbus"),
-	NM_UTILS_LOOKUP_ITEM (NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY, "not-ready"),
-	NM_UTILS_LOOKUP_ITEM (NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY,     "ready"),
-);
+static NM_UTILS_LOOKUP_STR_DEFINE(
+    nml_dbus_obj_state_to_string,
+    NMLDBusObjState,
+    NM_UTILS_LOOKUP_DEFAULT_WARN("???"),
+    NM_UTILS_LOOKUP_ITEM(NML_DBUS_OBJ_STATE_UNLINKED, "unlinked"),
+    NM_UTILS_LOOKUP_ITEM(NML_DBUS_OBJ_STATE_WATCHED_ONLY, "watched-only"),
+    NM_UTILS_LOOKUP_ITEM(NML_DBUS_OBJ_STATE_ON_DBUS, "on-dbus"),
+    NM_UTILS_LOOKUP_ITEM(NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY, "not-ready"),
+    NM_UTILS_LOOKUP_ITEM(NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY, "ready"), );
 
 /*****************************************************************************/
 
@@ -401,570 +401,590 @@ NM_UTILS_LOOKUP_STR_DEFINE (nml_dbus_obj_state_to_string, NMLDBusObjState,
  *
  * Returns: the error quark used for #NMClient errors.
  **/
-NM_CACHED_QUARK_FCN ("nm-client-error-quark", nm_client_error_quark)
+NM_CACHED_QUARK_FCN("nm-client-error-quark", nm_client_error_quark);
 
 /*****************************************************************************/
 
 NMLInitData *
-nml_init_data_new_sync (GCancellable *cancellable,
-                        GMainLoop *main_loop,
-                        GError **error_location)
+nml_init_data_new_sync(GCancellable *cancellable, GMainLoop *main_loop, GError **error_location)
 {
-	NMLInitData *init_data;
+    NMLInitData *init_data;
 
-	init_data = g_slice_new (NMLInitData);
-	*init_data = (NMLInitData) {
-		.cancellable = nm_g_object_ref (cancellable),
-		.is_sync     = TRUE,
-		.data.sync   = {
-			.main_loop      = main_loop,
-			.error_location = error_location,
-		},
-	};
-	return init_data;
+    init_data  = g_slice_new(NMLInitData);
+    *init_data = (NMLInitData){
+        .cancellable = nm_g_object_ref(cancellable),
+        .is_sync     = TRUE,
+        .data.sync =
+            {
+                .main_loop      = main_loop,
+                .error_location = error_location,
+            },
+    };
+    return init_data;
 }
 
 NMLInitData *
-nml_init_data_new_async (GCancellable *cancellable,
-                         GTask *task_take)
+nml_init_data_new_async(GCancellable *cancellable, GTask *task_take)
 {
-	NMLInitData *init_data;
+    NMLInitData *init_data;
 
-	init_data = g_slice_new (NMLInitData);
-	*init_data = (NMLInitData) {
-		.cancellable = nm_g_object_ref (cancellable),
-		.is_sync     = FALSE,
-		.data.async  = {
-			.task = g_steal_pointer (&task_take),
-		},
-	};
-	return init_data;
+    init_data  = g_slice_new(NMLInitData);
+    *init_data = (NMLInitData){
+        .cancellable = nm_g_object_ref(cancellable),
+        .is_sync     = FALSE,
+        .data.async =
+            {
+                .task = g_steal_pointer(&task_take),
+            },
+    };
+    return init_data;
 }
 
 void
-nml_init_data_return (NMLInitData *init_data,
-                      GError *error_take)
+nml_init_data_return(NMLInitData *init_data, GError *error_take)
 {
-	nm_assert (init_data);
+    nm_assert(init_data);
 
-	nm_clear_pointer (&init_data->cancel_on_idle_source, nm_g_source_destroy_and_unref);
-	nm_clear_g_signal_handler (init_data->cancellable, &init_data->cancelled_id);
+    nm_clear_pointer(&init_data->cancel_on_idle_source, nm_g_source_destroy_and_unref);
+    nm_clear_g_signal_handler(init_data->cancellable, &init_data->cancelled_id);
 
-	if (init_data->is_sync) {
-		if (error_take)
-			g_propagate_error (init_data->data.sync.error_location, error_take);
-		g_main_loop_quit (init_data->data.sync.main_loop);
-	} else {
-		if (error_take)
-			g_task_return_error (init_data->data.async.task, error_take);
-		else
-			g_task_return_boolean (init_data->data.async.task, TRUE);
-		g_object_unref (init_data->data.async.task);
-	}
-	nm_g_object_unref (init_data->cancellable);
-	nm_g_slice_free (init_data);
+    if (init_data->is_sync) {
+        if (error_take)
+            g_propagate_error(init_data->data.sync.error_location, error_take);
+        g_main_loop_quit(init_data->data.sync.main_loop);
+    } else {
+        if (error_take)
+            g_task_return_error(init_data->data.async.task, error_take);
+        else
+            g_task_return_boolean(init_data->data.async.task, TRUE);
+        g_object_unref(init_data->data.async.task);
+    }
+    nm_g_object_unref(init_data->cancellable);
+    nm_g_slice_free(init_data);
 }
 
 /*****************************************************************************/
 
 GError *
-_nm_client_new_error_nm_not_running (void)
+_nm_client_new_error_nm_not_running(void)
 {
-	return g_error_new_literal (NM_CLIENT_ERROR,
-	                            NM_CLIENT_ERROR_MANAGER_NOT_RUNNING,
-	                            "NetworkManager is not running");
+    return g_error_new_literal(NM_CLIENT_ERROR,
+                               NM_CLIENT_ERROR_MANAGER_NOT_RUNNING,
+                               "NetworkManager is not running");
 }
 
 GError *
-_nm_client_new_error_nm_not_cached (void)
+_nm_client_new_error_nm_not_cached(void)
 {
-	return g_error_new_literal (NM_CLIENT_ERROR,
-	                            NM_CLIENT_ERROR_FAILED,
-	                            "Object is no longer in the client cache");
+    return g_error_new_literal(NM_CLIENT_ERROR,
+                               NM_CLIENT_ERROR_FAILED,
+                               "Object is no longer in the client cache");
 }
 
 static void
-_nm_client_dbus_call_simple_cb (GObject *source, GAsyncResult *result, gpointer data)
+_nm_client_dbus_call_simple_cb(GObject *source, GAsyncResult *result, gpointer data)
 {
-	GAsyncReadyCallback callback;
-	gpointer user_data;
-	gs_unref_object GObject *context_busy_watcher = NULL;
+    GAsyncReadyCallback callback;
+    gpointer            user_data;
+    gs_unref_object GObject *context_busy_watcher = NULL;
+    gpointer                 obfuscated_self_ptr;
+    gpointer                 log_call_counter_ptr;
+
+    nm_utils_user_data_unpack(data,
+                              &callback,
+                              &user_data,
+                              &context_busy_watcher,
+                              &obfuscated_self_ptr,
+                              &log_call_counter_ptr);
 
-	nm_utils_user_data_unpack (data, &callback, &user_data, &context_busy_watcher);
+    NML_DBUS_LOG(_NML_NMCLIENT_LOG_LEVEL_COERCE(NML_DBUS_LOG_LEVEL_TRACE),
+                 "nmclient[" NM_HASH_OBFUSCATE_PTR_FMT "]: call[%" G_GSIZE_FORMAT "] completed",
+                 (guint64) GPOINTER_TO_SIZE(obfuscated_self_ptr),
+                 GPOINTER_TO_SIZE(log_call_counter_ptr));
 
-	callback (source, result, user_data);
+    callback(source, result, user_data);
 }
 
 void
-_nm_client_dbus_call_simple (NMClient *self,
-                             GCancellable *cancellable,
-                             const char *object_path,
-                             const char *interface_name,
-                             const char *method_name,
-                             GVariant *parameters,
-                             const GVariantType *reply_type,
-                             GDBusCallFlags flags,
-                             int timeout_msec,
-                             GAsyncReadyCallback callback,
-                             gpointer user_data)
-{
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
-
-	nm_assert (priv->name_owner);
-	nm_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
-	nm_assert (callback);
-	nm_assert (object_path);
-	nm_assert (interface_name);
-	nm_assert (method_name);
-	nm_assert (parameters);
-	nm_assert (reply_type);
-
-	dbus_context = nm_g_main_context_push_thread_default_if_necessary (priv->dbus_context);
-
-	g_dbus_connection_call (priv->dbus_connection,
-	                        priv->name_owner,
-	                        object_path,
-	                        interface_name,
-	                        method_name,
-	                        parameters,
-	                        reply_type,
-	                        flags,
-	                        timeout_msec,
-	                        cancellable,
-	                        _nm_client_dbus_call_simple_cb,
-	                        nm_utils_user_data_pack (callback, user_data, g_object_ref (priv->context_busy_watcher)));
+_nm_client_dbus_call_simple(NMClient *          self,
+                            GCancellable *      cancellable,
+                            const char *        object_path,
+                            const char *        interface_name,
+                            const char *        method_name,
+                            GVariant *          parameters,
+                            const GVariantType *reply_type,
+                            GDBusCallFlags      flags,
+                            int                 timeout_msec,
+                            GAsyncReadyCallback callback,
+                            gpointer            user_data)
+{
+    NMClientPrivate *        priv                       = NM_CLIENT_GET_PRIVATE(self);
+    nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
+    gs_free char *                         log_str      = NULL;
+    gsize                                  log_call_counter;
+
+    nm_assert(priv->name_owner);
+    nm_assert(!cancellable || G_IS_CANCELLABLE(cancellable));
+    nm_assert(callback);
+    nm_assert(object_path);
+    nm_assert(interface_name);
+    nm_assert(method_name);
+    nm_assert(parameters);
+    nm_assert(reply_type);
+
+    dbus_context = nm_g_main_context_push_thread_default_if_necessary(priv->dbus_context);
+
+    log_call_counter = ++priv->log_call_counter;
+
+    NML_NMCLIENT_LOG_T(self,
+                       "call[%" G_GSIZE_FORMAT "] D-Bus method on %s: %s, %s.%s -> %s (%s)",
+                       log_call_counter,
+                       priv->name_owner,
+                       object_path,
+                       interface_name,
+                       method_name,
+                       (const char *) reply_type ?: "???",
+                       parameters ? (log_str = g_variant_print(parameters, TRUE)) : "NULL");
+
+    g_dbus_connection_call(priv->dbus_connection,
+                           priv->name_owner,
+                           object_path,
+                           interface_name,
+                           method_name,
+                           parameters,
+                           reply_type,
+                           flags,
+                           timeout_msec,
+                           cancellable,
+                           _nm_client_dbus_call_simple_cb,
+                           nm_utils_user_data_pack(callback,
+                                                   user_data,
+                                                   g_object_ref(priv->context_busy_watcher),
+                                                   GSIZE_TO_POINTER(NM_HASH_OBFUSCATE_PTR(self)),
+                                                   GSIZE_TO_POINTER(log_call_counter)));
 }
 
 void
-_nm_client_dbus_call (NMClient *self,
-                      gpointer source_obj,
-                      gpointer source_tag,
-                      GCancellable *cancellable,
-                      GAsyncReadyCallback user_callback,
-                      gpointer user_callback_data,
-                      const char *object_path,
-                      const char *interface_name,
-                      const char *method_name,
-                      GVariant *parameters,
-                      const GVariantType *reply_type,
-                      GDBusCallFlags flags,
-                      int timeout_msec,
-                      GAsyncReadyCallback internal_callback)
-{
-	NMClientPrivate *priv;
-	gs_unref_object GTask *task = NULL;
-
-	nm_assert (!source_obj || G_IS_OBJECT (source_obj));
-	nm_assert (source_tag);
-	nm_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
-	nm_assert (internal_callback);
-	nm_assert (object_path);
-	nm_assert (interface_name);
-	nm_assert (method_name);
-	nm_assert (parameters);
-	nm_assert (reply_type);
-
-	task = nm_g_task_new (source_obj, cancellable, source_tag, user_callback, user_callback_data);
-
-	if (!self) {
-		nm_g_variant_unref_floating (parameters);
-		g_task_return_error (task, _nm_client_new_error_nm_not_cached ());
-		return;
-	}
-
-	priv = NM_CLIENT_GET_PRIVATE (self);
-	if (!priv->name_owner) {
-		nm_g_variant_unref_floating (parameters);
-		g_task_return_error (task, _nm_client_new_error_nm_not_running ());
-		return;
-	}
-
-	_nm_client_dbus_call_simple (self,
-	                             cancellable,
-	                             object_path,
-	                             interface_name,
-	                             method_name,
-	                             parameters,
-	                             reply_type,
-	                             flags,
-	                             timeout_msec,
-	                             internal_callback,
-	                             g_steal_pointer (&task));
+_nm_client_dbus_call(NMClient *          self,
+                     gpointer            source_obj,
+                     gpointer            source_tag,
+                     GCancellable *      cancellable,
+                     GAsyncReadyCallback user_callback,
+                     gpointer            user_callback_data,
+                     const char *        object_path,
+                     const char *        interface_name,
+                     const char *        method_name,
+                     GVariant *          parameters,
+                     const GVariantType *reply_type,
+                     GDBusCallFlags      flags,
+                     int                 timeout_msec,
+                     GAsyncReadyCallback internal_callback)
+{
+    NMClientPrivate *priv;
+    gs_unref_object GTask *task = NULL;
+
+    nm_assert(!source_obj || G_IS_OBJECT(source_obj));
+    nm_assert(source_tag);
+    nm_assert(!cancellable || G_IS_CANCELLABLE(cancellable));
+    nm_assert(internal_callback);
+    nm_assert(object_path);
+    nm_assert(interface_name);
+    nm_assert(method_name);
+    nm_assert(parameters);
+    nm_assert(reply_type);
+
+    task = nm_g_task_new(source_obj, cancellable, source_tag, user_callback, user_callback_data);
+
+    if (!self) {
+        nm_g_variant_unref_floating(parameters);
+        g_task_return_error(task, _nm_client_new_error_nm_not_cached());
+        return;
+    }
+
+    priv = NM_CLIENT_GET_PRIVATE(self);
+    if (!priv->name_owner) {
+        nm_g_variant_unref_floating(parameters);
+        g_task_return_error(task, _nm_client_new_error_nm_not_running());
+        return;
+    }
+
+    _nm_client_dbus_call_simple(self,
+                                cancellable,
+                                object_path,
+                                interface_name,
+                                method_name,
+                                parameters,
+                                reply_type,
+                                flags,
+                                timeout_msec,
+                                internal_callback,
+                                g_steal_pointer(&task));
 }
 
 GVariant *
-_nm_client_dbus_call_sync (NMClient *self,
-                           GCancellable *cancellable,
-                           const char *object_path,
-                           const char *interface_name,
-                           const char *method_name,
-                           GVariant *parameters,
-                           const GVariantType *reply_type,
-                           GDBusCallFlags flags,
-                           int timeout_msec,
-                           gboolean strip_dbus_error,
-                           GError **error)
-{
-	NMClientPrivate *priv;
-	gs_unref_variant GVariant *ret = NULL;
-
-	nm_assert (!cancellable || G_IS_CANCELLABLE (cancellable));
-	nm_assert (!error || !*error);
-	nm_assert (object_path);
-	nm_assert (interface_name);
-	nm_assert (method_name);
-	nm_assert (parameters);
-	nm_assert (reply_type);
-
-	if (!self) {
-		nm_g_variant_unref_floating (parameters);
-		nm_g_set_error_take_lazy (error, _nm_client_new_error_nm_not_cached ());
-		return NULL;
-	}
-
-	priv = NM_CLIENT_GET_PRIVATE (self);
-	if (!priv->name_owner) {
-		nm_g_variant_unref_floating (parameters);
-		nm_g_set_error_take_lazy (error, _nm_client_new_error_nm_not_running ());
-		return NULL;
-	}
-
-	ret = g_dbus_connection_call_sync (priv->dbus_connection,
-	                                   priv->name_owner,
-	                                   object_path,
-	                                   interface_name,
-	                                   method_name,
-	                                   parameters,
-	                                   reply_type,
-	                                   flags,
-	                                   timeout_msec,
-	                                   cancellable,
-	                                   error);
-	if (!ret) {
-		if (error && strip_dbus_error)
-			g_dbus_error_strip_remote_error (*error);
-		return NULL;
-	}
-
-	return g_steal_pointer (&ret);
+_nm_client_dbus_call_sync(NMClient *          self,
+                          GCancellable *      cancellable,
+                          const char *        object_path,
+                          const char *        interface_name,
+                          const char *        method_name,
+                          GVariant *          parameters,
+                          const GVariantType *reply_type,
+                          GDBusCallFlags      flags,
+                          int                 timeout_msec,
+                          gboolean            strip_dbus_error,
+                          GError **           error)
+{
+    NMClientPrivate *priv;
+    gs_unref_variant GVariant *ret = NULL;
+
+    nm_assert(!cancellable || G_IS_CANCELLABLE(cancellable));
+    nm_assert(!error || !*error);
+    nm_assert(object_path);
+    nm_assert(interface_name);
+    nm_assert(method_name);
+    nm_assert(parameters);
+    nm_assert(reply_type);
+
+    if (!self) {
+        nm_g_variant_unref_floating(parameters);
+        nm_g_set_error_take_lazy(error, _nm_client_new_error_nm_not_cached());
+        return NULL;
+    }
+
+    priv = NM_CLIENT_GET_PRIVATE(self);
+    if (!priv->name_owner) {
+        nm_g_variant_unref_floating(parameters);
+        nm_g_set_error_take_lazy(error, _nm_client_new_error_nm_not_running());
+        return NULL;
+    }
+
+    ret = g_dbus_connection_call_sync(priv->dbus_connection,
+                                      priv->name_owner,
+                                      object_path,
+                                      interface_name,
+                                      method_name,
+                                      parameters,
+                                      reply_type,
+                                      flags,
+                                      timeout_msec,
+                                      cancellable,
+                                      error);
+    if (!ret) {
+        if (error && strip_dbus_error)
+            g_dbus_error_strip_remote_error(*error);
+        return NULL;
+    }
+
+    return g_steal_pointer(&ret);
 }
 
 gboolean
-_nm_client_dbus_call_sync_void (NMClient *self,
-                                GCancellable *cancellable,
-                                const char *object_path,
-                                const char *interface_name,
-                                const char *method_name,
-                                GVariant *parameters,
-                                GDBusCallFlags flags,
-                                int timeout_msec,
-                                gboolean strip_dbus_error,
-                                GError **error)
-{
-	gs_unref_variant GVariant *ret = NULL;
-
-	ret = _nm_client_dbus_call_sync (self,
-	                                 cancellable,
-	                                 object_path,
-	                                 interface_name,
-	                                 method_name,
-	                                 parameters,
-	                                 G_VARIANT_TYPE ("()"),
-	                                 flags,
-	                                 timeout_msec,
-	                                 strip_dbus_error,
-	                                 error);
-	return !!ret;
+_nm_client_dbus_call_sync_void(NMClient *     self,
+                               GCancellable * cancellable,
+                               const char *   object_path,
+                               const char *   interface_name,
+                               const char *   method_name,
+                               GVariant *     parameters,
+                               GDBusCallFlags flags,
+                               int            timeout_msec,
+                               gboolean       strip_dbus_error,
+                               GError **      error)
+{
+    gs_unref_variant GVariant *ret = NULL;
+
+    ret = _nm_client_dbus_call_sync(self,
+                                    cancellable,
+                                    object_path,
+                                    interface_name,
+                                    method_name,
+                                    parameters,
+                                    G_VARIANT_TYPE("()"),
+                                    flags,
+                                    timeout_msec,
+                                    strip_dbus_error,
+                                    error);
+    return !!ret;
 }
 
 void
-_nm_client_set_property_sync_legacy (NMClient *self,
-                                     const char *object_path,
-                                     const char *interface_name,
-                                     const char *property_name,
-                                     const char *format_string,
-                                     ...)
-{
-	NMClientPrivate *priv;
-	GVariant *val;
-	gs_unref_variant GVariant *ret = NULL;
-	va_list ap;
-
-	nm_assert (!self || NM_IS_CLIENT (self));
-	nm_assert (interface_name);
-	nm_assert (property_name);
-	nm_assert (format_string);
-
-	if (!self)
-		return;
-
-	priv = NM_CLIENT_GET_PRIVATE (self);
-	if (!priv->name_owner)
-		return;
-
-	va_start (ap, format_string);
-	val = g_variant_new_va (format_string, NULL, &ap);
-	va_end (ap);
-
-	nm_assert (val);
-
-	/* A synchronous D-Bus call that is not cancellable an ignores the return value.
-	 * This function only exists for backward compatibility. */
-	ret = g_dbus_connection_call_sync (priv->dbus_connection,
-	                                   priv->name_owner,
-	                                   object_path,
-	                                   DBUS_INTERFACE_PROPERTIES,
-	                                   "Set",
-	                                   g_variant_new ("(ssv)",
-	                                                  interface_name,
-	                                                  property_name,
-	                                                  val),
-	                                   NULL,
-	                                   G_DBUS_CALL_FLAGS_NONE,
-	                                   2000,
-	                                   NULL,
-	                                   NULL);
+_nm_client_set_property_sync_legacy(NMClient *  self,
+                                    const char *object_path,
+                                    const char *interface_name,
+                                    const char *property_name,
+                                    const char *format_string,
+                                    ...)
+{
+    NMClientPrivate *priv;
+    GVariant *       val;
+    gs_unref_variant GVariant *ret = NULL;
+    va_list                    ap;
+
+    nm_assert(!self || NM_IS_CLIENT(self));
+    nm_assert(interface_name);
+    nm_assert(property_name);
+    nm_assert(format_string);
+
+    if (!self)
+        return;
+
+    priv = NM_CLIENT_GET_PRIVATE(self);
+    if (!priv->name_owner)
+        return;
+
+    va_start(ap, format_string);
+    val = g_variant_new_va(format_string, NULL, &ap);
+    va_end(ap);
+
+    nm_assert(val);
+
+    /* A synchronous D-Bus call that is not cancellable an ignores the return value.
+     * This function only exists for backward compatibility. */
+    ret = g_dbus_connection_call_sync(priv->dbus_connection,
+                                      priv->name_owner,
+                                      object_path,
+                                      DBUS_INTERFACE_PROPERTIES,
+                                      "Set",
+                                      g_variant_new("(ssv)", interface_name, property_name, val),
+                                      NULL,
+                                      G_DBUS_CALL_FLAGS_NONE,
+                                      2000,
+                                      NULL,
+                                      NULL);
 }
 
 /*****************************************************************************/
 
-#define _assert_main_context_is_current_source(self, x_context) \
-	G_STMT_START { \
-		if (NM_MORE_ASSERTS > 0) { \
-			GSource *_source = g_main_current_source (); \
-			\
-			if (_source) { \
-				NMClientPrivate *_priv = NM_CLIENT_GET_PRIVATE (self); \
-				\
-				nm_assert (g_source_get_context (_source) == _priv->x_context); \
-				nm_assert (g_main_context_is_owner (_priv->x_context)); \
-			} \
-		} \
-	} G_STMT_END
-
-#define _assert_main_context_is_current_thread_default(self, x_context) \
-	G_STMT_START { \
-		if (NM_MORE_ASSERTS > 0) { \
-			NMClientPrivate *_priv = NM_CLIENT_GET_PRIVATE (self); \
-			\
-			nm_assert ((g_main_context_get_thread_default () ?: g_main_context_default ()) == _priv->x_context); \
-			nm_assert (g_main_context_is_owner (_priv->x_context)); \
-		} \
-	} G_STMT_END
+#define _assert_main_context_is_current_source(self, x_context)               \
+    G_STMT_START                                                              \
+    {                                                                         \
+        if (NM_MORE_ASSERTS > 0) {                                            \
+            GSource *_source = g_main_current_source();                       \
+                                                                              \
+            if (_source) {                                                    \
+                NMClientPrivate *_priv = NM_CLIENT_GET_PRIVATE(self);         \
+                                                                              \
+                nm_assert(g_source_get_context(_source) == _priv->x_context); \
+                nm_assert(g_main_context_is_owner(_priv->x_context));         \
+            }                                                                 \
+        }                                                                     \
+    }                                                                         \
+    G_STMT_END
+
+#define _assert_main_context_is_current_thread_default(self, x_context)                 \
+    G_STMT_START                                                                        \
+    {                                                                                   \
+        if (NM_MORE_ASSERTS > 0) {                                                      \
+            NMClientPrivate *_priv = NM_CLIENT_GET_PRIVATE(self);                       \
+                                                                                        \
+            nm_assert((g_main_context_get_thread_default() ?: g_main_context_default()) \
+                      == _priv->x_context);                                             \
+            nm_assert(g_main_context_is_owner(_priv->x_context));                       \
+        }                                                                               \
+    }                                                                                   \
+    G_STMT_END
 
 /*****************************************************************************/
 
 void
-_nm_client_queue_notify_object (NMClient *self,
-                                gpointer nmobj,
-                                const GParamSpec *pspec)
+_nm_client_queue_notify_object(NMClient *self, gpointer nmobj, const GParamSpec *pspec)
 {
-	NMObjectBase *base;
+    NMObjectBase *base;
 
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (NM_IS_OBJECT (nmobj) || NM_IS_CLIENT (nmobj));
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(NM_IS_OBJECT(nmobj) || NM_IS_CLIENT(nmobj));
 
-	base = (NMObjectBase *) nmobj;
+    base = (NMObjectBase *) nmobj;
 
-	if (base->is_disposing) {
-		/* Don't emit property changed signals once the NMClient
-		 * instance is about to shut down. */
-		nm_assert (nmobj == self);
-		return;
-	}
+    if (base->is_disposing) {
+        /* Don't emit property changed signals once the NMClient
+         * instance is about to shut down. */
+        nm_assert(nmobj == self);
+        return;
+    }
 
-	if (c_list_is_empty (&base->queue_notify_lst)) {
-		c_list_link_tail (&NM_CLIENT_GET_PRIVATE (self)->queue_notify_lst_head,
-		                  &base->queue_notify_lst);
-		g_object_ref (nmobj);
-		g_object_freeze_notify (nmobj);
-	}
+    if (c_list_is_empty(&base->queue_notify_lst)) {
+        c_list_link_tail(&NM_CLIENT_GET_PRIVATE(self)->queue_notify_lst_head,
+                         &base->queue_notify_lst);
+        g_object_ref(nmobj);
+        g_object_freeze_notify(nmobj);
+    }
 
-	if (pspec)
-		g_object_notify_by_pspec (nmobj, (GParamSpec *) pspec);
+    if (pspec)
+        g_object_notify_by_pspec(nmobj, (GParamSpec *) pspec);
 }
 
 /*****************************************************************************/
 
 gpointer
-_nm_client_notify_event_queue (NMClient *self,
-                               int priority,
-                               NMClientNotifyEventCb callback,
-                               gsize event_size)
+_nm_client_notify_event_queue(NMClient *            self,
+                              int                   priority,
+                              NMClientNotifyEventCb callback,
+                              gsize                 event_size)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	NMClientNotifyEvent *notify_event;
+    NMClientPrivate *    priv = NM_CLIENT_GET_PRIVATE(self);
+    NMClientNotifyEvent *notify_event;
 
-	nm_assert (callback);
-	nm_assert (event_size > sizeof (NMClientNotifyEvent));
+    nm_assert(callback);
+    nm_assert(event_size > sizeof(NMClientNotifyEvent));
 
-	notify_event = g_malloc (event_size);
-	notify_event->priority = priority;
-	notify_event->callback = callback;
-	c_list_link_tail (&priv->notify_event_lst_head, &notify_event->lst);
-	priv->notify_event_lst_changed = TRUE;
-	return notify_event;
+    notify_event           = g_malloc(event_size);
+    notify_event->priority = priority;
+    notify_event->callback = callback;
+    c_list_link_tail(&priv->notify_event_lst_head, &notify_event->lst);
+    priv->notify_event_lst_changed = TRUE;
+    return notify_event;
 }
 
 NMClientNotifyEventWithPtr *
-_nm_client_notify_event_queue_with_ptr (NMClient *self,
-                                        int priority,
-                                        NMClientNotifyEventWithPtrCb callback,
-                                        gpointer user_data)
+_nm_client_notify_event_queue_with_ptr(NMClient *                   self,
+                                       int                          priority,
+                                       NMClientNotifyEventWithPtrCb callback,
+                                       gpointer                     user_data)
 {
-	NMClientNotifyEventWithPtr *notify_event;
+    NMClientNotifyEventWithPtr *notify_event;
 
-	notify_event = _nm_client_notify_event_queue (self,
-	                                              priority,
-	                                              (NMClientNotifyEventCb) callback,
-	                                              sizeof (NMClientNotifyEventWithPtr));
-	notify_event->user_data = user_data;
-	return notify_event;
+    notify_event            = _nm_client_notify_event_queue(self,
+                                                 priority,
+                                                 (NMClientNotifyEventCb) callback,
+                                                 sizeof(NMClientNotifyEventWithPtr));
+    notify_event->user_data = user_data;
+    return notify_event;
 }
 
 /*****************************************************************************/
 
 typedef struct {
-	NMClientNotifyEvent parent;
-	GObject *source;
-	NMObject *obj;
-	guint signal_id;
+    NMClientNotifyEvent parent;
+    GObject *           source;
+    NMObject *          obj;
+    guint               signal_id;
 } NMClientNotifyEventObjAddedRemove;
 
 static void
-_nm_client_notify_event_queue_emit_obj_signal_cb (NMClient *self,
-                                                  gpointer notify_event_base)
+_nm_client_notify_event_queue_emit_obj_signal_cb(NMClient *self, gpointer notify_event_base)
 {
-	NMClientNotifyEventObjAddedRemove *notify_event = notify_event_base;
+    NMClientNotifyEventObjAddedRemove *notify_event = notify_event_base;
 
-	NML_NMCLIENT_LOG_T (self, "[%s] emit \"%s\" signal for %s",
-	                      NM_IS_CLIENT (notify_event->source)
-	                    ? "nmclient"
-	                    : _nm_object_get_path (notify_event->source),
-	                    g_signal_name (notify_event->signal_id),
-	                    _nm_object_get_path (notify_event->obj));
+    NML_NMCLIENT_LOG_T(
+        self,
+        "[%s] emit \"%s\" signal for %s",
+        NM_IS_CLIENT(notify_event->source) ? "nmclient" : _nm_object_get_path(notify_event->source),
+        g_signal_name(notify_event->signal_id),
+        _nm_object_get_path(notify_event->obj));
 
-	nm_assert (   NM_IS_OBJECT (notify_event->source)
-	           || NM_IS_CLIENT (notify_event->source));
+    nm_assert(NM_IS_OBJECT(notify_event->source) || NM_IS_CLIENT(notify_event->source));
 
-	g_signal_emit (notify_event->source,
-	               notify_event->signal_id,
-	               0,
-	               notify_event->obj);
+    g_signal_emit(notify_event->source, notify_event->signal_id, 0, notify_event->obj);
 
-	g_object_unref (notify_event->obj);
-	g_object_unref (notify_event->source);
+    g_object_unref(notify_event->obj);
+    g_object_unref(notify_event->source);
 }
 
 void
-_nm_client_notify_event_queue_emit_obj_signal (NMClient *self,
-                                               GObject *source,
-                                               NMObject *nmobj,
-                                               gboolean is_added /* or else removed */,
-                                               int prio_offset,
-                                               guint signal_id)
-{
-	NMClientNotifyEventObjAddedRemove *notify_event;
-
-	nm_assert (prio_offset >= 0);
-	nm_assert (prio_offset < 20);
-	nm_assert (   NM_IS_OBJECT (source)
-	           || NM_IS_CLIENT (source));
-	nm_assert (NM_IS_OBJECT (nmobj));
-
-	if (((NMObjectBase *) source)->is_disposing) {
-		nm_assert (NM_IS_CLIENT (source));
-		return;
-	}
-
-	notify_event = _nm_client_notify_event_queue (self,
-	                                                is_added
-	                                              ? NM_CLIENT_NOTIFY_EVENT_PRIO_AFTER - 20 + prio_offset
-	                                              : NM_CLIENT_NOTIFY_EVENT_PRIO_BEFORE + 20 - prio_offset,
-	                                              _nm_client_notify_event_queue_emit_obj_signal_cb,
-	                                              sizeof (NMClientNotifyEventObjAddedRemove));
-	notify_event->source    = g_object_ref (source);
-	notify_event->obj       = g_object_ref (nmobj);
-	notify_event->signal_id = signal_id;
+_nm_client_notify_event_queue_emit_obj_signal(NMClient *self,
+                                              GObject * source,
+                                              NMObject *nmobj,
+                                              gboolean  is_added /* or else removed */,
+                                              int       prio_offset,
+                                              guint     signal_id)
+{
+    NMClientNotifyEventObjAddedRemove *notify_event;
+
+    nm_assert(prio_offset >= 0);
+    nm_assert(prio_offset < 20);
+    nm_assert(NM_IS_OBJECT(source) || NM_IS_CLIENT(source));
+    nm_assert(NM_IS_OBJECT(nmobj));
+
+    if (((NMObjectBase *) source)->is_disposing) {
+        nm_assert(NM_IS_CLIENT(source));
+        return;
+    }
+
+    notify_event = _nm_client_notify_event_queue(
+        self,
+        is_added ? NM_CLIENT_NOTIFY_EVENT_PRIO_AFTER - 20 + prio_offset
+                 : NM_CLIENT_NOTIFY_EVENT_PRIO_BEFORE + 20 - prio_offset,
+        _nm_client_notify_event_queue_emit_obj_signal_cb,
+        sizeof(NMClientNotifyEventObjAddedRemove));
+    notify_event->source    = g_object_ref(source);
+    notify_event->obj       = g_object_ref(nmobj);
+    notify_event->signal_id = signal_id;
 }
 
 /*****************************************************************************/
 
 static int
-_nm_client_notify_event_cmp (const CList *a,
-                             const CList *b,
-                             const void *user_data)
+_nm_client_notify_event_cmp(const CList *a, const CList *b, const void *user_data)
 {
-	NM_CMP_DIRECT (c_list_entry (a, NMClientNotifyEvent, lst)->priority,
-	               c_list_entry (b, NMClientNotifyEvent, lst)->priority);
-	return 0;
+    NM_CMP_DIRECT(c_list_entry(a, NMClientNotifyEvent, lst)->priority,
+                  c_list_entry(b, NMClientNotifyEvent, lst)->priority);
+    return 0;
 }
 
 static void
-_nm_client_notify_event_emit_parts (NMClient *self,
-                                    int max_priority /* included! */)
-{
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	NMClientNotifyEvent *notify_event;
-
-	while (TRUE) {
-		if (priv->notify_event_lst_changed) {
-			priv->notify_event_lst_changed = FALSE;
-			c_list_sort (&priv->notify_event_lst_head, _nm_client_notify_event_cmp, NULL);
-		}
-		notify_event = c_list_first_entry (&priv->notify_event_lst_head, NMClientNotifyEvent, lst);
-		if (!notify_event)
-			return;
-		if (notify_event->priority > max_priority)
-			return;
-		c_list_unlink_stale (&notify_event->lst);
-		notify_event->callback (self, notify_event);
-		g_free (notify_event);
-	}
+_nm_client_notify_event_emit_parts(NMClient *self, int max_priority /* included! */)
+{
+    NMClientPrivate *    priv = NM_CLIENT_GET_PRIVATE(self);
+    NMClientNotifyEvent *notify_event;
+
+    while (TRUE) {
+        if (priv->notify_event_lst_changed) {
+            priv->notify_event_lst_changed = FALSE;
+            c_list_sort(&priv->notify_event_lst_head, _nm_client_notify_event_cmp, NULL);
+        }
+        notify_event = c_list_first_entry(&priv->notify_event_lst_head, NMClientNotifyEvent, lst);
+        if (!notify_event)
+            return;
+        if (notify_event->priority > max_priority)
+            return;
+        c_list_unlink_stale(&notify_event->lst);
+        notify_event->callback(self, notify_event);
+        g_free(notify_event);
+    }
 }
 
 static void
-_nm_client_notify_event_emit (NMClient *self)
+_nm_client_notify_event_emit(NMClient *self)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	NMObjectBase *base;
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+    NMObjectBase *   base;
 
-	_nm_client_notify_event_emit_parts (self, NM_CLIENT_NOTIFY_EVENT_PRIO_GPROP);
+    _nm_client_notify_event_emit_parts(self, NM_CLIENT_NOTIFY_EVENT_PRIO_GPROP);
 
-	while ((base = c_list_first_entry (&priv->queue_notify_lst_head, NMObjectBase, queue_notify_lst))) {
-		c_list_unlink (&base->queue_notify_lst);
-		g_object_thaw_notify (G_OBJECT (base));
-		g_object_unref (base);
-	}
+    while (
+        (base = c_list_first_entry(&priv->queue_notify_lst_head, NMObjectBase, queue_notify_lst))) {
+        c_list_unlink(&base->queue_notify_lst);
+        g_object_thaw_notify(G_OBJECT(base));
+        g_object_unref(base);
+    }
 
-	_nm_client_notify_event_emit_parts (self, G_MAXINT);
+    _nm_client_notify_event_emit_parts(self, G_MAXINT);
 }
 
 /*****************************************************************************/
 
 GDBusConnection *
-_nm_client_get_dbus_connection (NMClient *self)
+_nm_client_get_dbus_connection(NMClient *self)
 {
-	return NM_CLIENT_GET_PRIVATE (self)->dbus_connection;
+    return NM_CLIENT_GET_PRIVATE(self)->dbus_connection;
 }
 
 const char *
-_nm_client_get_dbus_name_owner (NMClient *self)
+_nm_client_get_dbus_name_owner(NMClient *self)
 {
-	return NM_CLIENT_GET_PRIVATE (self)->name_owner;
+    return NM_CLIENT_GET_PRIVATE(self)->name_owner;
 }
 
 GMainContext *
-_nm_client_get_context_main (NMClient *self)
+_nm_client_get_context_main(NMClient *self)
 {
-	return NM_CLIENT_GET_PRIVATE (self)->main_context;
+    return NM_CLIENT_GET_PRIVATE(self)->main_context;
 }
 
 GMainContext *
-_nm_client_get_context_dbus (NMClient *self)
+_nm_client_get_context_dbus(NMClient *self)
 {
-	return NM_CLIENT_GET_PRIVATE (self)->dbus_context;
+    return NM_CLIENT_GET_PRIVATE(self)->dbus_context;
 }
 
 /**
@@ -986,11 +1006,11 @@ _nm_client_get_context_dbus (NMClient *self)
  * Since: 1.22
  */
 GMainContext *
-nm_client_get_main_context (NMClient *self)
+nm_client_get_main_context(NMClient *self)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (self), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(self), NULL);
 
-	return _nm_client_get_context_main (self);
+    return _nm_client_get_context_main(self);
 }
 
 /**
@@ -1021,2826 +1041,2894 @@ nm_client_get_main_context (NMClient *self)
  * Since: 1.22
  */
 GObject *
-nm_client_get_context_busy_watcher (NMClient *self)
+nm_client_get_context_busy_watcher(NMClient *self)
 {
-	GObject *w;
+    GObject *w;
 
-	g_return_val_if_fail (NM_IS_CLIENT (self), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(self), NULL);
 
-	w = NM_CLIENT_GET_PRIVATE (self)->context_busy_watcher;
-	return    g_object_get_qdata (w, nm_context_busy_watcher_quark ())
-	       ?: w;
+    w = NM_CLIENT_GET_PRIVATE(self)->context_busy_watcher;
+    return g_object_get_qdata(w, nm_context_busy_watcher_quark()) ?: w;
 }
 
 struct udev *
-_nm_client_get_udev (NMClient *self)
+_nm_client_get_udev(NMClient *self)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	if (G_UNLIKELY (!priv->udev_inited)) {
-		priv->udev_inited = TRUE;
-		/* for testing, we don't want to use udev in libnm. */
-		if (!nm_streq0 (g_getenv ("LIBNM_USE_NO_UDEV"), "1"))
-			priv->udev = udev_new ();
-	}
+    if (G_UNLIKELY(!priv->udev_inited)) {
+        priv->udev_inited = TRUE;
+        /* for testing, we don't want to use udev in libnm. */
+        if (!nm_streq0(g_getenv("LIBNM_USE_NO_UDEV"), "1"))
+            priv->udev = udev_new();
+    }
 
-	return priv->udev;
+    return priv->udev;
 }
 
 /*****************************************************************************/
 
 static void
-_ASSERT_dbobj (NMLDBusObject *dbobj,
-               NMClient *self)
+_ASSERT_dbobj(NMLDBusObject *dbobj, NMClient *self)
 {
 #if NM_MORE_ASSERTS > 5
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (NML_IS_DBUS_OBJECT (dbobj));
-	nm_assert (dbobj == g_hash_table_lookup (NM_CLIENT_GET_PRIVATE (self)->dbus_objects, dbobj));
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(NML_IS_DBUS_OBJECT(dbobj));
+    nm_assert(dbobj == g_hash_table_lookup(NM_CLIENT_GET_PRIVATE(self)->dbus_objects, dbobj));
 #endif
 }
 
 static NMLDBusObject *
-nml_dbus_object_new (NMRefString *dbus_path_take)
+nml_dbus_object_new(NMRefString *dbus_path_take)
 {
-	NMLDBusObject *dbobj;
+    NMLDBusObject *dbobj;
 
-	nm_assert (NM_IS_REF_STRING (dbus_path_take));
+    nm_assert(NM_IS_REF_STRING(dbus_path_take));
 
-	dbobj = g_slice_new (NMLDBusObject);
-	*dbobj = (NMLDBusObject) {
-		.dbus_path        = g_steal_pointer (&dbus_path_take),
-		.ref_count        = 1,
-		.dbus_objects_lst = C_LIST_INIT (dbobj->dbus_objects_lst),
-		.iface_lst_head   = C_LIST_INIT (dbobj->iface_lst_head),
-		.watcher_lst_head = C_LIST_INIT (dbobj->watcher_lst_head),
-		.obj_changed_lst  = C_LIST_INIT (dbobj->obj_changed_lst),
-		.obj_state        = NML_DBUS_OBJ_STATE_UNLINKED,
-	};
-	return dbobj;
+    dbobj  = g_slice_new(NMLDBusObject);
+    *dbobj = (NMLDBusObject){
+        .dbus_path        = g_steal_pointer(&dbus_path_take),
+        .ref_count        = 1,
+        .dbus_objects_lst = C_LIST_INIT(dbobj->dbus_objects_lst),
+        .iface_lst_head   = C_LIST_INIT(dbobj->iface_lst_head),
+        .watcher_lst_head = C_LIST_INIT(dbobj->watcher_lst_head),
+        .obj_changed_lst  = C_LIST_INIT(dbobj->obj_changed_lst),
+        .obj_state        = NML_DBUS_OBJ_STATE_UNLINKED,
+    };
+    return dbobj;
 }
 
 NMLDBusObject *
-nml_dbus_object_ref (NMLDBusObject *dbobj)
+nml_dbus_object_ref(NMLDBusObject *dbobj)
 {
-	nm_assert (dbobj);
-	nm_assert (dbobj->ref_count > 0);
+    nm_assert(dbobj);
+    nm_assert(dbobj->ref_count > 0);
 
-	dbobj->ref_count++;
-	return dbobj;
+    dbobj->ref_count++;
+    return dbobj;
 }
 
 void
-nml_dbus_object_unref (NMLDBusObject *dbobj)
+nml_dbus_object_unref(NMLDBusObject *dbobj)
 {
-	nm_assert (dbobj);
-	nm_assert (dbobj->ref_count > 0);
+    nm_assert(dbobj);
+    nm_assert(dbobj->ref_count > 0);
 
-	if (--dbobj->ref_count > 0)
-		return;
+    if (--dbobj->ref_count > 0)
+        return;
 
-	nm_assert (c_list_is_empty (&dbobj->obj_changed_lst));
-	nm_assert (c_list_is_empty (&dbobj->iface_lst_head));
-	nm_assert (c_list_is_empty (&dbobj->watcher_lst_head));
-	nm_assert (!dbobj->nmobj);
+    nm_assert(c_list_is_empty(&dbobj->obj_changed_lst));
+    nm_assert(c_list_is_empty(&dbobj->iface_lst_head));
+    nm_assert(c_list_is_empty(&dbobj->watcher_lst_head));
+    nm_assert(!dbobj->nmobj);
 
-	nm_ref_string_unref (dbobj->dbus_path);
-	nm_g_slice_free (dbobj);
+    nm_ref_string_unref(dbobj->dbus_path);
+    nm_g_slice_free(dbobj);
 }
 
 static NMLDBusObjIfaceData *
-nml_dbus_object_iface_data_get (NMLDBusObject *dbobj,
-                                const char *dbus_iface_name,
-                                gboolean allow_create)
+nml_dbus_object_iface_data_get(NMLDBusObject *dbobj,
+                               const char *   dbus_iface_name,
+                               gboolean       allow_create)
 {
-	const NMLDBusMetaIface *meta_iface;
-	NMLDBusObjIfaceData *db_iface_data;
-	NMLDBusObjPropData *db_prop_data;
-	guint count = 0;
-	guint i;
+    const NMLDBusMetaIface *meta_iface;
+    NMLDBusObjIfaceData *   db_iface_data;
+    NMLDBusObjPropData *    db_prop_data;
+    guint                   count = 0;
+    guint                   i;
 
-	nm_assert (NML_IS_DBUS_OBJECT (dbobj));
-	nm_assert (dbus_iface_name);
+    nm_assert(NML_IS_DBUS_OBJECT(dbobj));
+    nm_assert(dbus_iface_name);
 
 #if NM_MORE_ASSERTS > 10
-	{
-		gboolean expect_well_known = TRUE;
-
-		/* all well-known interfaces must come first in the list. */
-		c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
-			if (db_iface_data->dbus_iface_is_wellknown == expect_well_known)
-				continue;
-			nm_assert (expect_well_known);
-			expect_well_known = FALSE;
-		}
-	}
+    {
+        gboolean expect_well_known = TRUE;
+
+        /* all well-known interfaces must come first in the list. */
+        c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
+            if (db_iface_data->dbus_iface_is_wellknown == expect_well_known)
+                continue;
+            nm_assert(expect_well_known);
+            expect_well_known = FALSE;
+        }
+    }
 #endif
 
-	meta_iface = nml_dbus_meta_iface_get (dbus_iface_name);
-	if (meta_iface) {
-		c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
-			if (!db_iface_data->dbus_iface_is_wellknown)
-				break;
-			if (db_iface_data->iface_removed)
-				continue;
-			if (db_iface_data->dbus_iface.meta == meta_iface)
-				return db_iface_data;
-			count++;
-		}
-	} else {
-		nm_c_list_for_each_entry_prev (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
-			if (db_iface_data->dbus_iface_is_wellknown)
-				break;
-			if (db_iface_data->iface_removed)
-				continue;
-			if (nm_streq (db_iface_data->dbus_iface.name->str, dbus_iface_name))
-				return db_iface_data;
-			count++;
-		}
-	}
-
-	if (!allow_create)
-		return NULL;
-
-	if (count > 20) {
-		/* We track the list of interfaces that an object has in a linked list.
-		 * That is efficient and convenient, if we assume that each object only has a small
-		 * number of interfaces (which very much should be the case). Here, something is very
-		 * odd, maybe there is a bug or the server side is misbehaving. Anyway, error out. */
-		return NULL;
-	}
-
-	db_iface_data = g_malloc (  G_STRUCT_OFFSET (NMLDBusObjIfaceData, prop_datas)
-	                          + (meta_iface ? (sizeof (NMLDBusObjPropData) * meta_iface->n_dbus_properties): 0u));
-	if (meta_iface) {
-		*db_iface_data = (NMLDBusObjIfaceData) {
-			.dbus_iface.meta         = meta_iface,
-			.dbus_iface_is_wellknown = TRUE,
-			.changed_prop_lst_head   = C_LIST_INIT (db_iface_data->changed_prop_lst_head),
-			.iface_removed           = FALSE,
-		};
-		db_prop_data = &db_iface_data->prop_datas[0];
-		for (i = 0; i < meta_iface->n_dbus_properties; i++, db_prop_data++) {
-			*db_prop_data = (NMLDBusObjPropData) {
-				.prop_data_value  = NULL,
-				.changed_prop_lst = C_LIST_INIT (db_prop_data->changed_prop_lst),
-			};
-		}
-		c_list_link_front (&dbobj->iface_lst_head, &db_iface_data->iface_lst);
-	} else {
-		/* Intentionally don't initialize the other fields. We are not supposed
-		 * to touch them, and a valgrind warning would be preferable. */
-		db_iface_data->dbus_iface.name         = nm_ref_string_new (dbus_iface_name);
-		db_iface_data->dbus_iface_is_wellknown = FALSE;
-		db_iface_data->iface_removed           = FALSE;
-		c_list_link_tail (&dbobj->iface_lst_head, &db_iface_data->iface_lst);
-	}
-
-	return db_iface_data;
+    meta_iface = nml_dbus_meta_iface_get(dbus_iface_name);
+    if (meta_iface) {
+        c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
+            if (!db_iface_data->dbus_iface_is_wellknown)
+                break;
+            if (db_iface_data->iface_removed)
+                continue;
+            if (db_iface_data->dbus_iface.meta == meta_iface)
+                return db_iface_data;
+            count++;
+        }
+    } else {
+        nm_c_list_for_each_entry_prev (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
+            if (db_iface_data->dbus_iface_is_wellknown)
+                break;
+            if (db_iface_data->iface_removed)
+                continue;
+            if (nm_streq(db_iface_data->dbus_iface.name->str, dbus_iface_name))
+                return db_iface_data;
+            count++;
+        }
+    }
+
+    if (!allow_create)
+        return NULL;
+
+    if (count > 20) {
+        /* We track the list of interfaces that an object has in a linked list.
+         * That is efficient and convenient, if we assume that each object only has a small
+         * number of interfaces (which very much should be the case). Here, something is very
+         * odd, maybe there is a bug or the server side is misbehaving. Anyway, error out. */
+        return NULL;
+    }
+
+    db_iface_data = g_malloc(
+        G_STRUCT_OFFSET(NMLDBusObjIfaceData, prop_datas)
+        + (meta_iface ? (sizeof(NMLDBusObjPropData) * meta_iface->n_dbus_properties) : 0u));
+    if (meta_iface) {
+        *db_iface_data = (NMLDBusObjIfaceData){
+            .dbus_iface.meta         = meta_iface,
+            .dbus_iface_is_wellknown = TRUE,
+            .changed_prop_lst_head   = C_LIST_INIT(db_iface_data->changed_prop_lst_head),
+            .iface_removed           = FALSE,
+        };
+        db_prop_data = &db_iface_data->prop_datas[0];
+        for (i = 0; i < meta_iface->n_dbus_properties; i++, db_prop_data++) {
+            *db_prop_data = (NMLDBusObjPropData){
+                .prop_data_value  = NULL,
+                .changed_prop_lst = C_LIST_INIT(db_prop_data->changed_prop_lst),
+            };
+        }
+        c_list_link_front(&dbobj->iface_lst_head, &db_iface_data->iface_lst);
+    } else {
+        /* Intentionally don't initialize the other fields. We are not supposed
+         * to touch them, and a valgrind warning would be preferable. */
+        db_iface_data->dbus_iface.name         = nm_ref_string_new(dbus_iface_name);
+        db_iface_data->dbus_iface_is_wellknown = FALSE;
+        db_iface_data->iface_removed           = FALSE;
+        c_list_link_tail(&dbobj->iface_lst_head, &db_iface_data->iface_lst);
+    }
+
+    return db_iface_data;
 }
 
 static void
-nml_dbus_obj_iface_data_destroy (NMLDBusObjIfaceData *db_iface_data)
+nml_dbus_obj_iface_data_destroy(NMLDBusObjIfaceData *db_iface_data)
 {
-	guint i;
+    guint i;
 
-	nm_assert (db_iface_data);
-	nm_assert (c_list_is_empty (&db_iface_data->iface_lst));
+    nm_assert(db_iface_data);
+    nm_assert(c_list_is_empty(&db_iface_data->iface_lst));
 
-	if (db_iface_data->dbus_iface_is_wellknown) {
-		for (i = 0; i < db_iface_data->dbus_iface.meta->n_dbus_properties; i++)
-			nm_g_variant_unref (db_iface_data->prop_datas[i].prop_data_value);
-	} else
-		nm_ref_string_unref (db_iface_data->dbus_iface.name);
+    if (db_iface_data->dbus_iface_is_wellknown) {
+        for (i = 0; i < db_iface_data->dbus_iface.meta->n_dbus_properties; i++)
+            nm_g_variant_unref(db_iface_data->prop_datas[i].prop_data_value);
+    } else
+        nm_ref_string_unref(db_iface_data->dbus_iface.name);
 
-	g_free (db_iface_data);
+    g_free(db_iface_data);
 }
 
 gpointer
-nml_dbus_object_get_property_location (NMLDBusObject *dbobj,
-                                       const NMLDBusMetaIface *meta_iface,
-                                       const NMLDBusMetaProperty *meta_property)
+nml_dbus_object_get_property_location(NMLDBusObject *            dbobj,
+                                      const NMLDBusMetaIface *   meta_iface,
+                                      const NMLDBusMetaProperty *meta_property)
 {
-	char *target_c;
+    char *target_c;
 
-	target_c = (char *) dbobj->nmobj;
-	if (meta_iface->base_struct_offset > 0)
-		target_c = *((gpointer *) (&target_c[meta_iface->base_struct_offset]));
-	return &target_c[meta_property->prop_struct_offset];
+    target_c = (char *) dbobj->nmobj;
+    if (meta_iface->base_struct_offset > 0)
+        target_c = *((gpointer *) (&target_c[meta_iface->base_struct_offset]));
+    return &target_c[meta_property->prop_struct_offset];
 }
 
 static void
-nml_dbus_object_set_obj_state (NMLDBusObject *dbobj,
-                               NMLDBusObjState obj_state,
-                               NMClient *self)
+nml_dbus_object_set_obj_state(NMLDBusObject *dbobj, NMLDBusObjState obj_state, NMClient *self)
 {
-	NMClientPrivate *priv;
+    NMClientPrivate *priv;
 
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (NML_IS_DBUS_OBJECT  (dbobj));
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(NML_IS_DBUS_OBJECT(dbobj));
 
 #if NM_MORE_ASSERTS > 10
-	priv = NM_CLIENT_GET_PRIVATE (self);
-	switch (dbobj->obj_state) {
-	case NML_DBUS_OBJ_STATE_UNLINKED:               nm_assert (c_list_is_empty (&dbobj->dbus_objects_lst));                                                    break;
-	case NML_DBUS_OBJ_STATE_WATCHED_ONLY:           nm_assert (c_list_contains (&priv->dbus_objects_lst_head_watched_only,           &dbobj->dbus_objects_lst)); break;
-	case NML_DBUS_OBJ_STATE_ON_DBUS:                nm_assert (c_list_contains (&priv->dbus_objects_lst_head_on_dbus,                &dbobj->dbus_objects_lst)); break;
-	case NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY:   nm_assert (c_list_contains (&priv->dbus_objects_lst_head_with_nmobj_not_ready,   &dbobj->dbus_objects_lst)); break;
-	case NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY:       nm_assert (c_list_contains (&priv->dbus_objects_lst_head_with_nmobj_ready,       &dbobj->dbus_objects_lst)); break;
-	}
+    priv = NM_CLIENT_GET_PRIVATE(self);
+    switch (dbobj->obj_state) {
+    case NML_DBUS_OBJ_STATE_UNLINKED:
+        nm_assert(c_list_is_empty(&dbobj->dbus_objects_lst));
+        break;
+    case NML_DBUS_OBJ_STATE_WATCHED_ONLY:
+        nm_assert(
+            c_list_contains(&priv->dbus_objects_lst_head_watched_only, &dbobj->dbus_objects_lst));
+        break;
+    case NML_DBUS_OBJ_STATE_ON_DBUS:
+        nm_assert(c_list_contains(&priv->dbus_objects_lst_head_on_dbus, &dbobj->dbus_objects_lst));
+        break;
+    case NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY:
+        nm_assert(c_list_contains(&priv->dbus_objects_lst_head_with_nmobj_not_ready,
+                                  &dbobj->dbus_objects_lst));
+        break;
+    case NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY:
+        nm_assert(c_list_contains(&priv->dbus_objects_lst_head_with_nmobj_ready,
+                                  &dbobj->dbus_objects_lst));
+        break;
+    }
 #endif
 
-	if (dbobj->obj_state == obj_state)
-		return;
-
-	NML_NMCLIENT_LOG_T (self, "[%s]: set D-Bus object state %s", dbobj->dbus_path->str, nml_dbus_obj_state_to_string (obj_state));
-
-	priv = NM_CLIENT_GET_PRIVATE (self);
-	dbobj->obj_state = obj_state;
-	switch (obj_state) {
-	case NML_DBUS_OBJ_STATE_UNLINKED:
-		c_list_unlink (&dbobj->dbus_objects_lst);
-		c_list_unlink (&dbobj->obj_changed_lst);
-		dbobj->obj_changed_type = NML_DBUS_OBJ_CHANGED_TYPE_NONE;
-		break;
-	case NML_DBUS_OBJ_STATE_WATCHED_ONLY:           nm_c_list_move_tail (&priv->dbus_objects_lst_head_watched_only,           &dbobj->dbus_objects_lst); break;
-	case NML_DBUS_OBJ_STATE_ON_DBUS:                nm_c_list_move_tail (&priv->dbus_objects_lst_head_on_dbus,                &dbobj->dbus_objects_lst); break;
-	case NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY:   nm_c_list_move_tail (&priv->dbus_objects_lst_head_with_nmobj_not_ready,   &dbobj->dbus_objects_lst); break;
-	case NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY:       nm_c_list_move_tail (&priv->dbus_objects_lst_head_with_nmobj_ready,       &dbobj->dbus_objects_lst); break;
-	default:
-		nm_assert_not_reached ();
-	}
+    if (dbobj->obj_state == obj_state)
+        return;
+
+    NML_NMCLIENT_LOG_T(self,
+                       "[%s]: set D-Bus object state %s",
+                       dbobj->dbus_path->str,
+                       nml_dbus_obj_state_to_string(obj_state));
+
+    priv             = NM_CLIENT_GET_PRIVATE(self);
+    dbobj->obj_state = obj_state;
+    switch (obj_state) {
+    case NML_DBUS_OBJ_STATE_UNLINKED:
+        c_list_unlink(&dbobj->dbus_objects_lst);
+        c_list_unlink(&dbobj->obj_changed_lst);
+        dbobj->obj_changed_type = NML_DBUS_OBJ_CHANGED_TYPE_NONE;
+        break;
+    case NML_DBUS_OBJ_STATE_WATCHED_ONLY:
+        nm_c_list_move_tail(&priv->dbus_objects_lst_head_watched_only, &dbobj->dbus_objects_lst);
+        break;
+    case NML_DBUS_OBJ_STATE_ON_DBUS:
+        nm_c_list_move_tail(&priv->dbus_objects_lst_head_on_dbus, &dbobj->dbus_objects_lst);
+        break;
+    case NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY:
+        nm_c_list_move_tail(&priv->dbus_objects_lst_head_with_nmobj_not_ready,
+                            &dbobj->dbus_objects_lst);
+        break;
+    case NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY:
+        nm_c_list_move_tail(&priv->dbus_objects_lst_head_with_nmobj_ready,
+                            &dbobj->dbus_objects_lst);
+        break;
+    default:
+        nm_assert_not_reached();
+    }
 }
 
 /*****************************************************************************/
 
 static void
-nml_dbus_object_obj_changed_link (NMClient *self,
-                                  NMLDBusObject *dbobj,
-                                  NMLDBusObjChangedType changed_type)
-{
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (NML_IS_DBUS_OBJECT (dbobj));
-	nm_assert (changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
-
-	if (!NM_FLAGS_ALL ((NMLDBusObjChangedType ) dbobj->obj_changed_type, changed_type))
-		NML_NMCLIENT_LOG_T (self, "[%s]: changed-type 0x%02x linked", dbobj->dbus_path->str, (guint) changed_type);
-
-	if (dbobj->obj_changed_type == NML_DBUS_OBJ_CHANGED_TYPE_NONE) {
-		NMClientPrivate *priv;
-
-		/* We set the changed-type flag. Need to queue the object in the
-		 * changed list. */
-		nm_assert (c_list_is_empty (&dbobj->obj_changed_lst));
-		priv = NM_CLIENT_GET_PRIVATE (self);
-		c_list_link_tail (&priv->obj_changed_lst_head, &dbobj->obj_changed_lst);
-	} else {
-		/* The object has changes flags and must be linked already. Note that
-		 * this may be priv->obj_changed_lst_head, or a temporary list on the
-		 * stack.
-		 *
-		 * This dance with the temporary list is done to ensure we can enqueue
-		 * objects while we process the changes. */
-		nm_assert (!c_list_is_empty (&dbobj->obj_changed_lst));
-	}
-
-	dbobj->obj_changed_type |= changed_type;
-
-	nm_assert (NM_FLAGS_ALL (dbobj->obj_changed_type, changed_type));
+nml_dbus_object_obj_changed_link(NMClient *            self,
+                                 NMLDBusObject *       dbobj,
+                                 NMLDBusObjChangedType changed_type)
+{
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(NML_IS_DBUS_OBJECT(dbobj));
+    nm_assert(changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
+
+    if (!NM_FLAGS_ALL((NMLDBusObjChangedType) dbobj->obj_changed_type, changed_type))
+        NML_NMCLIENT_LOG_T(self,
+                           "[%s]: changed-type 0x%02x linked",
+                           dbobj->dbus_path->str,
+                           (guint) changed_type);
+
+    if (dbobj->obj_changed_type == NML_DBUS_OBJ_CHANGED_TYPE_NONE) {
+        NMClientPrivate *priv;
+
+        /* We set the changed-type flag. Need to queue the object in the
+         * changed list. */
+        nm_assert(c_list_is_empty(&dbobj->obj_changed_lst));
+        priv = NM_CLIENT_GET_PRIVATE(self);
+        c_list_link_tail(&priv->obj_changed_lst_head, &dbobj->obj_changed_lst);
+    } else {
+        /* The object has changes flags and must be linked already. Note that
+         * this may be priv->obj_changed_lst_head, or a temporary list on the
+         * stack.
+         *
+         * This dance with the temporary list is done to ensure we can enqueue
+         * objects while we process the changes. */
+        nm_assert(!c_list_is_empty(&dbobj->obj_changed_lst));
+    }
+
+    dbobj->obj_changed_type |= changed_type;
+
+    nm_assert(NM_FLAGS_ALL(dbobj->obj_changed_type, changed_type));
 }
 
 static NMLDBusObjChangedType
-nml_dbus_object_obj_changed_consume (NMClient *self,
-                                     NMLDBusObject *dbobj,
-                                     NMLDBusObjChangedType changed_type)
+nml_dbus_object_obj_changed_consume(NMClient *            self,
+                                    NMLDBusObject *       dbobj,
+                                    NMLDBusObjChangedType changed_type)
 {
-	NMClientPrivate *priv;
-	NMLDBusObjChangedType changed_type_res;
+    NMClientPrivate *     priv;
+    NMLDBusObjChangedType changed_type_res;
 
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (NML_IS_DBUS_OBJECT (dbobj));
-	nm_assert (changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
-	nm_assert (dbobj->obj_changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
-	nm_assert (!c_list_is_empty (&dbobj->obj_changed_lst));
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(NML_IS_DBUS_OBJECT(dbobj));
+    nm_assert(changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
+    nm_assert(dbobj->obj_changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
+    nm_assert(!c_list_is_empty(&dbobj->obj_changed_lst));
 
-	changed_type_res = dbobj->obj_changed_type & changed_type;
+    changed_type_res = dbobj->obj_changed_type & changed_type;
 
-	dbobj->obj_changed_type &= ~changed_type;
+    dbobj->obj_changed_type &= ~changed_type;
 
-	if (dbobj->obj_changed_type == NML_DBUS_OBJ_CHANGED_TYPE_NONE) {
-		c_list_unlink (&dbobj->obj_changed_lst);
-		nm_assert (changed_type_res != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
-		NML_NMCLIENT_LOG_T (self, "[%s]: changed-type 0x%02x consumed", dbobj->dbus_path->str, (guint) changed_type_res);
-		return changed_type_res;
-	}
+    if (dbobj->obj_changed_type == NML_DBUS_OBJ_CHANGED_TYPE_NONE) {
+        c_list_unlink(&dbobj->obj_changed_lst);
+        nm_assert(changed_type_res != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
+        NML_NMCLIENT_LOG_T(self,
+                           "[%s]: changed-type 0x%02x consumed",
+                           dbobj->dbus_path->str,
+                           (guint) changed_type_res);
+        return changed_type_res;
+    }
 
-	priv = NM_CLIENT_GET_PRIVATE (self);
+    priv = NM_CLIENT_GET_PRIVATE(self);
 
-	nm_assert (!c_list_contains (&priv->obj_changed_lst_head, &dbobj->obj_changed_lst));
-	nm_c_list_move_tail (&priv->obj_changed_lst_head, &dbobj->obj_changed_lst);
-	NML_NMCLIENT_LOG_T (self, "[%s]: changed-type 0x%02x consumed  (still has 0x%02x)", dbobj->dbus_path->str, (guint) changed_type_res, (guint) dbobj->obj_changed_type);
-	return changed_type_res;
+    nm_assert(!c_list_contains(&priv->obj_changed_lst_head, &dbobj->obj_changed_lst));
+    nm_c_list_move_tail(&priv->obj_changed_lst_head, &dbobj->obj_changed_lst);
+    NML_NMCLIENT_LOG_T(self,
+                       "[%s]: changed-type 0x%02x consumed  (still has 0x%02x)",
+                       dbobj->dbus_path->str,
+                       (guint) changed_type_res,
+                       (guint) dbobj->obj_changed_type);
+    return changed_type_res;
 }
 
 static gboolean
-nml_dbus_object_obj_changed_any_linked (NMClient *self,
-                                        NMLDBusObjChangedType changed_type)
+nml_dbus_object_obj_changed_any_linked(NMClient *self, NMLDBusObjChangedType changed_type)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	NMLDBusObject *dbobj;
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+    NMLDBusObject *  dbobj;
 
-	nm_assert (changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
+    nm_assert(changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
 
-	c_list_for_each_entry (dbobj, &priv->obj_changed_lst_head, obj_changed_lst) {
-		nm_assert (dbobj->obj_changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
-		if (NM_FLAGS_ANY (dbobj->obj_changed_type, changed_type))
-			return TRUE;
-	}
-	return FALSE;
+    c_list_for_each_entry (dbobj, &priv->obj_changed_lst_head, obj_changed_lst) {
+        nm_assert(dbobj->obj_changed_type != NML_DBUS_OBJ_CHANGED_TYPE_NONE);
+        if (NM_FLAGS_ANY(dbobj->obj_changed_type, changed_type))
+            return TRUE;
+    }
+    return FALSE;
 }
 
 /*****************************************************************************/
 
 static void
-_dbobjs_notify_watchers_for_dbobj (NMClient *self,
-                                   NMLDBusObject *dbobj)
+_dbobjs_notify_watchers_for_dbobj(NMClient *self, NMLDBusObject *dbobj)
 {
-	NMLDBusObjWatcher *obj_watcher;
-	NMLDBusObjWatcher *obj_watcher_safe;
+    NMLDBusObjWatcher *obj_watcher;
+    NMLDBusObjWatcher *obj_watcher_safe;
 
-	c_list_for_each_entry_safe (obj_watcher, obj_watcher_safe, &dbobj->watcher_lst_head, _priv.watcher_lst)
-		obj_watcher->_priv.notify_fcn (self, obj_watcher);
+    c_list_for_each_entry_safe (obj_watcher,
+                                obj_watcher_safe,
+                                &dbobj->watcher_lst_head,
+                                _priv.watcher_lst)
+        obj_watcher->_priv.notify_fcn(self, obj_watcher);
 }
 
 static gboolean
-_dbobjs_check_dbobj_ready (NMClient *self,
-                           NMLDBusObject *dbobj)
+_dbobjs_check_dbobj_ready(NMClient *self, NMLDBusObject *dbobj)
 {
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (NML_IS_DBUS_OBJECT (dbobj));
-	nm_assert (G_IS_OBJECT (dbobj->nmobj));
-	nm_assert (   NM_IS_OBJECT (dbobj->nmobj)
-	           || NM_IS_CLIENT (dbobj->nmobj));
-	nm_assert (NM_IN_SET ((NMLDBusObjState) dbobj->obj_state, NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY,
-	                                                          NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY));
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(NML_IS_DBUS_OBJECT(dbobj));
+    nm_assert(G_IS_OBJECT(dbobj->nmobj));
+    nm_assert(NM_IS_OBJECT(dbobj->nmobj) || NM_IS_CLIENT(dbobj->nmobj));
+    nm_assert(NM_IN_SET((NMLDBusObjState) dbobj->obj_state,
+                        NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY,
+                        NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY));
 
-	if (G_LIKELY (dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY))
-		return TRUE;
+    if (G_LIKELY(dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY))
+        return TRUE;
 
-	if (!NM_OBJECT_GET_CLASS (dbobj->nmobj)->is_ready (NM_OBJECT (dbobj->nmobj)))
-		return FALSE;
+    if (!NM_OBJECT_GET_CLASS(dbobj->nmobj)->is_ready(NM_OBJECT(dbobj->nmobj)))
+        return FALSE;
 
-	nml_dbus_object_set_obj_state (dbobj, NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY, self);
+    nml_dbus_object_set_obj_state(dbobj, NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY, self);
 
-	nml_dbus_object_obj_changed_link (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
-	_dbobjs_notify_watchers_for_dbobj (self, dbobj);
+    nml_dbus_object_obj_changed_link(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
+    _dbobjs_notify_watchers_for_dbobj(self, dbobj);
 
-	return TRUE;
+    return TRUE;
 }
 
 void
-_nm_client_notify_object_changed (NMClient *self,
-                                  NMLDBusObject *dbobj)
+_nm_client_notify_object_changed(NMClient *self, NMLDBusObject *dbobj)
 {
-	nml_dbus_object_obj_changed_link (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
-	_dbobjs_notify_watchers_for_dbobj (self, dbobj);
+    nml_dbus_object_obj_changed_link(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
+    _dbobjs_notify_watchers_for_dbobj(self, dbobj);
 }
 
 /*****************************************************************************/
 
 static NMLDBusObject *
-_dbobjs_dbobj_get_r (NMClient *self,
-                     NMRefString *dbus_path_r)
+_dbobjs_dbobj_get_r(NMClient *self, NMRefString *dbus_path_r)
 {
-	nm_assert (NM_IS_REF_STRING (dbus_path_r));
+    nm_assert(NM_IS_REF_STRING(dbus_path_r));
 
-	return g_hash_table_lookup (NM_CLIENT_GET_PRIVATE (self)->dbus_objects, &dbus_path_r);
+    return g_hash_table_lookup(NM_CLIENT_GET_PRIVATE(self)->dbus_objects, &dbus_path_r);
 }
 
 static NMLDBusObject *
-_dbobjs_dbobj_get_s (NMClient *self,
-                     const char *dbus_path)
+_dbobjs_dbobj_get_s(NMClient *self, const char *dbus_path)
 {
-	nm_auto_ref_string NMRefString *dbus_path_r = NULL;
+    nm_auto_ref_string NMRefString *dbus_path_r = NULL;
 
-	nm_assert (dbus_path);
-	dbus_path_r = nm_ref_string_new (dbus_path);
-	return _dbobjs_dbobj_get_r (self, dbus_path_r);
+    nm_assert(dbus_path);
+    dbus_path_r = nm_ref_string_new(dbus_path);
+    return _dbobjs_dbobj_get_r(self, dbus_path_r);
 }
 
 static NMLDBusObject *
-_dbobjs_dbobj_create (NMClient *self,
-                      NMRefString *dbus_path_take)
+_dbobjs_dbobj_create(NMClient *self, NMRefString *dbus_path_take)
 {
-	nm_auto_ref_string NMRefString *dbus_path = g_steal_pointer (&dbus_path_take);
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	NMLDBusObject *dbobj;
+    nm_auto_ref_string NMRefString *dbus_path = g_steal_pointer(&dbus_path_take);
+    NMClientPrivate *               priv      = NM_CLIENT_GET_PRIVATE(self);
+    NMLDBusObject *                 dbobj;
 
-	nm_assert (!_dbobjs_dbobj_get_r (self, dbus_path));
+    nm_assert(!_dbobjs_dbobj_get_r(self, dbus_path));
 
-	dbobj = nml_dbus_object_new (g_steal_pointer (&dbus_path));
-	if (!g_hash_table_add (priv->dbus_objects, dbobj))
-		nm_assert_not_reached ();
-	return dbobj;
+    dbobj = nml_dbus_object_new(g_steal_pointer(&dbus_path));
+    if (!g_hash_table_add(priv->dbus_objects, dbobj))
+        nm_assert_not_reached();
+    return dbobj;
 }
 
 static NMLDBusObject *
-_dbobjs_dbobj_get_or_create (NMClient *self,
-                             NMRefString *dbus_path_take)
+_dbobjs_dbobj_get_or_create(NMClient *self, NMRefString *dbus_path_take)
 {
-	nm_auto_ref_string NMRefString *dbus_path = g_steal_pointer (&dbus_path_take);
-	NMLDBusObject *dbobj;
+    nm_auto_ref_string NMRefString *dbus_path = g_steal_pointer(&dbus_path_take);
+    NMLDBusObject *                 dbobj;
 
-	dbobj = _dbobjs_dbobj_get_r (self, dbus_path);
-	if (dbobj)
-		return dbobj;
-	return _dbobjs_dbobj_create (self, g_steal_pointer (&dbus_path));
+    dbobj = _dbobjs_dbobj_get_r(self, dbus_path);
+    if (dbobj)
+        return dbobj;
+    return _dbobjs_dbobj_create(self, g_steal_pointer(&dbus_path));
 }
 
 static NMLDBusObject *
-_dbobjs_get_nmobj (NMClient *self,
-                   const char *dbus_path,
-                   GType gtype)
+_dbobjs_get_nmobj(NMClient *self, const char *dbus_path, GType gtype)
 {
-	NMLDBusObject *dbobj;
+    NMLDBusObject *dbobj;
 
-	nm_assert (   gtype == G_TYPE_NONE
-	           || g_type_is_a (gtype, NM_TYPE_OBJECT));
+    nm_assert(gtype == G_TYPE_NONE || g_type_is_a(gtype, NM_TYPE_OBJECT));
 
-	dbobj = _dbobjs_dbobj_get_s (self, dbus_path);
+    dbobj = _dbobjs_dbobj_get_s(self, dbus_path);
 
-	if (!dbobj)
-		return NULL;
-	if (!dbobj->nmobj)
-		return NULL;
+    if (!dbobj)
+        return NULL;
+    if (!dbobj->nmobj)
+        return NULL;
 
-	if (   gtype != G_TYPE_NONE
-	    && !g_type_is_a (G_OBJECT_TYPE (dbobj->nmobj), gtype))
-		return NULL;
+    if (gtype != G_TYPE_NONE && !g_type_is_a(G_OBJECT_TYPE(dbobj->nmobj), gtype))
+        return NULL;
 
-	return dbobj;
+    return dbobj;
 }
 
 static gpointer
-_dbobjs_get_nmobj_unpack_visible (NMClient *self,
-                                  const char *dbus_path,
-                                  GType gtype)
+_dbobjs_get_nmobj_unpack_visible(NMClient *self, const char *dbus_path, GType gtype)
 {
-	NMLDBusObject *dbobj;
+    NMLDBusObject *dbobj;
 
-	dbobj = _dbobjs_get_nmobj (self, dbus_path, gtype);
-	if (!dbobj)
-		return NULL;
-	if (dbobj->obj_state != NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY)
-		return NULL;
-	return dbobj->nmobj;
+    dbobj = _dbobjs_get_nmobj(self, dbus_path, gtype);
+    if (!dbobj)
+        return NULL;
+    if (dbobj->obj_state != NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY)
+        return NULL;
+    return dbobj->nmobj;
 }
 
 /*****************************************************************************/
 
 static gpointer
-_dbobjs_obj_watcher_register_o (NMClient *self,
-                                NMLDBusObject *dbobj,
-                                NMLDBusObjWatchNotifyFcn notify_fcn,
-                                gsize struct_size)
+_dbobjs_obj_watcher_register_o(NMClient *               self,
+                               NMLDBusObject *          dbobj,
+                               NMLDBusObjWatchNotifyFcn notify_fcn,
+                               gsize                    struct_size)
 {
-	NMLDBusObjWatcher *obj_watcher;
+    NMLDBusObjWatcher *obj_watcher;
 
-	nm_assert (NM_IS_CLIENT (self));
-	_ASSERT_dbobj (dbobj, self);
-	nm_assert (notify_fcn);
-	nm_assert (struct_size > sizeof (NMLDBusObjWatcher));
+    nm_assert(NM_IS_CLIENT(self));
+    _ASSERT_dbobj(dbobj, self);
+    nm_assert(notify_fcn);
+    nm_assert(struct_size > sizeof(NMLDBusObjWatcher));
 
-	obj_watcher = g_malloc (struct_size);
-	obj_watcher->dbobj = dbobj;
-	obj_watcher->_priv.notify_fcn = notify_fcn;
+    obj_watcher                   = g_malloc(struct_size);
+    obj_watcher->dbobj            = dbobj;
+    obj_watcher->_priv.notify_fcn = notify_fcn;
 
-	/* we must enqueue the item in the front of the list. That is, because while
-	 * invoking notify_fcn(), we iterate the watchers front-to-end. As we want to
-	 * allow the callee to register new watches and unregister itself, this is
-	 * the right way to do it. */
-	c_list_link_front (&dbobj->watcher_lst_head, &obj_watcher->_priv.watcher_lst);
+    /* we must enqueue the item in the front of the list. That is, because while
+     * invoking notify_fcn(), we iterate the watchers front-to-end. As we want to
+     * allow the callee to register new watches and unregister itself, this is
+     * the right way to do it. */
+    c_list_link_front(&dbobj->watcher_lst_head, &obj_watcher->_priv.watcher_lst);
 
-	return obj_watcher;
+    return obj_watcher;
 }
 
 static gpointer
-_dbobjs_obj_watcher_register_r (NMClient *self,
-                                NMRefString *dbus_path_take,
-                                NMLDBusObjWatchNotifyFcn notify_fcn,
-                                gsize struct_size)
+_dbobjs_obj_watcher_register_r(NMClient *               self,
+                               NMRefString *            dbus_path_take,
+                               NMLDBusObjWatchNotifyFcn notify_fcn,
+                               gsize                    struct_size)
 {
-	nm_auto_ref_string NMRefString *dbus_path = g_steal_pointer (&dbus_path_take);
-	NMLDBusObject *dbobj;
+    nm_auto_ref_string NMRefString *dbus_path = g_steal_pointer(&dbus_path_take);
+    NMLDBusObject *                 dbobj;
 
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (notify_fcn);
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(notify_fcn);
 
-	dbobj = _dbobjs_dbobj_get_or_create (self, g_steal_pointer (&dbus_path));
-	if (dbobj->obj_state == NML_DBUS_OBJ_STATE_UNLINKED)
-		nml_dbus_object_set_obj_state (dbobj, NML_DBUS_OBJ_STATE_WATCHED_ONLY, self);
-	return _dbobjs_obj_watcher_register_o (self, dbobj, notify_fcn, struct_size);
+    dbobj = _dbobjs_dbobj_get_or_create(self, g_steal_pointer(&dbus_path));
+    if (dbobj->obj_state == NML_DBUS_OBJ_STATE_UNLINKED)
+        nml_dbus_object_set_obj_state(dbobj, NML_DBUS_OBJ_STATE_WATCHED_ONLY, self);
+    return _dbobjs_obj_watcher_register_o(self, dbobj, notify_fcn, struct_size);
 }
 
 static void
-_dbobjs_obj_watcher_unregister (NMClient *self,
-                                gpointer obj_watcher_base)
+_dbobjs_obj_watcher_unregister(NMClient *self, gpointer obj_watcher_base)
 {
-	NMLDBusObjWatcher *obj_watcher = obj_watcher_base;
-	NMLDBusObject *dbobj;
+    NMLDBusObjWatcher *obj_watcher = obj_watcher_base;
+    NMLDBusObject *    dbobj;
 
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (obj_watcher);
-	nm_assert (NML_IS_DBUS_OBJECT (obj_watcher->dbobj));
-	nm_assert (g_hash_table_lookup (NM_CLIENT_GET_PRIVATE (self)->dbus_objects, obj_watcher->dbobj) == obj_watcher->dbobj);
-	nm_assert (c_list_contains (&obj_watcher->dbobj->watcher_lst_head, &obj_watcher->_priv.watcher_lst));
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(obj_watcher);
+    nm_assert(NML_IS_DBUS_OBJECT(obj_watcher->dbobj));
+    nm_assert(g_hash_table_lookup(NM_CLIENT_GET_PRIVATE(self)->dbus_objects, obj_watcher->dbobj)
+              == obj_watcher->dbobj);
+    nm_assert(
+        c_list_contains(&obj_watcher->dbobj->watcher_lst_head, &obj_watcher->_priv.watcher_lst));
 
-	c_list_unlink (&obj_watcher->_priv.watcher_lst);
+    c_list_unlink(&obj_watcher->_priv.watcher_lst);
 
-	dbobj = obj_watcher->dbobj;
+    dbobj = obj_watcher->dbobj;
 
-	g_free (obj_watcher);
+    g_free(obj_watcher);
 
-	if (   c_list_is_empty (&dbobj->iface_lst_head)
-	    && c_list_is_empty (&dbobj->watcher_lst_head)) {
-		NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    if (c_list_is_empty(&dbobj->iface_lst_head) && c_list_is_empty(&dbobj->watcher_lst_head)) {
+        NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-		NML_NMCLIENT_LOG_T (self, "[%s]: drop D-Bus watcher", dbobj->dbus_path->str);
-		nml_dbus_object_set_obj_state (dbobj, NML_DBUS_OBJ_STATE_UNLINKED, self);
-		if (!g_hash_table_steal (priv->dbus_objects, dbobj))
-			nm_assert_not_reached ();
-		nml_dbus_object_unref (dbobj);
-	}
+        NML_NMCLIENT_LOG_T(self, "[%s]: drop D-Bus watcher", dbobj->dbus_path->str);
+        nml_dbus_object_set_obj_state(dbobj, NML_DBUS_OBJ_STATE_UNLINKED, self);
+        if (!g_hash_table_steal(priv->dbus_objects, dbobj))
+            nm_assert_not_reached();
+        nml_dbus_object_unref(dbobj);
+    }
 }
 
 /*****************************************************************************/
 
 typedef struct {
-	NMLDBusObjWatcher parent;
-	NMLDBusPropertyO *pr_o;
+    NMLDBusObjWatcher parent;
+    NMLDBusPropertyO *pr_o;
 } PropertyOData;
 
 gpointer
-nml_dbus_property_o_get_obj (NMLDBusPropertyO *pr_o)
+nml_dbus_property_o_get_obj(NMLDBusPropertyO *pr_o)
 {
-	nm_assert (   !pr_o->nmobj
-	           || nml_dbus_property_o_is_ready (pr_o));
-	return pr_o->nmobj;
+    nm_assert(!pr_o->nmobj || nml_dbus_property_o_is_ready(pr_o));
+    return pr_o->nmobj;
 }
 
 gboolean
-nml_dbus_property_o_is_ready (const NMLDBusPropertyO *pr_o)
+nml_dbus_property_o_is_ready(const NMLDBusPropertyO *pr_o)
 {
-	return    pr_o->is_ready
-	       || !pr_o->owner_dbobj;
+    return pr_o->is_ready || !pr_o->owner_dbobj;
 }
 
 gboolean
-nml_dbus_property_o_is_ready_fully (const NMLDBusPropertyO *pr_o)
+nml_dbus_property_o_is_ready_fully(const NMLDBusPropertyO *pr_o)
 {
-	return    !pr_o->owner_dbobj
-	       || !pr_o->obj_watcher
-	       || pr_o->nmobj;
+    return !pr_o->owner_dbobj || !pr_o->obj_watcher || pr_o->nmobj;
 }
 
 static void
-nml_dbus_property_o_notify_changed (NMLDBusPropertyO *pr_o,
-                                    NMClient *self)
-{
-	const NMLDBusPropertVTableO *vtable;
-	GObject *nmobj = NULL;
-	gboolean is_ready = TRUE;
-	gboolean changed_ready;
-	GType gtype;
-
-	nm_assert (pr_o);
-	nm_assert (NM_IS_CLIENT (self));
-
-	if (!pr_o->owner_dbobj)
-		return;
-
-	if (!pr_o->is_changed) {
-		if (pr_o->is_ready)
-			return;
-		goto done;
-	}
-
-	pr_o->is_changed = FALSE;
-
-	if (!pr_o->obj_watcher)
-		goto done;
-
-	if (!pr_o->obj_watcher->dbobj->nmobj) {
-		if (pr_o->obj_watcher->dbobj->obj_state >= NML_DBUS_OBJ_STATE_ON_DBUS) {
-			NML_NMCLIENT_LOG_W (self, "[%s]: property %s references %s but object is not created",
-			                    pr_o->owner_dbobj->dbus_path->str,
-			                    pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].dbus_property_name,
-			                    pr_o->obj_watcher->dbobj->dbus_path->str);
-		} else {
-			NML_NMCLIENT_LOG_E (self, "[%s]: property %s references %s but object is not present on D-Bus",
-			                    pr_o->owner_dbobj->dbus_path->str,
-			                    pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].dbus_property_name,
-			                    pr_o->obj_watcher->dbobj->dbus_path->str);
-		}
-		goto done;
-	}
-
-	vtable = pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].extra.property_vtable_o;
-
-	gtype = vtable->get_o_type_fcn ();
-	if (!g_type_is_a (G_OBJECT_TYPE (pr_o->obj_watcher->dbobj->nmobj), gtype)) {
-		NML_NMCLIENT_LOG_E (self, "[%s]: property %s references %s with unexpected GObject type %s instead of %s",
-		                    pr_o->owner_dbobj->dbus_path->str,
-		                    pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].dbus_property_name,
-		                    pr_o->obj_watcher->dbobj->dbus_path->str,
-		                    G_OBJECT_TYPE_NAME (pr_o->obj_watcher->dbobj->nmobj),
-		                    g_type_name (gtype));
-		goto done;
-	}
-
-	if (pr_o->obj_watcher->dbobj == pr_o->owner_dbobj) {
-		NML_NMCLIENT_LOG_W (self, "[%s]: property %s references itself",
-		                    pr_o->owner_dbobj->dbus_path->str,
-		                    pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].dbus_property_name);
-		nmobj = pr_o->owner_dbobj->nmobj;
-		goto done;
-	}
-
-	pr_o->block_is_changed = TRUE;
-	is_ready = _dbobjs_check_dbobj_ready (self, pr_o->obj_watcher->dbobj);
-	pr_o->block_is_changed = FALSE;
-
-	if (!is_ready) {
-		is_ready = vtable->is_always_ready;
-		goto done;
-	}
-
-	nmobj = pr_o->obj_watcher->dbobj->nmobj;
+nml_dbus_property_o_notify_changed(NMLDBusPropertyO *pr_o, NMClient *self)
+{
+    const NMLDBusPropertVTableO *vtable;
+    GObject *                    nmobj    = NULL;
+    gboolean                     is_ready = TRUE;
+    gboolean                     changed_ready;
+    GType                        gtype;
+
+    nm_assert(pr_o);
+    nm_assert(NM_IS_CLIENT(self));
+
+    if (!pr_o->owner_dbobj)
+        return;
+
+    if (!pr_o->is_changed) {
+        if (pr_o->is_ready)
+            return;
+        goto done;
+    }
+
+    pr_o->is_changed = FALSE;
+
+    if (!pr_o->obj_watcher)
+        goto done;
+
+    if (!pr_o->obj_watcher->dbobj->nmobj) {
+        if (pr_o->obj_watcher->dbobj->obj_state >= NML_DBUS_OBJ_STATE_ON_DBUS) {
+            NML_NMCLIENT_LOG_W(
+                self,
+                "[%s]: property %s references %s but object is not created",
+                pr_o->owner_dbobj->dbus_path->str,
+                pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].dbus_property_name,
+                pr_o->obj_watcher->dbobj->dbus_path->str);
+        } else {
+            NML_NMCLIENT_LOG_E(
+                self,
+                "[%s]: property %s references %s but object is not present on D-Bus",
+                pr_o->owner_dbobj->dbus_path->str,
+                pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].dbus_property_name,
+                pr_o->obj_watcher->dbobj->dbus_path->str);
+        }
+        goto done;
+    }
+
+    vtable = pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].extra.property_vtable_o;
+
+    gtype = vtable->get_o_type_fcn();
+    if (!g_type_is_a(G_OBJECT_TYPE(pr_o->obj_watcher->dbobj->nmobj), gtype)) {
+        NML_NMCLIENT_LOG_E(
+            self,
+            "[%s]: property %s references %s with unexpected GObject type %s instead of %s",
+            pr_o->owner_dbobj->dbus_path->str,
+            pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].dbus_property_name,
+            pr_o->obj_watcher->dbobj->dbus_path->str,
+            G_OBJECT_TYPE_NAME(pr_o->obj_watcher->dbobj->nmobj),
+            g_type_name(gtype));
+        goto done;
+    }
+
+    if (pr_o->obj_watcher->dbobj == pr_o->owner_dbobj) {
+        NML_NMCLIENT_LOG_W(
+            self,
+            "[%s]: property %s references itself",
+            pr_o->owner_dbobj->dbus_path->str,
+            pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].dbus_property_name);
+        nmobj = pr_o->owner_dbobj->nmobj;
+        goto done;
+    }
+
+    pr_o->block_is_changed = TRUE;
+    is_ready               = _dbobjs_check_dbobj_ready(self, pr_o->obj_watcher->dbobj);
+    pr_o->block_is_changed = FALSE;
+
+    if (!is_ready) {
+        is_ready = vtable->is_always_ready;
+        goto done;
+    }
+
+    nmobj = pr_o->obj_watcher->dbobj->nmobj;
 
 done:
-	changed_ready = FALSE;
-	if (!pr_o->is_ready && is_ready) {
-		pr_o->is_ready = TRUE;
-		changed_ready = TRUE;
-	}
-	if (pr_o->nmobj != nmobj) {
-		pr_o->nmobj = nmobj;
-		_nm_client_queue_notify_object (self,
-		                                pr_o->owner_dbobj->nmobj,
-		                                pr_o->meta_iface->obj_properties[pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].obj_properties_idx]);
-	}
-	if (   changed_ready
-	    && pr_o->owner_dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY)
-		nml_dbus_object_obj_changed_link (self, pr_o->owner_dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
+    changed_ready = FALSE;
+    if (!pr_o->is_ready && is_ready) {
+        pr_o->is_ready = TRUE;
+        changed_ready  = TRUE;
+    }
+    if (pr_o->nmobj != nmobj) {
+        pr_o->nmobj = nmobj;
+        _nm_client_queue_notify_object(
+            self,
+            pr_o->owner_dbobj->nmobj,
+            pr_o->meta_iface->obj_properties
+                [pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].obj_properties_idx]);
+    }
+    if (changed_ready && pr_o->owner_dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY)
+        nml_dbus_object_obj_changed_link(self, pr_o->owner_dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
 }
 
 void
-nml_dbus_property_o_notify_changed_many (NMLDBusPropertyO *ptr,
-                                         guint len,
-                                         NMClient *self)
+nml_dbus_property_o_notify_changed_many(NMLDBusPropertyO *ptr, guint len, NMClient *self)
 {
-	while (len-- > 0)
-		nml_dbus_property_o_notify_changed (ptr++, self);
+    while (len-- > 0)
+        nml_dbus_property_o_notify_changed(ptr++, self);
 }
 
 static void
-nml_dbus_property_o_notify_watch_cb (NMClient *self,
-                                     gpointer obj_watcher)
+nml_dbus_property_o_notify_watch_cb(NMClient *self, gpointer obj_watcher)
 {
-	PropertyOData *pr_o_data = obj_watcher;
-	NMLDBusPropertyO *pr_o = pr_o_data->pr_o;
+    PropertyOData *   pr_o_data = obj_watcher;
+    NMLDBusPropertyO *pr_o      = pr_o_data->pr_o;
 
-	nm_assert (pr_o->obj_watcher == obj_watcher);
+    nm_assert(pr_o->obj_watcher == obj_watcher);
 
-	if (   !pr_o->block_is_changed
-	    && !pr_o->is_changed) {
-		pr_o->is_changed = TRUE;
-		nml_dbus_object_obj_changed_link (self, pr_o->owner_dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
-	}
+    if (!pr_o->block_is_changed && !pr_o->is_changed) {
+        pr_o->is_changed = TRUE;
+        nml_dbus_object_obj_changed_link(self, pr_o->owner_dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
+    }
 }
 
 static NMLDBusNotifyUpdatePropFlags
-nml_dbus_property_o_notify (NMClient *self,
-                            NMLDBusPropertyO *pr_o,
-                            NMLDBusObject *dbobj,
-                            const NMLDBusMetaIface *meta_iface,
-                            guint dbus_property_idx,
-                            GVariant *value)
-{
-	const char *dbus_path = NULL;
-	gboolean changed = FALSE;
-
-	if (!pr_o->owner_dbobj) {
-		nm_assert (!pr_o->meta_iface);
-		nm_assert (pr_o->dbus_property_idx == 0);
-		nm_assert (!pr_o->is_ready);
-		pr_o->owner_dbobj = dbobj;
-		pr_o->meta_iface = meta_iface;
-		pr_o->dbus_property_idx = dbus_property_idx;
-	} else {
-		nm_assert (pr_o->owner_dbobj == dbobj);
-		nm_assert (pr_o->meta_iface == meta_iface);
-		nm_assert (pr_o->dbus_property_idx == dbus_property_idx);
-	}
-
-	if (value)
-		dbus_path = nm_dbus_path_not_empty (g_variant_get_string (value, NULL));
-
-	if (   pr_o->obj_watcher
-	    && (   !dbus_path
-	        || !nm_streq (dbus_path, pr_o->obj_watcher->dbobj->dbus_path->str))) {
-		_dbobjs_obj_watcher_unregister (self,
-		                                g_steal_pointer (&pr_o->obj_watcher));
-		changed = TRUE;
-	}
-	if (   !pr_o->obj_watcher
-	    && dbus_path) {
-		pr_o->obj_watcher = _dbobjs_obj_watcher_register_r (self,
-		                                                    nm_ref_string_new (dbus_path),
-		                                                    nml_dbus_property_o_notify_watch_cb,
-		                                                    sizeof (PropertyOData));
-		((PropertyOData *) pr_o->obj_watcher)->pr_o = pr_o;
-		changed = TRUE;
-	}
-
-	if (   changed
-	    && !pr_o->is_changed) {
-		pr_o->is_changed = TRUE;
-		nml_dbus_object_obj_changed_link (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
-	}
-
-	return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE;
+nml_dbus_property_o_notify(NMClient *              self,
+                           NMLDBusPropertyO *      pr_o,
+                           NMLDBusObject *         dbobj,
+                           const NMLDBusMetaIface *meta_iface,
+                           guint                   dbus_property_idx,
+                           GVariant *              value)
+{
+    const char *dbus_path = NULL;
+    gboolean    changed   = FALSE;
+
+    if (!pr_o->owner_dbobj) {
+        nm_assert(!pr_o->meta_iface);
+        nm_assert(pr_o->dbus_property_idx == 0);
+        nm_assert(!pr_o->is_ready);
+        pr_o->owner_dbobj       = dbobj;
+        pr_o->meta_iface        = meta_iface;
+        pr_o->dbus_property_idx = dbus_property_idx;
+    } else {
+        nm_assert(pr_o->owner_dbobj == dbobj);
+        nm_assert(pr_o->meta_iface == meta_iface);
+        nm_assert(pr_o->dbus_property_idx == dbus_property_idx);
+    }
+
+    if (value)
+        dbus_path = nm_dbus_path_not_empty(g_variant_get_string(value, NULL));
+
+    if (pr_o->obj_watcher
+        && (!dbus_path || !nm_streq(dbus_path, pr_o->obj_watcher->dbobj->dbus_path->str))) {
+        _dbobjs_obj_watcher_unregister(self, g_steal_pointer(&pr_o->obj_watcher));
+        changed = TRUE;
+    }
+    if (!pr_o->obj_watcher && dbus_path) {
+        pr_o->obj_watcher                           = _dbobjs_obj_watcher_register_r(self,
+                                                           nm_ref_string_new(dbus_path),
+                                                           nml_dbus_property_o_notify_watch_cb,
+                                                           sizeof(PropertyOData));
+        ((PropertyOData *) pr_o->obj_watcher)->pr_o = pr_o;
+        changed                                     = TRUE;
+    }
+
+    if (changed && !pr_o->is_changed) {
+        pr_o->is_changed = TRUE;
+        nml_dbus_object_obj_changed_link(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
+    }
+
+    return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE;
 }
 
 void
-nml_dbus_property_o_clear (NMLDBusPropertyO *pr_o,
-                           NMClient *self)
-{
-	if (pr_o->obj_watcher) {
-		nm_assert (NM_IS_CLIENT (self));
-		_dbobjs_obj_watcher_unregister (self,
-		                                g_steal_pointer (&pr_o->obj_watcher));
-	}
-	if (   pr_o->nmobj
-	    && pr_o->owner_dbobj
-	    && pr_o->owner_dbobj->nmobj) {
-		_nm_client_queue_notify_object (self,
-		                                pr_o->owner_dbobj->nmobj,
-		                                pr_o->meta_iface->obj_properties[pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].obj_properties_idx]);
-	}
-	pr_o->owner_dbobj = NULL;
-	pr_o->meta_iface = NULL;
-	pr_o->dbus_property_idx = 0;
-	pr_o->is_ready = FALSE;
+nml_dbus_property_o_clear(NMLDBusPropertyO *pr_o, NMClient *self)
+{
+    if (pr_o->obj_watcher) {
+        nm_assert(NM_IS_CLIENT(self));
+        _dbobjs_obj_watcher_unregister(self, g_steal_pointer(&pr_o->obj_watcher));
+    }
+    if (pr_o->nmobj && pr_o->owner_dbobj && pr_o->owner_dbobj->nmobj) {
+        _nm_client_queue_notify_object(
+            self,
+            pr_o->owner_dbobj->nmobj,
+            pr_o->meta_iface->obj_properties
+                [pr_o->meta_iface->dbus_properties[pr_o->dbus_property_idx].obj_properties_idx]);
+    }
+    pr_o->owner_dbobj       = NULL;
+    pr_o->meta_iface        = NULL;
+    pr_o->dbus_property_idx = 0;
+    pr_o->is_ready          = FALSE;
 }
 
 void
-nml_dbus_property_o_clear_many (NMLDBusPropertyO *pr_o,
-                                guint len,
-                                NMClient *self)
+nml_dbus_property_o_clear_many(NMLDBusPropertyO *pr_o, guint len, NMClient *self)
 {
-	while (len-- > 0)
-		nml_dbus_property_o_clear (pr_o++, self);
+    while (len-- > 0)
+        nml_dbus_property_o_clear(pr_o++, self);
 }
 
 /*****************************************************************************/
 
 typedef struct _NMLDBusPropertyAOData {
-	NMLDBusObjWatcher obj_watcher;
-	NMLDBusPropertyAO *parent;
-	CList data_lst;
-	GObject *nmobj;
-	struct _NMLDBusPropertyAOData *changed_next;
-	bool is_ready:1;
-	bool is_notified:1;
-	bool is_changed:1;
-	bool block_is_changed:1;
+    NMLDBusObjWatcher              obj_watcher;
+    NMLDBusPropertyAO *            parent;
+    CList                          data_lst;
+    GObject *                      nmobj;
+    struct _NMLDBusPropertyAOData *changed_next;
+    bool                           is_ready : 1;
+    bool                           is_notified : 1;
+    bool                           is_changed : 1;
+    bool                           block_is_changed : 1;
 } PropertyAOData;
 
 static void
-_ASSERT_pr_ao (NMLDBusPropertyAO *pr_ao)
+_ASSERT_pr_ao(NMLDBusPropertyAO *pr_ao)
 {
-	nm_assert (pr_ao);
+    nm_assert(pr_ao);
 
 #if NM_MORE_ASSERTS > 10
-	if (pr_ao->owner_dbobj) {
-		guint n_not_ready = 0;
-		guint n_is_changed = 0;
-		guint n_is_changed_2;
-		PropertyAOData *pr_ao_data;
-
-		c_list_for_each_entry (pr_ao_data, &pr_ao->data_lst_head, data_lst) {
-			if (pr_ao_data->is_changed)
-				n_is_changed++;
-			if (!pr_ao_data->is_ready)
-				n_not_ready++;
-		}
-		nm_assert (n_not_ready == pr_ao->n_not_ready);
-
-		n_is_changed_2 = 0;
-		pr_ao_data = pr_ao->changed_head;
-		while (pr_ao_data) {
-			nm_assert (pr_ao_data->is_changed);
-			n_is_changed_2++;
-			pr_ao_data = pr_ao_data->changed_next;
-		}
-		nm_assert (n_is_changed == n_is_changed_2);
-	}
+    if (pr_ao->owner_dbobj) {
+        guint           n_not_ready  = 0;
+        guint           n_is_changed = 0;
+        guint           n_is_changed_2;
+        PropertyAOData *pr_ao_data;
+
+        c_list_for_each_entry (pr_ao_data, &pr_ao->data_lst_head, data_lst) {
+            if (pr_ao_data->is_changed)
+                n_is_changed++;
+            if (!pr_ao_data->is_ready)
+                n_not_ready++;
+        }
+        nm_assert(n_not_ready == pr_ao->n_not_ready);
+
+        n_is_changed_2 = 0;
+        pr_ao_data     = pr_ao->changed_head;
+        while (pr_ao_data) {
+            nm_assert(pr_ao_data->is_changed);
+            n_is_changed_2++;
+            pr_ao_data = pr_ao_data->changed_next;
+        }
+        nm_assert(n_is_changed == n_is_changed_2);
+    }
 #endif
 }
 
 static gboolean
-nml_dbus_property_ao_notify_changed_ao (PropertyAOData *pr_ao_data,
-                                        NMClient *self,
-                                        gboolean is_added /* or else removed */)
+nml_dbus_property_ao_notify_changed_ao(PropertyAOData *pr_ao_data,
+                                       NMClient *      self,
+                                       gboolean        is_added /* or else removed */)
 {
-	NMLDBusPropertyAO *pr_ao;
-	const NMLDBusPropertVTableAO *vtable;
+    NMLDBusPropertyAO *           pr_ao;
+    const NMLDBusPropertVTableAO *vtable;
 
-	if (!pr_ao_data->nmobj)
-		return FALSE;
+    if (!pr_ao_data->nmobj)
+        return FALSE;
 
-	nm_assert (pr_ao_data->is_ready);
+    nm_assert(pr_ao_data->is_ready);
 
-	if (is_added) {
-		if (pr_ao_data->is_notified)
-			return FALSE;
-		pr_ao_data->is_notified = TRUE;
-	} else {
-		if (!pr_ao_data->is_notified)
-			return FALSE;
-		pr_ao_data->is_notified = FALSE;
-	}
+    if (is_added) {
+        if (pr_ao_data->is_notified)
+            return FALSE;
+        pr_ao_data->is_notified = TRUE;
+    } else {
+        if (!pr_ao_data->is_notified)
+            return FALSE;
+        pr_ao_data->is_notified = FALSE;
+    }
 
-	pr_ao = pr_ao_data->parent;
+    pr_ao = pr_ao_data->parent;
 
-	vtable = pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].extra.property_vtable_ao;
+    vtable = pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].extra.property_vtable_ao;
 
-	if (vtable->notify_changed_ao)
-		vtable->notify_changed_ao (pr_ao, self, NM_OBJECT (pr_ao_data->nmobj), is_added);
-	return TRUE;
+    if (vtable->notify_changed_ao)
+        vtable->notify_changed_ao(pr_ao, self, NM_OBJECT(pr_ao_data->nmobj), is_added);
+    return TRUE;
 }
 
 const GPtrArray *
-nml_dbus_property_ao_get_objs_as_ptrarray (NMLDBusPropertyAO *pr_ao)
-{
-	if (!pr_ao->arr) {
-		PropertyAOData *pr_ao_data;
-		gsize n;
-
-		n = 0;
-		if (pr_ao->owner_dbobj) {
-			c_list_for_each_entry (pr_ao_data, &pr_ao->data_lst_head, data_lst) {
-				if (pr_ao_data->nmobj)
-					n++;
-			}
-		}
-
-		pr_ao->arr = g_ptr_array_new_full (n, g_object_unref);
-		if (pr_ao->owner_dbobj) {
-			c_list_for_each_entry (pr_ao_data, &pr_ao->data_lst_head, data_lst) {
-				if (pr_ao_data->nmobj)
-					g_ptr_array_add (pr_ao->arr, g_object_ref (pr_ao_data->nmobj));
-			}
-		}
-	}
-	return pr_ao->arr;
+nml_dbus_property_ao_get_objs_as_ptrarray(NMLDBusPropertyAO *pr_ao)
+{
+    if (!pr_ao->arr) {
+        PropertyAOData *pr_ao_data;
+        gsize           n;
+
+        n = 0;
+        if (pr_ao->owner_dbobj) {
+            c_list_for_each_entry (pr_ao_data, &pr_ao->data_lst_head, data_lst) {
+                if (pr_ao_data->nmobj)
+                    n++;
+            }
+        }
+
+        pr_ao->arr = g_ptr_array_new_full(n, g_object_unref);
+        if (pr_ao->owner_dbobj) {
+            c_list_for_each_entry (pr_ao_data, &pr_ao->data_lst_head, data_lst) {
+                if (pr_ao_data->nmobj)
+                    g_ptr_array_add(pr_ao->arr, g_object_ref(pr_ao_data->nmobj));
+            }
+        }
+    }
+    return pr_ao->arr;
 }
 
 gboolean
-nml_dbus_property_ao_is_ready (const NMLDBusPropertyAO *pr_ao)
+nml_dbus_property_ao_is_ready(const NMLDBusPropertyAO *pr_ao)
 {
-	return pr_ao->n_not_ready == 0;
+    return pr_ao->n_not_ready == 0;
 }
 
 static void
-nml_dbus_property_ao_notify_changed (NMLDBusPropertyAO *pr_ao,
-                                     NMClient *self)
-{
-	gboolean changed_prop = FALSE;
-	gboolean changed_ready = FALSE;
-	PropertyAOData *pr_ao_data;
-
-	nm_assert (NM_IS_CLIENT (self));
-	_ASSERT_pr_ao (pr_ao);
-
-	if (!pr_ao->owner_dbobj)
-		return;
-
-	if (!pr_ao->is_changed) {
-		if (pr_ao->n_not_ready == 0)
-			return;
-		goto done;
-	}
-
-	pr_ao->is_changed = FALSE;
-
-	while (pr_ao->changed_head) {
-		const NMLDBusPropertVTableAO *vtable;
-		GObject *nmobj = NULL;
-		gboolean is_ready = TRUE;
-		GType gtype;
-
-		pr_ao_data = g_steal_pointer (&pr_ao->changed_head);
-		nm_assert (pr_ao_data->is_changed);
-
-		pr_ao->changed_head = pr_ao_data->changed_next;
-		pr_ao_data->is_changed = FALSE;
-
-		if (!pr_ao_data->obj_watcher.dbobj->nmobj) {
-			if (pr_ao_data->obj_watcher.dbobj->obj_state >= NML_DBUS_OBJ_STATE_ON_DBUS) {
-				NML_NMCLIENT_LOG_W (self, "[%s]: property %s references %s but object is not created",
-				                    pr_ao->owner_dbobj->dbus_path->str,
-				                    pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].dbus_property_name,
-				                    pr_ao_data->obj_watcher.dbobj->dbus_path->str);
-			} else {
-				NML_NMCLIENT_LOG_E (self, "[%s]: property %s references %s but object is not present on D-Bus",
-				                    pr_ao->owner_dbobj->dbus_path->str,
-				                    pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].dbus_property_name,
-				                    pr_ao_data->obj_watcher.dbobj->dbus_path->str);
-			}
-			goto done_pr_ao_data;
-		}
-
-		vtable = pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].extra.property_vtable_ao;
-
-		gtype = vtable->get_o_type_fcn ();
-		if (!g_type_is_a (G_OBJECT_TYPE (pr_ao_data->obj_watcher.dbobj->nmobj), gtype)) {
-			NML_NMCLIENT_LOG_E (self, "[%s]: property %s references %s with unexpected GObject type %s instead of %s",
-			                    pr_ao->owner_dbobj->dbus_path->str,
-			                    pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].dbus_property_name,
-			                    pr_ao_data->obj_watcher.dbobj->dbus_path->str,
-			                    G_OBJECT_TYPE_NAME (pr_ao_data->obj_watcher.dbobj->nmobj),
-			                    g_type_name (gtype));
-			goto done_pr_ao_data;
-		}
-
-		if (pr_ao_data->obj_watcher.dbobj == pr_ao->owner_dbobj) {
-			NML_NMCLIENT_LOG_W (self, "[%s]: property %s references itself",
-			                    pr_ao->owner_dbobj->dbus_path->str,
-			                    pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].dbus_property_name);
-			nmobj = pr_ao->owner_dbobj->nmobj;
-			goto done_pr_ao_data;
-		}
-
-		pr_ao_data->block_is_changed = TRUE;
-		is_ready = _dbobjs_check_dbobj_ready (self, pr_ao_data->obj_watcher.dbobj);
-		pr_ao_data->block_is_changed = FALSE;
-
-		if (!is_ready) {
-			is_ready = vtable->is_always_ready;
-			goto done_pr_ao_data;
-		}
-
-		if (   vtable->check_nmobj_visible_fcn
-		    && !vtable->check_nmobj_visible_fcn (pr_ao_data->obj_watcher.dbobj->nmobj)) {
-			is_ready = TRUE;
-			goto done_pr_ao_data;
-		}
-
-		nmobj = pr_ao_data->obj_watcher.dbobj->nmobj;
+nml_dbus_property_ao_notify_changed(NMLDBusPropertyAO *pr_ao, NMClient *self)
+{
+    gboolean        changed_prop  = FALSE;
+    gboolean        changed_ready = FALSE;
+    PropertyAOData *pr_ao_data;
+
+    nm_assert(NM_IS_CLIENT(self));
+    _ASSERT_pr_ao(pr_ao);
+
+    if (!pr_ao->owner_dbobj)
+        return;
+
+    if (!pr_ao->is_changed) {
+        if (pr_ao->n_not_ready == 0)
+            return;
+        goto done;
+    }
+
+    pr_ao->is_changed = FALSE;
+
+    while (pr_ao->changed_head) {
+        const NMLDBusPropertVTableAO *vtable;
+        GObject *                     nmobj    = NULL;
+        gboolean                      is_ready = TRUE;
+        GType                         gtype;
+
+        pr_ao_data = g_steal_pointer(&pr_ao->changed_head);
+        nm_assert(pr_ao_data->is_changed);
+
+        pr_ao->changed_head    = pr_ao_data->changed_next;
+        pr_ao_data->is_changed = FALSE;
+
+        if (!pr_ao_data->obj_watcher.dbobj->nmobj) {
+            if (pr_ao_data->obj_watcher.dbobj->obj_state >= NML_DBUS_OBJ_STATE_ON_DBUS) {
+                NML_NMCLIENT_LOG_W(
+                    self,
+                    "[%s]: property %s references %s but object is not created",
+                    pr_ao->owner_dbobj->dbus_path->str,
+                    pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].dbus_property_name,
+                    pr_ao_data->obj_watcher.dbobj->dbus_path->str);
+            } else {
+                NML_NMCLIENT_LOG_E(
+                    self,
+                    "[%s]: property %s references %s but object is not present on D-Bus",
+                    pr_ao->owner_dbobj->dbus_path->str,
+                    pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].dbus_property_name,
+                    pr_ao_data->obj_watcher.dbobj->dbus_path->str);
+            }
+            goto done_pr_ao_data;
+        }
+
+        vtable =
+            pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].extra.property_vtable_ao;
+
+        gtype = vtable->get_o_type_fcn();
+        if (!g_type_is_a(G_OBJECT_TYPE(pr_ao_data->obj_watcher.dbobj->nmobj), gtype)) {
+            NML_NMCLIENT_LOG_E(
+                self,
+                "[%s]: property %s references %s with unexpected GObject type %s instead of %s",
+                pr_ao->owner_dbobj->dbus_path->str,
+                pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].dbus_property_name,
+                pr_ao_data->obj_watcher.dbobj->dbus_path->str,
+                G_OBJECT_TYPE_NAME(pr_ao_data->obj_watcher.dbobj->nmobj),
+                g_type_name(gtype));
+            goto done_pr_ao_data;
+        }
+
+        if (pr_ao_data->obj_watcher.dbobj == pr_ao->owner_dbobj) {
+            NML_NMCLIENT_LOG_W(
+                self,
+                "[%s]: property %s references itself",
+                pr_ao->owner_dbobj->dbus_path->str,
+                pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].dbus_property_name);
+            nmobj = pr_ao->owner_dbobj->nmobj;
+            goto done_pr_ao_data;
+        }
+
+        pr_ao_data->block_is_changed = TRUE;
+        is_ready = _dbobjs_check_dbobj_ready(self, pr_ao_data->obj_watcher.dbobj);
+        pr_ao_data->block_is_changed = FALSE;
+
+        if (!is_ready) {
+            is_ready = vtable->is_always_ready;
+            goto done_pr_ao_data;
+        }
+
+        if (vtable->check_nmobj_visible_fcn
+            && !vtable->check_nmobj_visible_fcn(pr_ao_data->obj_watcher.dbobj->nmobj)) {
+            is_ready = TRUE;
+            goto done_pr_ao_data;
+        }
+
+        nmobj = pr_ao_data->obj_watcher.dbobj->nmobj;
 
 done_pr_ao_data:
 
-		if (   !pr_ao_data->is_ready
-		    && is_ready) {
-			nm_assert (pr_ao->n_not_ready > 0);
-			pr_ao->n_not_ready--;
-			pr_ao_data->is_ready = TRUE;
-			changed_ready = TRUE;
-		}
+        if (!pr_ao_data->is_ready && is_ready) {
+            nm_assert(pr_ao->n_not_ready > 0);
+            pr_ao->n_not_ready--;
+            pr_ao_data->is_ready = TRUE;
+            changed_ready        = TRUE;
+        }
 
-		if (pr_ao_data->nmobj != nmobj) {
-			if (nml_dbus_property_ao_notify_changed_ao (pr_ao_data, self, FALSE))
-				changed_prop = TRUE;
-			pr_ao_data->nmobj = nmobj;
-		}
+        if (pr_ao_data->nmobj != nmobj) {
+            if (nml_dbus_property_ao_notify_changed_ao(pr_ao_data, self, FALSE))
+                changed_prop = TRUE;
+            pr_ao_data->nmobj = nmobj;
+        }
 
-		if (!pr_ao_data->is_notified) {
-			if (nml_dbus_property_ao_notify_changed_ao (pr_ao_data, self, TRUE))
-				changed_prop = TRUE;
-		}
-	}
+        if (!pr_ao_data->is_notified) {
+            if (nml_dbus_property_ao_notify_changed_ao(pr_ao_data, self, TRUE))
+                changed_prop = TRUE;
+        }
+    }
 
-	_ASSERT_pr_ao (pr_ao);
+    _ASSERT_pr_ao(pr_ao);
 
 done:
-	if (changed_prop) {
-		nm_clear_pointer (&pr_ao->arr, g_ptr_array_unref);
-		_nm_client_queue_notify_object (self,
-		                                pr_ao->owner_dbobj->nmobj,
-		                                pr_ao->meta_iface->obj_properties[pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].obj_properties_idx]);
-	}
-	if (   changed_ready
-	    && pr_ao->n_not_ready == 0
-	    && pr_ao->owner_dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY)
-		nml_dbus_object_obj_changed_link (self, pr_ao->owner_dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
+    if (changed_prop) {
+        nm_clear_pointer(&pr_ao->arr, g_ptr_array_unref);
+        _nm_client_queue_notify_object(
+            self,
+            pr_ao->owner_dbobj->nmobj,
+            pr_ao->meta_iface->obj_properties
+                [pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].obj_properties_idx]);
+    }
+    if (changed_ready && pr_ao->n_not_ready == 0
+        && pr_ao->owner_dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY)
+        nml_dbus_object_obj_changed_link(self, pr_ao->owner_dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
 }
 
 void
-nml_dbus_property_ao_notify_changed_many (NMLDBusPropertyAO *ptr,
-                                          guint len,
-                                          NMClient *self)
+nml_dbus_property_ao_notify_changed_many(NMLDBusPropertyAO *ptr, guint len, NMClient *self)
 {
-	while (len-- > 0)
-		nml_dbus_property_ao_notify_changed (ptr++, self);
+    while (len-- > 0)
+        nml_dbus_property_ao_notify_changed(ptr++, self);
 }
 
 static void
-nml_dbus_property_ao_notify_watch_cb (NMClient *self,
-                                      gpointer obj_watcher)
+nml_dbus_property_ao_notify_watch_cb(NMClient *self, gpointer obj_watcher)
 {
-	PropertyAOData *pr_ao_data = obj_watcher;
-	NMLDBusPropertyAO *pr_ao = pr_ao_data->parent;
+    PropertyAOData *   pr_ao_data = obj_watcher;
+    NMLDBusPropertyAO *pr_ao      = pr_ao_data->parent;
 
-	nm_assert (g_hash_table_lookup (pr_ao->hash, pr_ao_data) == pr_ao_data);
+    nm_assert(g_hash_table_lookup(pr_ao->hash, pr_ao_data) == pr_ao_data);
 
-	if (   !pr_ao_data->block_is_changed
-	    && !pr_ao_data->is_changed) {
-		pr_ao_data->is_changed = TRUE;
-		pr_ao_data->changed_next = pr_ao->changed_head;
-		pr_ao->changed_head = pr_ao_data;
-		if (!pr_ao->is_changed) {
-			pr_ao->is_changed = TRUE;
-			nml_dbus_object_obj_changed_link (self, pr_ao->owner_dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
-		}
-	}
+    if (!pr_ao_data->block_is_changed && !pr_ao_data->is_changed) {
+        pr_ao_data->is_changed   = TRUE;
+        pr_ao_data->changed_next = pr_ao->changed_head;
+        pr_ao->changed_head      = pr_ao_data;
+        if (!pr_ao->is_changed) {
+            pr_ao->is_changed = TRUE;
+            nml_dbus_object_obj_changed_link(self,
+                                             pr_ao->owner_dbobj,
+                                             NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
+        }
+    }
 
-	_ASSERT_pr_ao (pr_ao);
+    _ASSERT_pr_ao(pr_ao);
 }
 
 static NMLDBusNotifyUpdatePropFlags
-nml_dbus_property_ao_notify (NMClient *self,
-                             NMLDBusPropertyAO *pr_ao,
-                             NMLDBusObject *dbobj,
-                             const NMLDBusMetaIface *meta_iface,
-                             guint dbus_property_idx,
-                             GVariant *value)
-{
-	CList stale_lst_head = C_LIST_INIT (stale_lst_head);
-	PropertyAOData *pr_ao_data;
-	gboolean changed_prop = FALSE;
-	gboolean changed_obj = FALSE;
-
-	if (!pr_ao->owner_dbobj) {
-		nm_assert (!pr_ao->data_lst_head.next);
-		nm_assert (!pr_ao->data_lst_head.prev);
-		nm_assert (!pr_ao->hash);
-		nm_assert (!pr_ao->meta_iface);
-		nm_assert (pr_ao->dbus_property_idx == 0);
-		nm_assert (pr_ao->n_not_ready == 0);
-		nm_assert (!pr_ao->changed_head);
-		nm_assert (!pr_ao->is_changed);
-
-		c_list_init (&pr_ao->data_lst_head);
-		pr_ao->hash = g_hash_table_new (nm_ppdirect_hash, nm_ppdirect_equal);
-		pr_ao->owner_dbobj = dbobj;
-		pr_ao->meta_iface = meta_iface;
-		pr_ao->dbus_property_idx = dbus_property_idx;
-	} else {
-		nm_assert (pr_ao->data_lst_head.next);
-		nm_assert (pr_ao->data_lst_head.prev);
-		nm_assert (pr_ao->hash);
-		nm_assert (pr_ao->meta_iface == meta_iface);
-		nm_assert (pr_ao->dbus_property_idx == dbus_property_idx);
-	}
-
-	c_list_splice (&stale_lst_head, &pr_ao->data_lst_head);
-
-	if (value) {
-		GVariantIter iter;
-		const char *path;
-
-		g_variant_iter_init (&iter, value);
-		while (g_variant_iter_next (&iter, "&o", &path)) {
-			nm_auto_ref_string NMRefString *dbus_path_r = NULL;
-			gpointer p_dbus_path_1;
-
-			G_STATIC_ASSERT_EXPR (G_STRUCT_OFFSET (PropertyAOData, obj_watcher) == 0);
-			G_STATIC_ASSERT_EXPR (G_STRUCT_OFFSET (NMLDBusObjWatcher, dbobj) == 0);
-			G_STATIC_ASSERT_EXPR (G_STRUCT_OFFSET (NMLDBusObject, dbus_path) == 0);
-
-			if (!nm_dbus_path_not_empty (path)) {
-				/* should not happen. Anyway, silently skip empty paths. */
-				continue;
-			}
-
-			dbus_path_r = nm_ref_string_new (path);
-			p_dbus_path_1 = &dbus_path_r;
-			pr_ao_data = g_hash_table_lookup (pr_ao->hash, &p_dbus_path_1);
-
-			if (pr_ao_data) {
-				/* With this implementation we cannot track the same path multiple times.
-				 * Of course, for none of the properties where we use this, the server
-				 * should expose the same path more than once, so this limitation is fine
-				 * (maybe even preferable to drop duplicates form NMClient's API). */
-				nm_assert (pr_ao_data->obj_watcher.dbobj->dbus_path == dbus_path_r);
-				if (   !changed_prop
-				    && pr_ao_data->is_notified) {
-					/* The order of a notified entry changed. That means, we need to signal
-					 * a change of the property. This detection of a change is not always
-					 * correct, in particular we might detect some changes when there were
-					 * none. That's not a serious problem, and fixing it would be expensive
-					 * to implement. */
-					changed_prop = (c_list_first (&stale_lst_head) != &pr_ao_data->data_lst);
-				}
-				nm_c_list_move_tail (&pr_ao->data_lst_head, &pr_ao_data->data_lst);
-			} else {
-				pr_ao_data = _dbobjs_obj_watcher_register_r (self,
-				                                             g_steal_pointer (&dbus_path_r),
-				                                             nml_dbus_property_ao_notify_watch_cb,
-				                                             sizeof (PropertyAOData)),
-				pr_ao_data->parent = pr_ao;
-				pr_ao_data->nmobj = NULL;
-				pr_ao_data->changed_next = NULL;
-				pr_ao_data->is_changed = TRUE;
-				pr_ao_data->block_is_changed = FALSE;
-				pr_ao_data->is_ready = FALSE;
-				pr_ao_data->is_notified = FALSE;
-				c_list_link_tail (&pr_ao->data_lst_head, &pr_ao_data->data_lst);
-				if (!g_hash_table_add (pr_ao->hash, pr_ao_data))
-					nm_assert_not_reached ();
-				nm_assert (pr_ao->n_not_ready < G_MAXUINT);
-				pr_ao->n_not_ready++;
-			}
+nml_dbus_property_ao_notify(NMClient *              self,
+                            NMLDBusPropertyAO *     pr_ao,
+                            NMLDBusObject *         dbobj,
+                            const NMLDBusMetaIface *meta_iface,
+                            guint                   dbus_property_idx,
+                            GVariant *              value)
+{
+    CList           stale_lst_head = C_LIST_INIT(stale_lst_head);
+    PropertyAOData *pr_ao_data;
+    gboolean        changed_prop = FALSE;
+    gboolean        changed_obj  = FALSE;
+
+    if (!pr_ao->owner_dbobj) {
+        nm_assert(!pr_ao->data_lst_head.next);
+        nm_assert(!pr_ao->data_lst_head.prev);
+        nm_assert(!pr_ao->hash);
+        nm_assert(!pr_ao->meta_iface);
+        nm_assert(pr_ao->dbus_property_idx == 0);
+        nm_assert(pr_ao->n_not_ready == 0);
+        nm_assert(!pr_ao->changed_head);
+        nm_assert(!pr_ao->is_changed);
+
+        c_list_init(&pr_ao->data_lst_head);
+        pr_ao->hash              = g_hash_table_new(nm_ppdirect_hash, nm_ppdirect_equal);
+        pr_ao->owner_dbobj       = dbobj;
+        pr_ao->meta_iface        = meta_iface;
+        pr_ao->dbus_property_idx = dbus_property_idx;
+    } else {
+        nm_assert(pr_ao->data_lst_head.next);
+        nm_assert(pr_ao->data_lst_head.prev);
+        nm_assert(pr_ao->hash);
+        nm_assert(pr_ao->meta_iface == meta_iface);
+        nm_assert(pr_ao->dbus_property_idx == dbus_property_idx);
+    }
+
+    c_list_splice(&stale_lst_head, &pr_ao->data_lst_head);
+
+    if (value) {
+        GVariantIter iter;
+        const char * path;
+
+        g_variant_iter_init(&iter, value);
+        while (g_variant_iter_next(&iter, "&o", &path)) {
+            nm_auto_ref_string NMRefString *dbus_path_r = NULL;
+            gpointer                        p_dbus_path_1;
+
+            G_STATIC_ASSERT_EXPR(G_STRUCT_OFFSET(PropertyAOData, obj_watcher) == 0);
+            G_STATIC_ASSERT_EXPR(G_STRUCT_OFFSET(NMLDBusObjWatcher, dbobj) == 0);
+            G_STATIC_ASSERT_EXPR(G_STRUCT_OFFSET(NMLDBusObject, dbus_path) == 0);
+
+            if (!nm_dbus_path_not_empty(path)) {
+                /* should not happen. Anyway, silently skip empty paths. */
+                continue;
+            }
+
+            dbus_path_r   = nm_ref_string_new(path);
+            p_dbus_path_1 = &dbus_path_r;
+            pr_ao_data    = g_hash_table_lookup(pr_ao->hash, &p_dbus_path_1);
+
+            if (pr_ao_data) {
+                /* With this implementation we cannot track the same path multiple times.
+                 * Of course, for none of the properties where we use this, the server
+                 * should expose the same path more than once, so this limitation is fine
+                 * (maybe even preferable to drop duplicates form NMClient's API). */
+                nm_assert(pr_ao_data->obj_watcher.dbobj->dbus_path == dbus_path_r);
+                if (!changed_prop && pr_ao_data->is_notified) {
+                    /* The order of a notified entry changed. That means, we need to signal
+                     * a change of the property. This detection of a change is not always
+                     * correct, in particular we might detect some changes when there were
+                     * none. That's not a serious problem, and fixing it would be expensive
+                     * to implement. */
+                    changed_prop = (c_list_first(&stale_lst_head) != &pr_ao_data->data_lst);
+                }
+                nm_c_list_move_tail(&pr_ao->data_lst_head, &pr_ao_data->data_lst);
+            } else {
+                pr_ao_data                   = _dbobjs_obj_watcher_register_r(self,
+                                                            g_steal_pointer(&dbus_path_r),
+                                                            nml_dbus_property_ao_notify_watch_cb,
+                                                            sizeof(PropertyAOData)),
+                pr_ao_data->parent           = pr_ao;
+                pr_ao_data->nmobj            = NULL;
+                pr_ao_data->changed_next     = NULL;
+                pr_ao_data->is_changed       = TRUE;
+                pr_ao_data->block_is_changed = FALSE;
+                pr_ao_data->is_ready         = FALSE;
+                pr_ao_data->is_notified      = FALSE;
+                c_list_link_tail(&pr_ao->data_lst_head, &pr_ao_data->data_lst);
+                if (!g_hash_table_add(pr_ao->hash, pr_ao_data))
+                    nm_assert_not_reached();
+                nm_assert(pr_ao->n_not_ready < G_MAXUINT);
+                pr_ao->n_not_ready++;
+            }
 
 #if NM_MORE_ASSERTS > 10
-			{
-				nm_auto_ref_string NMRefString *p = nm_ref_string_new (path);
-				gpointer pp = &p;
+            {
+                nm_auto_ref_string NMRefString *p  = nm_ref_string_new(path);
+                gpointer                        pp = &p;
 
-				nm_assert (g_hash_table_lookup (pr_ao->hash, &pp) == pr_ao_data);
-			}
+                nm_assert(g_hash_table_lookup(pr_ao->hash, &pp) == pr_ao_data);
+            }
 #endif
-		}
-	}
-
-	pr_ao->changed_head = NULL;
-	c_list_for_each_entry (pr_ao_data, &pr_ao->data_lst_head, data_lst) {
-		if (pr_ao_data->is_changed) {
-			pr_ao_data->changed_next = pr_ao->changed_head;
-			pr_ao->changed_head = pr_ao_data;
-			changed_obj = TRUE;
-		}
-	}
-
-	while ((pr_ao_data = c_list_first_entry (&stale_lst_head, PropertyAOData, data_lst))) {
-		changed_obj = TRUE;
-		c_list_unlink (&pr_ao_data->data_lst);
-		if (!g_hash_table_remove (pr_ao->hash, pr_ao_data))
-			nm_assert_not_reached ();
-		if (!pr_ao_data->is_ready) {
-			nm_assert (pr_ao->n_not_ready > 0);
-			pr_ao->n_not_ready--;
-		} else {
-			if (nml_dbus_property_ao_notify_changed_ao (pr_ao_data, self, FALSE))
-				changed_prop = TRUE;
-		}
-		_dbobjs_obj_watcher_unregister (self, pr_ao_data);
-	}
-
-	_ASSERT_pr_ao (pr_ao);
-
-	if (changed_obj) {
-		pr_ao->is_changed = TRUE;
-		nml_dbus_object_obj_changed_link (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
-	}
-
-	if (changed_prop) {
-		nm_clear_pointer (&pr_ao->arr, g_ptr_array_unref);
-		_nm_client_queue_notify_object (self,
-		                                pr_ao->owner_dbobj->nmobj,
-		                                pr_ao->meta_iface->obj_properties[pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].obj_properties_idx]);
-	}
-
-	return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE;
+        }
+    }
+
+    pr_ao->changed_head = NULL;
+    c_list_for_each_entry (pr_ao_data, &pr_ao->data_lst_head, data_lst) {
+        if (pr_ao_data->is_changed) {
+            pr_ao_data->changed_next = pr_ao->changed_head;
+            pr_ao->changed_head      = pr_ao_data;
+            changed_obj              = TRUE;
+        }
+    }
+
+    while ((pr_ao_data = c_list_first_entry(&stale_lst_head, PropertyAOData, data_lst))) {
+        changed_obj = TRUE;
+        c_list_unlink(&pr_ao_data->data_lst);
+        if (!g_hash_table_remove(pr_ao->hash, pr_ao_data))
+            nm_assert_not_reached();
+        if (!pr_ao_data->is_ready) {
+            nm_assert(pr_ao->n_not_ready > 0);
+            pr_ao->n_not_ready--;
+        } else {
+            if (nml_dbus_property_ao_notify_changed_ao(pr_ao_data, self, FALSE))
+                changed_prop = TRUE;
+        }
+        _dbobjs_obj_watcher_unregister(self, pr_ao_data);
+    }
+
+    _ASSERT_pr_ao(pr_ao);
+
+    if (changed_obj) {
+        pr_ao->is_changed = TRUE;
+        nml_dbus_object_obj_changed_link(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
+    }
+
+    if (changed_prop) {
+        nm_clear_pointer(&pr_ao->arr, g_ptr_array_unref);
+        _nm_client_queue_notify_object(
+            self,
+            pr_ao->owner_dbobj->nmobj,
+            pr_ao->meta_iface->obj_properties
+                [pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].obj_properties_idx]);
+    }
+
+    return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE;
 }
 
 void
-nml_dbus_property_ao_clear (NMLDBusPropertyAO *pr_ao,
-                            NMClient *self)
-{
-	_ASSERT_pr_ao (pr_ao);
-
-	if (!pr_ao->owner_dbobj) {
-		nm_assert (pr_ao->n_not_ready == 0);
-		nm_assert (   (!pr_ao->data_lst_head.next && !pr_ao->data_lst_head.prev)
-		           || (pr_ao->data_lst_head.next == pr_ao->data_lst_head.prev));
-		nm_assert (!pr_ao->hash);
-		nm_assert (!pr_ao->meta_iface);
-		nm_assert (pr_ao->dbus_property_idx == 0);
-		nm_assert (!pr_ao->is_changed);
-	} else {
-		PropertyAOData *pr_ao_data;
-		gboolean changed_prop = FALSE;
-
-		nm_assert (NM_IS_CLIENT (self));
-		nm_assert (pr_ao->data_lst_head.next);
-		nm_assert (pr_ao->data_lst_head.prev);
-		nm_assert (pr_ao->hash);
-		nm_assert (pr_ao->meta_iface);
-
-		while ((pr_ao_data = c_list_first_entry (&pr_ao->data_lst_head, PropertyAOData, data_lst))) {
-			if (!pr_ao_data->is_ready) {
-				nm_assert (pr_ao->n_not_ready > 0);
-				pr_ao->n_not_ready--;
-			} else {
-				if (nml_dbus_property_ao_notify_changed_ao (pr_ao_data, self, FALSE))
-					changed_prop = TRUE;
-			}
-			c_list_unlink (&pr_ao_data->data_lst);
-			if (!g_hash_table_remove (pr_ao->hash, pr_ao_data))
-				nm_assert_not_reached ();
-			_dbobjs_obj_watcher_unregister (self, pr_ao_data);
-		}
-
-		nm_assert (c_list_is_empty (&pr_ao->data_lst_head));
-		nm_assert (pr_ao->n_not_ready == 0);
-		nm_assert (g_hash_table_size (pr_ao->hash) == 0);
-
-		if (   changed_prop
-		    && pr_ao->owner_dbobj->nmobj) {
-			_nm_client_queue_notify_object (self,
-			                                pr_ao->owner_dbobj->nmobj,
-			                                pr_ao->meta_iface->obj_properties[pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx].obj_properties_idx]);
-		}
-
-		nm_assert (c_list_is_empty (&pr_ao->data_lst_head));
-		nm_assert (pr_ao->n_not_ready == 0);
-		nm_assert (g_hash_table_size (pr_ao->hash) == 0);
-		nm_clear_pointer (&pr_ao->hash, g_hash_table_unref);
-		pr_ao->owner_dbobj = NULL;
-		pr_ao->meta_iface = NULL;
-		pr_ao->dbus_property_idx = 0;
-		pr_ao->data_lst_head.next = NULL;
-		pr_ao->data_lst_head.prev = NULL;
-		pr_ao->is_changed = FALSE;
-	}
-
-	nm_clear_pointer (&pr_ao->arr, g_ptr_array_unref);
+nml_dbus_property_ao_clear(NMLDBusPropertyAO *pr_ao, NMClient *self)
+{
+    _ASSERT_pr_ao(pr_ao);
+
+    if (!pr_ao->owner_dbobj) {
+        nm_assert(pr_ao->n_not_ready == 0);
+        nm_assert((!pr_ao->data_lst_head.next && !pr_ao->data_lst_head.prev)
+                  || (pr_ao->data_lst_head.next == pr_ao->data_lst_head.prev));
+        nm_assert(!pr_ao->hash);
+        nm_assert(!pr_ao->meta_iface);
+        nm_assert(pr_ao->dbus_property_idx == 0);
+        nm_assert(!pr_ao->is_changed);
+    } else {
+        PropertyAOData *pr_ao_data;
+        gboolean        changed_prop = FALSE;
+
+        nm_assert(NM_IS_CLIENT(self));
+        nm_assert(pr_ao->data_lst_head.next);
+        nm_assert(pr_ao->data_lst_head.prev);
+        nm_assert(pr_ao->hash);
+        nm_assert(pr_ao->meta_iface);
+
+        while ((pr_ao_data = c_list_first_entry(&pr_ao->data_lst_head, PropertyAOData, data_lst))) {
+            if (!pr_ao_data->is_ready) {
+                nm_assert(pr_ao->n_not_ready > 0);
+                pr_ao->n_not_ready--;
+            } else {
+                if (nml_dbus_property_ao_notify_changed_ao(pr_ao_data, self, FALSE))
+                    changed_prop = TRUE;
+            }
+            c_list_unlink(&pr_ao_data->data_lst);
+            if (!g_hash_table_remove(pr_ao->hash, pr_ao_data))
+                nm_assert_not_reached();
+            _dbobjs_obj_watcher_unregister(self, pr_ao_data);
+        }
+
+        nm_assert(c_list_is_empty(&pr_ao->data_lst_head));
+        nm_assert(pr_ao->n_not_ready == 0);
+        nm_assert(g_hash_table_size(pr_ao->hash) == 0);
+
+        if (changed_prop && pr_ao->owner_dbobj->nmobj) {
+            _nm_client_queue_notify_object(
+                self,
+                pr_ao->owner_dbobj->nmobj,
+                pr_ao->meta_iface
+                    ->obj_properties[pr_ao->meta_iface->dbus_properties[pr_ao->dbus_property_idx]
+                                         .obj_properties_idx]);
+        }
+
+        nm_assert(c_list_is_empty(&pr_ao->data_lst_head));
+        nm_assert(pr_ao->n_not_ready == 0);
+        nm_assert(g_hash_table_size(pr_ao->hash) == 0);
+        nm_clear_pointer(&pr_ao->hash, g_hash_table_unref);
+        pr_ao->owner_dbobj        = NULL;
+        pr_ao->meta_iface         = NULL;
+        pr_ao->dbus_property_idx  = 0;
+        pr_ao->data_lst_head.next = NULL;
+        pr_ao->data_lst_head.prev = NULL;
+        pr_ao->is_changed         = FALSE;
+    }
+
+    nm_clear_pointer(&pr_ao->arr, g_ptr_array_unref);
 }
 
 void
-nml_dbus_property_ao_clear_many (NMLDBusPropertyAO *pr_ao,
-                                 guint len,
-                                 NMClient *self)
+nml_dbus_property_ao_clear_many(NMLDBusPropertyAO *pr_ao, guint len, NMClient *self)
 {
-	while (len-- > 0)
-		nml_dbus_property_ao_clear (pr_ao++, self);
+    while (len-- > 0)
+        nml_dbus_property_ao_clear(pr_ao++, self);
 }
 
 /*****************************************************************************/
 
 NMLDBusNotifyUpdatePropFlags
-_nml_dbus_notify_update_prop_ignore (NMClient *self,
-                                     NMLDBusObject *dbobj,
-                                     const NMLDBusMetaIface *meta_iface,
-                                     guint dbus_property_idx,
-                                     GVariant *value)
+_nml_dbus_notify_update_prop_ignore(NMClient *              self,
+                                    NMLDBusObject *         dbobj,
+                                    const NMLDBusMetaIface *meta_iface,
+                                    guint                   dbus_property_idx,
+                                    GVariant *              value)
 {
-	return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE;
+    return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE;
 }
 
 NMLDBusNotifyUpdatePropFlags
-_nml_dbus_notify_update_prop_o (NMClient *self,
-                                NMLDBusObject *dbobj,
-                                const NMLDBusMetaIface *meta_iface,
-                                guint dbus_property_idx,
-                                GVariant *value)
+_nml_dbus_notify_update_prop_o(NMClient *              self,
+                               NMLDBusObject *         dbobj,
+                               const NMLDBusMetaIface *meta_iface,
+                               guint                   dbus_property_idx,
+                               GVariant *              value)
 {
-	const char *path = NULL;
-	NMRefString **p_property;
+    const char *  path = NULL;
+    NMRefString **p_property;
 
-	if (value)
-		path = g_variant_get_string (value, NULL);
+    if (value)
+        path = g_variant_get_string(value, NULL);
 
-	p_property = nml_dbus_object_get_property_location (dbobj,
-	                                                    meta_iface,
-	                                                    &meta_iface->dbus_properties[dbus_property_idx]);
+    p_property =
+        nml_dbus_object_get_property_location(dbobj,
+                                              meta_iface,
+                                              &meta_iface->dbus_properties[dbus_property_idx]);
 
-	if (!nm_streq0 (nm_ref_string_get_str (*p_property), path)) {
-		nm_ref_string_unref (*p_property);
-		*p_property = nm_ref_string_new (path);
-	}
-	return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY;
+    if (!nm_streq0(nm_ref_string_get_str(*p_property), path)) {
+        nm_ref_string_unref(*p_property);
+        *p_property = nm_ref_string_new(path);
+    }
+    return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY;
 }
 
 /*****************************************************************************/
 
 static void
-_obj_handle_dbus_prop_changes (NMClient *self,
-                               NMLDBusObject *dbobj,
-                               NMLDBusObjIfaceData *db_iface_data,
-                               guint dbus_property_idx,
-                               GVariant *value)
-{
-	const NMLDBusMetaIface *meta_iface = db_iface_data->dbus_iface.meta;
-	const NMLDBusMetaProperty *meta_property = &meta_iface->dbus_properties[dbus_property_idx];
-	gpointer p_property;
-	const char *dbus_type_s;
-	const GParamSpec *param_spec;
-	NMLDBusNotifyUpdatePropFlags notify_update_prop_flags;
-
-	nm_assert (G_IS_OBJECT (dbobj->nmobj));
-
-	if (   value
-	    && !g_variant_is_of_type (value, meta_property->dbus_type)) {
-		NML_NMCLIENT_LOG_E (self, "[%s] property %s.%s expected of type \"%s\" but is \"%s\". Ignore",
-		                    dbobj->dbus_path->str,
-		                    meta_iface->dbus_iface_name,
-		                    meta_property->dbus_property_name,
-		                    (const char *) meta_property->dbus_type,
-		                    (const char *) g_variant_get_type (value));
-		value = NULL;
-	}
-
-	if (meta_property->use_notify_update_prop) {
-		notify_update_prop_flags = meta_property->notify_update_prop (self,
-		                                                              dbobj,
-		                                                              meta_iface,
-		                                                              dbus_property_idx,
-		                                                              value);
-		if (notify_update_prop_flags == NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE)
-			return;
-
-		nm_assert (notify_update_prop_flags == NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY);
-		nm_assert (G_IS_OBJECT (dbobj->nmobj));
-		nm_assert (meta_iface->obj_properties);
-		nm_assert (meta_property->obj_properties_idx > 0);
-		param_spec = meta_iface->obj_properties[meta_property->obj_properties_idx];
-		goto notify;
-	}
-
-	p_property = nml_dbus_object_get_property_location (dbobj, meta_iface, meta_property);
-
-	dbus_type_s = (const char *) meta_property->dbus_type;
-
-	nm_assert (G_IS_OBJECT (dbobj->nmobj));
-	nm_assert (meta_iface->obj_properties);
-	nm_assert (meta_property->obj_properties_idx > 0);
-	param_spec = meta_iface->obj_properties[meta_property->obj_properties_idx];
-
-	notify_update_prop_flags = NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY;
-
-	switch (dbus_type_s[0]) {
-	case 'b':
-		nm_assert (dbus_type_s[1] == '\0');
-		if (value)
-			*((bool *) p_property) = g_variant_get_boolean (value);
-		else if (param_spec->value_type == G_TYPE_BOOLEAN)
-			*((bool *) p_property) = ((GParamSpecBoolean *) param_spec)->default_value;
-		else {
-			nm_assert_not_reached ();
-			*((bool *) p_property) = FALSE;
-		}
-		break;
-	case 'y':
-		nm_assert (dbus_type_s[1] == '\0');
-		if (value)
-			*((guint8 *) p_property) = g_variant_get_byte (value);
-		else {
-			nm_assert (nm_utils_g_param_spec_is_default (param_spec));
-			*((guint8 *) p_property) = 0;
-		}
-		break;
-	case 'q':
-		nm_assert (dbus_type_s[1] == '\0');
-		if (value)
-			*((guint16 *) p_property) = g_variant_get_uint16 (value);
-		else {
-			nm_assert (nm_utils_g_param_spec_is_default (param_spec));
-			*((guint16 *) p_property) = 0;
-		}
-		break;
-	case 'i':
-		nm_assert (dbus_type_s[1] == '\0');
-		if (value)
-			*((gint32 *) p_property) = g_variant_get_int32 (value);
-		else if (param_spec->value_type == G_TYPE_INT)
-			*((gint32 *) p_property) = ((GParamSpecInt *) param_spec)->default_value;
-		else {
-			nm_assert (nm_utils_g_param_spec_is_default (param_spec));
-			*((gint32 *) p_property) = 0;
-		}
-		break;
-	case 'u':
-		nm_assert (dbus_type_s[1] == '\0');
-		if (value)
-			*((guint32 *) p_property) = g_variant_get_uint32 (value);
-		else {
-			nm_assert (nm_utils_g_param_spec_is_default (param_spec));
-			*((guint32 *) p_property) = 0;
-		}
-		break;
-	case 'x':
-		nm_assert (dbus_type_s[1] == '\0');
-		if (value)
-			*((gint64 *) p_property) = g_variant_get_int64 (value);
-		else if (param_spec->value_type == G_TYPE_INT64)
-			*((gint64 *) p_property) = ((GParamSpecInt64 *) param_spec)->default_value;
-		else {
-			nm_assert (nm_utils_g_param_spec_is_default (param_spec));
-			*((gint64 *) p_property) = 0;
-		}
-		break;
-	case 't':
-		nm_assert (dbus_type_s[1] == '\0');
-		if (value)
-			*((guint64 *) p_property) = g_variant_get_uint64 (value);
-		else {
-			nm_assert (nm_utils_g_param_spec_is_default (param_spec));
-			*((guint64 *) p_property) = 0;
-		}
-		break;
-	case 's':
-		nm_assert (dbus_type_s[1] == '\0');
-		nm_clear_g_free ((char **) p_property);
-		if (value)
-			*((char **) p_property) = g_variant_dup_string (value, NULL);
-		else {
-			nm_assert (nm_utils_g_param_spec_is_default (param_spec));
-			*((char **) p_property) = NULL;
-		}
-		break;
-	case 'o':
-		nm_assert (dbus_type_s[1] == '\0');
-		notify_update_prop_flags = nml_dbus_property_o_notify (self,
-		                                                       p_property,
-		                                                       dbobj,
-		                                                       meta_iface,
-		                                                       dbus_property_idx,
-		                                                       value);
-		break;
-	case 'a':
-		switch (dbus_type_s[1]) {
-		case 'y':
-			nm_assert (dbus_type_s[2] == '\0');
-			{
-				gconstpointer v;
-				gsize l;
-				GBytes *b = NULL;
-
-				if (value) {
-					v = g_variant_get_fixed_array (value, &l, 1);
-
-					if (l > 0) {
-						/* empty arrays are coerced to NULL. */
-						b = g_bytes_new (v, l);
-					}
-				}
-
-				nm_clear_pointer ((GBytes **) p_property, g_bytes_unref);
-				*((GBytes **) p_property) = b;
-			}
-			break;
-		case 's':
-			nm_assert (dbus_type_s[2] == '\0');
-			nm_assert (param_spec->value_type == G_TYPE_STRV);
-
-			g_strfreev (*((char ***) p_property));
-			if (value)
-				*((char ***) p_property) = g_variant_dup_strv (value, NULL);
-			else
-				*((char ***) p_property) = NULL;
-			break;
-		case 'o':
-			nm_assert (dbus_type_s[2] == '\0');
-			notify_update_prop_flags = nml_dbus_property_ao_notify (self,
-			                                                        p_property,
-			                                                        dbobj,
-			                                                        meta_iface,
-			                                                        dbus_property_idx,
-			                                                        value);
-			break;
-		default:
-			nm_assert_not_reached ();
-		}
-		break;
-	default:
-		nm_assert_not_reached ();
-	}
+_obj_handle_dbus_prop_changes(NMClient *           self,
+                              NMLDBusObject *      dbobj,
+                              NMLDBusObjIfaceData *db_iface_data,
+                              guint                dbus_property_idx,
+                              GVariant *           value)
+{
+    const NMLDBusMetaIface *     meta_iface    = db_iface_data->dbus_iface.meta;
+    const NMLDBusMetaProperty *  meta_property = &meta_iface->dbus_properties[dbus_property_idx];
+    gpointer                     p_property;
+    const char *                 dbus_type_s;
+    const GParamSpec *           param_spec;
+    NMLDBusNotifyUpdatePropFlags notify_update_prop_flags;
+
+    nm_assert(G_IS_OBJECT(dbobj->nmobj));
+
+    if (value && !g_variant_is_of_type(value, meta_property->dbus_type)) {
+        NML_NMCLIENT_LOG_E(self,
+                           "[%s] property %s.%s expected of type \"%s\" but is \"%s\". Ignore",
+                           dbobj->dbus_path->str,
+                           meta_iface->dbus_iface_name,
+                           meta_property->dbus_property_name,
+                           (const char *) meta_property->dbus_type,
+                           (const char *) g_variant_get_type(value));
+        value = NULL;
+    }
+
+    if (meta_property->use_notify_update_prop) {
+        notify_update_prop_flags =
+            meta_property->notify_update_prop(self, dbobj, meta_iface, dbus_property_idx, value);
+        if (notify_update_prop_flags == NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NONE)
+            return;
+
+        nm_assert(notify_update_prop_flags == NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY);
+        nm_assert(G_IS_OBJECT(dbobj->nmobj));
+        nm_assert(meta_iface->obj_properties);
+        nm_assert(meta_property->obj_properties_idx > 0);
+        param_spec = meta_iface->obj_properties[meta_property->obj_properties_idx];
+        goto notify;
+    }
+
+    p_property = nml_dbus_object_get_property_location(dbobj, meta_iface, meta_property);
+
+    dbus_type_s = (const char *) meta_property->dbus_type;
+
+    nm_assert(G_IS_OBJECT(dbobj->nmobj));
+    nm_assert(meta_iface->obj_properties);
+    nm_assert(meta_property->obj_properties_idx > 0);
+    param_spec = meta_iface->obj_properties[meta_property->obj_properties_idx];
+
+    notify_update_prop_flags = NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY;
+
+    switch (dbus_type_s[0]) {
+    case 'b':
+        nm_assert(dbus_type_s[1] == '\0');
+        if (value)
+            *((bool *) p_property) = g_variant_get_boolean(value);
+        else if (param_spec->value_type == G_TYPE_BOOLEAN)
+            *((bool *) p_property) = ((GParamSpecBoolean *) param_spec)->default_value;
+        else {
+            nm_assert_not_reached();
+            *((bool *) p_property) = FALSE;
+        }
+        break;
+    case 'y':
+        nm_assert(dbus_type_s[1] == '\0');
+        if (value)
+            *((guint8 *) p_property) = g_variant_get_byte(value);
+        else {
+            nm_assert(nm_utils_g_param_spec_is_default(param_spec));
+            *((guint8 *) p_property) = 0;
+        }
+        break;
+    case 'q':
+        nm_assert(dbus_type_s[1] == '\0');
+        if (value)
+            *((guint16 *) p_property) = g_variant_get_uint16(value);
+        else {
+            nm_assert(nm_utils_g_param_spec_is_default(param_spec));
+            *((guint16 *) p_property) = 0;
+        }
+        break;
+    case 'i':
+        nm_assert(dbus_type_s[1] == '\0');
+        if (value)
+            *((gint32 *) p_property) = g_variant_get_int32(value);
+        else if (param_spec->value_type == G_TYPE_INT)
+            *((gint32 *) p_property) = ((GParamSpecInt *) param_spec)->default_value;
+        else {
+            nm_assert(nm_utils_g_param_spec_is_default(param_spec));
+            *((gint32 *) p_property) = 0;
+        }
+        break;
+    case 'u':
+        nm_assert(dbus_type_s[1] == '\0');
+        if (value)
+            *((guint32 *) p_property) = g_variant_get_uint32(value);
+        else {
+            nm_assert(nm_utils_g_param_spec_is_default(param_spec));
+            *((guint32 *) p_property) = 0;
+        }
+        break;
+    case 'x':
+        nm_assert(dbus_type_s[1] == '\0');
+        if (value)
+            *((gint64 *) p_property) = g_variant_get_int64(value);
+        else if (param_spec->value_type == G_TYPE_INT64)
+            *((gint64 *) p_property) = ((GParamSpecInt64 *) param_spec)->default_value;
+        else {
+            nm_assert(nm_utils_g_param_spec_is_default(param_spec));
+            *((gint64 *) p_property) = 0;
+        }
+        break;
+    case 't':
+        nm_assert(dbus_type_s[1] == '\0');
+        if (value)
+            *((guint64 *) p_property) = g_variant_get_uint64(value);
+        else {
+            nm_assert(nm_utils_g_param_spec_is_default(param_spec));
+            *((guint64 *) p_property) = 0;
+        }
+        break;
+    case 's':
+        nm_assert(dbus_type_s[1] == '\0');
+        nm_clear_g_free((char **) p_property);
+        if (value)
+            *((char **) p_property) = g_variant_dup_string(value, NULL);
+        else {
+            nm_assert(nm_utils_g_param_spec_is_default(param_spec));
+            *((char **) p_property) = NULL;
+        }
+        break;
+    case 'o':
+        nm_assert(dbus_type_s[1] == '\0');
+        notify_update_prop_flags = nml_dbus_property_o_notify(self,
+                                                              p_property,
+                                                              dbobj,
+                                                              meta_iface,
+                                                              dbus_property_idx,
+                                                              value);
+        break;
+    case 'a':
+        switch (dbus_type_s[1]) {
+        case 'y':
+            nm_assert(dbus_type_s[2] == '\0');
+            {
+                gconstpointer v;
+                gsize         l;
+                GBytes *      b = NULL;
+
+                if (value) {
+                    v = g_variant_get_fixed_array(value, &l, 1);
+
+                    if (l > 0) {
+                        /* empty arrays are coerced to NULL. */
+                        b = g_bytes_new(v, l);
+                    }
+                }
+
+                nm_clear_pointer((GBytes **) p_property, g_bytes_unref);
+                *((GBytes **) p_property) = b;
+            }
+            break;
+        case 's':
+            nm_assert(dbus_type_s[2] == '\0');
+            nm_assert(param_spec->value_type == G_TYPE_STRV);
+
+            g_strfreev(*((char ***) p_property));
+            if (value)
+                *((char ***) p_property) = g_variant_dup_strv(value, NULL);
+            else
+                *((char ***) p_property) = NULL;
+            break;
+        case 'o':
+            nm_assert(dbus_type_s[2] == '\0');
+            notify_update_prop_flags = nml_dbus_property_ao_notify(self,
+                                                                   p_property,
+                                                                   dbobj,
+                                                                   meta_iface,
+                                                                   dbus_property_idx,
+                                                                   value);
+            break;
+        default:
+            nm_assert_not_reached();
+        }
+        break;
+    default:
+        nm_assert_not_reached();
+    }
 
 notify:
-	if (NM_FLAGS_HAS (notify_update_prop_flags, NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY))
-		g_object_notify_by_pspec (dbobj->nmobj, (GParamSpec *) param_spec);
+    if (NM_FLAGS_HAS(notify_update_prop_flags, NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY))
+        g_object_notify_by_pspec(dbobj->nmobj, (GParamSpec *) param_spec);
 }
 
 static void
-_obj_handle_dbus_iface_changes (NMClient *self,
-                                NMLDBusObject *dbobj,
-                                NMLDBusObjIfaceData *db_iface_data)
-{
-	NMLDBusObjPropData *db_prop_data;
-	gboolean is_self = (G_OBJECT (self) == dbobj->nmobj);
-	gboolean is_removed;
-	gboolean type_compatible;
-	guint8 i_prop;
-
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (is_self || NM_IS_OBJECT (dbobj->nmobj));
-
-	if (G_UNLIKELY (!db_iface_data->nmobj_checked)) {
-		db_iface_data->nmobj_checked = TRUE;
-		type_compatible =    db_iface_data->dbus_iface.meta->get_type_fcn
-		                  && g_type_is_a (G_OBJECT_TYPE (dbobj->nmobj), db_iface_data->dbus_iface.meta->get_type_fcn ());
-		db_iface_data->nmobj_compatible = type_compatible;
-	} else
-		type_compatible = db_iface_data->nmobj_compatible;
-
-	if (!type_compatible) {
-		/* on D-Bus, we have this interface associate with the object, but apparently
-		 * it is not compatible. This is either a bug, or NetworkManager exposed an
-		 * unexpected interface on D-Bus object for which we create a certain NMObject
-		 * type. */
-		return;
-	}
-
-	is_removed = c_list_is_empty (&db_iface_data->iface_lst);
-
-	nm_assert (   is_removed
-	           || !c_list_is_empty (&db_iface_data->changed_prop_lst_head));
-
-	_nm_client_queue_notify_object (self, dbobj->nmobj, NULL);
-
-	if (is_removed) {
-		for (i_prop = 0; i_prop < db_iface_data->dbus_iface.meta->n_dbus_properties; i_prop++) {
-			_obj_handle_dbus_prop_changes (self,
-			                               dbobj,
-			                               db_iface_data,
-			                               i_prop,
-			                               NULL);
-		}
-	} else {
-		while ((db_prop_data = c_list_first_entry (&db_iface_data->changed_prop_lst_head, NMLDBusObjPropData, changed_prop_lst))) {
-			gs_unref_variant GVariant *prop_data_value = NULL;
-
-			c_list_unlink (&db_prop_data->changed_prop_lst);
-
-			nm_assert (db_prop_data >= db_iface_data->prop_datas);
-			nm_assert (db_prop_data < &db_iface_data->prop_datas[db_iface_data->dbus_iface.meta->n_dbus_properties]);
-			nm_assert (db_prop_data->prop_data_value);
-
-			/* Currently NMLDBusObject forgets about the variant. Theoretically, it could cache
-			 * it, but there is no need because we update the property in nmobj (which extracts and
-			 * keeps the property value itself).
-			 *
-			 * Note that we only consume the variant here when we process it.
-			 * That implies that we already created a NMObject for the dbobj
-			 * instance. Unless that happens, we cache the last seen property values. */
-			prop_data_value = g_steal_pointer (&db_prop_data->prop_data_value);
-
-			i_prop = (db_prop_data - &db_iface_data->prop_datas[0]);
-			_obj_handle_dbus_prop_changes (self,
-			                               dbobj,
-			                               db_iface_data,
-			                               i_prop,
-			                               prop_data_value);
-		}
-	}
+_obj_handle_dbus_iface_changes(NMClient *           self,
+                               NMLDBusObject *      dbobj,
+                               NMLDBusObjIfaceData *db_iface_data)
+{
+    NMLDBusObjPropData *db_prop_data;
+    gboolean            is_self = (G_OBJECT(self) == dbobj->nmobj);
+    gboolean            is_removed;
+    gboolean            type_compatible;
+    guint8              i_prop;
+
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(is_self || NM_IS_OBJECT(dbobj->nmobj));
+
+    if (G_UNLIKELY(!db_iface_data->nmobj_checked)) {
+        db_iface_data->nmobj_checked = TRUE;
+        type_compatible              = db_iface_data->dbus_iface.meta->get_type_fcn
+                          && g_type_is_a(G_OBJECT_TYPE(dbobj->nmobj),
+                                         db_iface_data->dbus_iface.meta->get_type_fcn());
+        db_iface_data->nmobj_compatible = type_compatible;
+    } else
+        type_compatible = db_iface_data->nmobj_compatible;
+
+    if (!type_compatible) {
+        /* on D-Bus, we have this interface associate with the object, but apparently
+         * it is not compatible. This is either a bug, or NetworkManager exposed an
+         * unexpected interface on D-Bus object for which we create a certain NMObject
+         * type. */
+        return;
+    }
+
+    is_removed = c_list_is_empty(&db_iface_data->iface_lst);
+
+    nm_assert(is_removed || !c_list_is_empty(&db_iface_data->changed_prop_lst_head));
+
+    _nm_client_queue_notify_object(self, dbobj->nmobj, NULL);
+
+    if (is_removed) {
+        for (i_prop = 0; i_prop < db_iface_data->dbus_iface.meta->n_dbus_properties; i_prop++) {
+            _obj_handle_dbus_prop_changes(self, dbobj, db_iface_data, i_prop, NULL);
+        }
+    } else {
+        while ((db_prop_data = c_list_first_entry(&db_iface_data->changed_prop_lst_head,
+                                                  NMLDBusObjPropData,
+                                                  changed_prop_lst))) {
+            gs_unref_variant GVariant *prop_data_value = NULL;
+
+            c_list_unlink(&db_prop_data->changed_prop_lst);
+
+            nm_assert(db_prop_data >= db_iface_data->prop_datas);
+            nm_assert(
+                db_prop_data
+                < &db_iface_data->prop_datas[db_iface_data->dbus_iface.meta->n_dbus_properties]);
+            nm_assert(db_prop_data->prop_data_value);
+
+            /* Currently, NMLDBusObject forgets about the variant. Theoretically, it could cache
+             * it, but there is no need because we update the property in nmobj (which extracts and
+             * keeps the property value itself).
+             *
+             * Note that we only consume the variant here when we process it.
+             * That implies that we already created a NMObject for the dbobj
+             * instance. Unless that happens, we cache the last seen property values. */
+            prop_data_value = g_steal_pointer(&db_prop_data->prop_data_value);
+
+            i_prop = (db_prop_data - &db_iface_data->prop_datas[0]);
+            _obj_handle_dbus_prop_changes(self, dbobj, db_iface_data, i_prop, prop_data_value);
+        }
+    }
 }
 
 static void
-_obj_handle_dbus_changes (NMClient *self,
-                          NMLDBusObject *dbobj)
-{
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	NMLDBusObjIfaceData *db_iface_data;
-	NMLDBusObjIfaceData *db_iface_data_safe;
-	gs_unref_object GObject *nmobj_unregistering = NULL;
-
-	_ASSERT_dbobj (dbobj, self);
-
-	/* In a first step we only remember all the changes that that a D-Bus message brings
-	 * and queue the object to process them.
-	 *
-	 * Here (in step 2) we look at what changed on D-Bus and propagate those changes
-	 * to the NMObject instance.
-	 *
-	 * Note that here we still must not emit any GObject signals. That follows later,
-	 * and again if the object changes, we will just queue that we handle the changes
-	 * later. */
-
-	c_list_for_each_entry_safe (db_iface_data, db_iface_data_safe, &dbobj->iface_lst_head, iface_lst) {
-		if (!db_iface_data->iface_removed)
-			continue;
-		c_list_unlink (&db_iface_data->iface_lst);
-		if (   db_iface_data->dbus_iface_is_wellknown
-		    && dbobj->nmobj)
-			_obj_handle_dbus_iface_changes (self, dbobj, db_iface_data);
-		nml_dbus_obj_iface_data_destroy (db_iface_data);
-	}
-
-	if (   G_UNLIKELY (!dbobj->nmobj)
-	    && !c_list_is_empty (&dbobj->iface_lst_head)) {
-
-		/* Try to create a NMObject for this D-Bus object. Note that we detect the type
-		 * based on the interfaces that it has, and if we make a choice once, we don't
-		 * change. That means, one D-Bus object can only be of one type. */
-
-		if (NM_IN_SET (dbobj->dbus_path, _dbus_path_nm,
-		                                 _dbus_path_settings,
-		                                 _dbus_path_dns_manager)) {
-			/* For the main types, we don't detect them based on the interfaces present,
-			 * but on the path names. Of course, both should correspond anyway. */
-			NML_NMCLIENT_LOG_T (self, "[%s]: register NMClient for D-Bus object",
-			                    dbobj->dbus_path->str);
-			dbobj->nmobj = G_OBJECT (self);
-			if (dbobj->dbus_path == _dbus_path_nm) {
-				nm_assert (!priv->dbobj_nm);
-				priv->dbobj_nm = dbobj;
-			} else if (dbobj->dbus_path == _dbus_path_settings) {
-				nm_assert (!priv->dbobj_settings);
-				priv->dbobj_settings = dbobj;
-			} else {
-				nm_assert (dbobj->dbus_path == _dbus_path_dns_manager);
-				nm_assert (!priv->dbobj_dns_manager);
-				priv->dbobj_dns_manager = dbobj;
-			}
-			nml_dbus_object_set_obj_state (dbobj, NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY, self);
-		} else {
-			GType gtype = G_TYPE_NONE;
-			NMLDBusMetaInteracePrio curr_prio = NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_LOW - 1;
-
-			c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
-				nm_assert (!db_iface_data->iface_removed);
-				if (!db_iface_data->dbus_iface_is_wellknown)
-					break;
-				if (db_iface_data->dbus_iface.meta->interface_prio <= curr_prio)
-					continue;
-				curr_prio = db_iface_data->dbus_iface.meta->interface_prio;
-				gtype = db_iface_data->dbus_iface.meta->get_type_fcn ();
-			}
-			if (gtype != G_TYPE_NONE) {
-				dbobj->nmobj = g_object_new (gtype, NULL);
-
-				NML_NMCLIENT_LOG_T (self, "[%s]: register new NMObject "NM_HASH_OBFUSCATE_PTR_FMT" of type %s",
-				                    dbobj->dbus_path->str,
-				                    NM_HASH_OBFUSCATE_PTR (dbobj->nmobj),
-				                    g_type_name (gtype));
-
-				nm_assert (NM_IS_OBJECT (dbobj->nmobj));
-				NM_OBJECT_GET_CLASS (dbobj->nmobj)->register_client (NM_OBJECT (dbobj->nmobj), self, dbobj);
-				nml_dbus_object_set_obj_state (dbobj, NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY, self);
-			}
-		}
-	}
-
-	c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
-		nm_assert (!db_iface_data->iface_removed);
-		if (!db_iface_data->dbus_iface_is_wellknown)
-			break;
-		if (c_list_is_empty (&db_iface_data->changed_prop_lst_head))
-			continue;
-		if (dbobj->nmobj)
-			_obj_handle_dbus_iface_changes (self, dbobj, db_iface_data);
-	}
-
-	if (   c_list_is_empty (&dbobj->iface_lst_head)
-	    && dbobj->nmobj) {
-
-		if (dbobj->nmobj == G_OBJECT (self)) {
-			dbobj->nmobj = NULL;
-			NML_NMCLIENT_LOG_T (self, "[%s]: unregister NMClient from D-Bus object",
-			                    dbobj->dbus_path->str);
-			if (dbobj->dbus_path == _dbus_path_nm) {
-				nm_assert (priv->dbobj_nm == dbobj);
-				priv->dbobj_nm = NULL;
-				nml_dbus_property_o_clear_many (priv->nm.property_o, G_N_ELEMENTS (priv->nm.property_o), self);
-				nml_dbus_property_ao_clear_many (priv->nm.property_ao, G_N_ELEMENTS (priv->nm.property_ao), self);
-			} else if (dbobj->dbus_path == _dbus_path_settings) {
-				nm_assert (priv->dbobj_settings == dbobj);
-				priv->dbobj_settings = NULL;
-				nml_dbus_property_ao_clear (&priv->settings.connections, self);
-			} else {
-				nm_assert (dbobj->dbus_path == _dbus_path_dns_manager);
-				nm_assert (priv->dbobj_dns_manager == dbobj);
-				priv->dbobj_dns_manager = NULL;
-			}
-		} else {
-			nmobj_unregistering = g_steal_pointer (&dbobj->nmobj);
-			nml_dbus_object_set_obj_state (dbobj, NML_DBUS_OBJ_STATE_WATCHED_ONLY, self);
-			NML_NMCLIENT_LOG_T (self, "[%s]: unregister NMObject "NM_HASH_OBFUSCATE_PTR_FMT" of type %s",
-			                    dbobj->dbus_path->str,
-			                    NM_HASH_OBFUSCATE_PTR (nmobj_unregistering),
-			                    g_type_name (G_OBJECT_TYPE (nmobj_unregistering)));
-			NM_OBJECT_GET_CLASS (nmobj_unregistering)->unregister_client (NM_OBJECT (nmobj_unregistering), self, dbobj);
-		}
-	}
-
-	nml_dbus_object_obj_changed_link (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
+_obj_handle_dbus_changes(NMClient *self, NMLDBusObject *dbobj)
+{
+    NMClientPrivate *    priv = NM_CLIENT_GET_PRIVATE(self);
+    NMLDBusObjIfaceData *db_iface_data;
+    NMLDBusObjIfaceData *db_iface_data_safe;
+    gs_unref_object GObject *nmobj_unregistering = NULL;
+
+    _ASSERT_dbobj(dbobj, self);
+
+    /* In a first step we only remember all the changes that a D-Bus message brings
+     * and queue the object to process them.
+     *
+     * Here (in step 2) we look at what changed on D-Bus and propagate those changes
+     * to the NMObject instance.
+     *
+     * Note that here we still must not emit any GObject signals. That follows later,
+     * and again if the object changes, we will just queue that we handle the changes
+     * later. */
+
+    c_list_for_each_entry_safe (db_iface_data,
+                                db_iface_data_safe,
+                                &dbobj->iface_lst_head,
+                                iface_lst) {
+        if (!db_iface_data->iface_removed)
+            continue;
+        c_list_unlink(&db_iface_data->iface_lst);
+        if (db_iface_data->dbus_iface_is_wellknown && dbobj->nmobj)
+            _obj_handle_dbus_iface_changes(self, dbobj, db_iface_data);
+        nml_dbus_obj_iface_data_destroy(db_iface_data);
+    }
+
+    if (G_UNLIKELY(!dbobj->nmobj) && !c_list_is_empty(&dbobj->iface_lst_head)) {
+        /* Try to create a NMObject for this D-Bus object. Note that we detect the type
+         * based on the interfaces that it has, and if we make a choice once, we don't
+         * change. That means, one D-Bus object can only be of one type. */
+
+        if (NM_IN_SET(dbobj->dbus_path,
+                      _dbus_path_nm,
+                      _dbus_path_settings,
+                      _dbus_path_dns_manager)) {
+            /* For the main types, we don't detect them based on the interfaces present,
+             * but on the path names. Of course, both should correspond anyway. */
+            NML_NMCLIENT_LOG_T(self,
+                               "[%s]: register NMClient for D-Bus object",
+                               dbobj->dbus_path->str);
+            dbobj->nmobj = G_OBJECT(self);
+            if (dbobj->dbus_path == _dbus_path_nm) {
+                nm_assert(!priv->dbobj_nm);
+                priv->dbobj_nm = dbobj;
+            } else if (dbobj->dbus_path == _dbus_path_settings) {
+                nm_assert(!priv->dbobj_settings);
+                priv->dbobj_settings = dbobj;
+            } else {
+                nm_assert(dbobj->dbus_path == _dbus_path_dns_manager);
+                nm_assert(!priv->dbobj_dns_manager);
+                priv->dbobj_dns_manager = dbobj;
+            }
+            nml_dbus_object_set_obj_state(dbobj, NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY, self);
+        } else {
+            GType                   gtype     = G_TYPE_NONE;
+            NMLDBusMetaInteracePrio curr_prio = NML_DBUS_META_INTERFACE_PRIO_INSTANTIATE_LOW - 1;
+
+            c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
+                nm_assert(!db_iface_data->iface_removed);
+                if (!db_iface_data->dbus_iface_is_wellknown)
+                    break;
+                if (db_iface_data->dbus_iface.meta->interface_prio <= curr_prio)
+                    continue;
+                curr_prio = db_iface_data->dbus_iface.meta->interface_prio;
+                gtype     = db_iface_data->dbus_iface.meta->get_type_fcn();
+            }
+            if (gtype != G_TYPE_NONE) {
+                dbobj->nmobj = g_object_new(gtype, NULL);
+
+                NML_NMCLIENT_LOG_T(self,
+                                   "[%s]: register new NMObject " NM_HASH_OBFUSCATE_PTR_FMT
+                                   " of type %s",
+                                   dbobj->dbus_path->str,
+                                   NM_HASH_OBFUSCATE_PTR(dbobj->nmobj),
+                                   g_type_name(gtype));
+
+                nm_assert(NM_IS_OBJECT(dbobj->nmobj));
+                NM_OBJECT_GET_CLASS(dbobj->nmobj)
+                    ->register_client(NM_OBJECT(dbobj->nmobj), self, dbobj);
+                nml_dbus_object_set_obj_state(dbobj, NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY, self);
+            }
+        }
+    }
+
+    c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst) {
+        nm_assert(!db_iface_data->iface_removed);
+        if (!db_iface_data->dbus_iface_is_wellknown)
+            break;
+        if (c_list_is_empty(&db_iface_data->changed_prop_lst_head))
+            continue;
+        if (dbobj->nmobj)
+            _obj_handle_dbus_iface_changes(self, dbobj, db_iface_data);
+    }
+
+    if (c_list_is_empty(&dbobj->iface_lst_head) && dbobj->nmobj) {
+        if (dbobj->nmobj == G_OBJECT(self)) {
+            dbobj->nmobj = NULL;
+            NML_NMCLIENT_LOG_T(self,
+                               "[%s]: unregister NMClient from D-Bus object",
+                               dbobj->dbus_path->str);
+            if (dbobj->dbus_path == _dbus_path_nm) {
+                nm_assert(priv->dbobj_nm == dbobj);
+                priv->dbobj_nm = NULL;
+                nml_dbus_property_o_clear_many(priv->nm.property_o,
+                                               G_N_ELEMENTS(priv->nm.property_o),
+                                               self);
+                nml_dbus_property_ao_clear_many(priv->nm.property_ao,
+                                                G_N_ELEMENTS(priv->nm.property_ao),
+                                                self);
+            } else if (dbobj->dbus_path == _dbus_path_settings) {
+                nm_assert(priv->dbobj_settings == dbobj);
+                priv->dbobj_settings = NULL;
+                nml_dbus_property_ao_clear(&priv->settings.connections, self);
+            } else {
+                nm_assert(dbobj->dbus_path == _dbus_path_dns_manager);
+                nm_assert(priv->dbobj_dns_manager == dbobj);
+                priv->dbobj_dns_manager = NULL;
+            }
+        } else {
+            nmobj_unregistering = g_steal_pointer(&dbobj->nmobj);
+            nml_dbus_object_set_obj_state(dbobj, NML_DBUS_OBJ_STATE_WATCHED_ONLY, self);
+            NML_NMCLIENT_LOG_T(self,
+                               "[%s]: unregister NMObject " NM_HASH_OBFUSCATE_PTR_FMT " of type %s",
+                               dbobj->dbus_path->str,
+                               NM_HASH_OBFUSCATE_PTR(nmobj_unregistering),
+                               g_type_name(G_OBJECT_TYPE(nmobj_unregistering)));
+            NM_OBJECT_GET_CLASS(nmobj_unregistering)
+                ->unregister_client(NM_OBJECT(nmobj_unregistering), self, dbobj);
+        }
+    }
+
+    nml_dbus_object_obj_changed_link(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ);
 }
 
 /*****************************************************************************/
 
 static void
-_dbus_handle_obj_changed_nmobj (NMClient *self)
+_dbus_handle_obj_changed_nmobj(NMClient *self)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	NMLDBusObject *dbobj;
-	CList obj_changed_tmp_lst_head = C_LIST_INIT (obj_changed_tmp_lst_head);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+    NMLDBusObject *  dbobj;
+    CList            obj_changed_tmp_lst_head = C_LIST_INIT(obj_changed_tmp_lst_head);
 
-	nm_assert (!nml_dbus_object_obj_changed_any_linked (self, ~NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ));
+    nm_assert(!nml_dbus_object_obj_changed_any_linked(self, ~NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ));
 
-	/* First we notify all watchers that these objects changed. Note that we only do that
-	 * here for the list before processing the changes below in a loop. That is, because
-	 * processing changes can again enqueue changed objects, and we only want to want to
-	 * notify watchers for the events that happened earlier (not repeatedly notify them). */
-	c_list_splice (&obj_changed_tmp_lst_head, &priv->obj_changed_lst_head);
-	while ((dbobj = c_list_first_entry (&obj_changed_tmp_lst_head, NMLDBusObject, obj_changed_lst))) {
-		nm_c_list_move_tail (&priv->obj_changed_lst_head, &dbobj->obj_changed_lst);
-		_dbobjs_notify_watchers_for_dbobj (self, dbobj);
-	}
+    /* First we notify all watchers that these objects changed. Note that we only do that
+     * here for the list before processing the changes below in a loop. That is, because
+     * processing changes can again enqueue changed objects, and we only want to want to
+     * notify watchers for the events that happened earlier (not repeatedly notify them). */
+    c_list_splice(&obj_changed_tmp_lst_head, &priv->obj_changed_lst_head);
+    while (
+        (dbobj = c_list_first_entry(&obj_changed_tmp_lst_head, NMLDBusObject, obj_changed_lst))) {
+        nm_c_list_move_tail(&priv->obj_changed_lst_head, &dbobj->obj_changed_lst);
+        _dbobjs_notify_watchers_for_dbobj(self, dbobj);
+    }
 
 again:
 
-	nm_assert (!nml_dbus_object_obj_changed_any_linked (self, ~NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ));
-
-	c_list_splice (&obj_changed_tmp_lst_head, &priv->obj_changed_lst_head);
-
-	while ((dbobj = c_list_first_entry (&obj_changed_tmp_lst_head, NMLDBusObject, obj_changed_lst))) {
-
-		if (!nml_dbus_object_obj_changed_consume (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ)) {
-			nm_assert_not_reached ();
-			continue;
-		}
-
-		if (!dbobj->nmobj)
-			continue;
-
-		if (dbobj->nmobj == G_OBJECT (self)) {
-			if (dbobj == priv->dbobj_nm) {
-				nml_dbus_property_o_notify_changed_many (priv->nm.property_o, G_N_ELEMENTS (priv->nm.property_o), self);
-				nml_dbus_property_ao_notify_changed_many (priv->nm.property_ao, G_N_ELEMENTS (priv->nm.property_ao), self);
-			} else if (dbobj == priv->dbobj_settings)
-				nml_dbus_property_ao_notify_changed (&priv->settings.connections, self);
-			else
-				nm_assert (dbobj == priv->dbobj_dns_manager);
-		} else
-			NM_OBJECT_GET_CLASS (dbobj->nmobj)->obj_changed_notify (NM_OBJECT (dbobj->nmobj));
-
-		_dbobjs_check_dbobj_ready (self, dbobj);
-	}
-
-	if (!c_list_is_empty (&priv->obj_changed_lst_head)) {
-		nm_assert (nml_dbus_object_obj_changed_any_linked (self, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ));
-		/* we got new changes enqueued. Need to check again. */
-		goto again;
-	}
+    nm_assert(!nml_dbus_object_obj_changed_any_linked(self, ~NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ));
+
+    c_list_splice(&obj_changed_tmp_lst_head, &priv->obj_changed_lst_head);
+
+    while (
+        (dbobj = c_list_first_entry(&obj_changed_tmp_lst_head, NMLDBusObject, obj_changed_lst))) {
+        if (!nml_dbus_object_obj_changed_consume(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ)) {
+            nm_assert_not_reached();
+            continue;
+        }
+
+        if (!dbobj->nmobj)
+            continue;
+
+        if (dbobj->nmobj == G_OBJECT(self)) {
+            if (dbobj == priv->dbobj_nm) {
+                nml_dbus_property_o_notify_changed_many(priv->nm.property_o,
+                                                        G_N_ELEMENTS(priv->nm.property_o),
+                                                        self);
+                nml_dbus_property_ao_notify_changed_many(priv->nm.property_ao,
+                                                         G_N_ELEMENTS(priv->nm.property_ao),
+                                                         self);
+            } else if (dbobj == priv->dbobj_settings)
+                nml_dbus_property_ao_notify_changed(&priv->settings.connections, self);
+            else
+                nm_assert(dbobj == priv->dbobj_dns_manager);
+        } else
+            NM_OBJECT_GET_CLASS(dbobj->nmobj)->obj_changed_notify(NM_OBJECT(dbobj->nmobj));
+
+        _dbobjs_check_dbobj_ready(self, dbobj);
+    }
+
+    if (!c_list_is_empty(&priv->obj_changed_lst_head)) {
+        nm_assert(nml_dbus_object_obj_changed_any_linked(self, NML_DBUS_OBJ_CHANGED_TYPE_NMOBJ));
+        /* we got new changes enqueued. Need to check again. */
+        goto again;
+    }
 }
 
 static void
-_dbus_handle_obj_changed_dbus (NMClient *self,
-                               const char *log_context)
+_dbus_handle_obj_changed_dbus(NMClient *self, const char *log_context)
 {
-	NMClientPrivate *priv;
-	NMLDBusObject *dbobj;
-	CList obj_changed_tmp_lst_head = C_LIST_INIT (obj_changed_tmp_lst_head);
+    NMClientPrivate *priv;
+    NMLDBusObject *  dbobj;
+    CList            obj_changed_tmp_lst_head = C_LIST_INIT(obj_changed_tmp_lst_head);
 
-	priv = NM_CLIENT_GET_PRIVATE (self);
+    priv = NM_CLIENT_GET_PRIVATE(self);
 
-	/* We move the changed list onto a temporary list and consume that.
-	 * Note that nml_dbus_object_obj_changed_consume() will move the object
-	 * back to the original list if there are changes of another type.
-	 *
-	 * This is done so that we can enqueue more changes while processing the
-	 * change list. */
-	c_list_splice (&obj_changed_tmp_lst_head, &priv->obj_changed_lst_head);
+    /* We move the changed list onto a temporary list and consume that.
+     * Note that nml_dbus_object_obj_changed_consume() will move the object
+     * back to the original list if there are changes of another type.
+     *
+     * This is done so that we can enqueue more changes while processing the
+     * change list. */
+    c_list_splice(&obj_changed_tmp_lst_head, &priv->obj_changed_lst_head);
 
-	while ((dbobj = c_list_first_entry (&obj_changed_tmp_lst_head, NMLDBusObject, obj_changed_lst))) {
-		nm_auto_unref_nml_dbusobj NMLDBusObject *dbobj_unref = NULL;
+    while (
+        (dbobj = c_list_first_entry(&obj_changed_tmp_lst_head, NMLDBusObject, obj_changed_lst))) {
+        nm_auto_unref_nml_dbusobj NMLDBusObject *dbobj_unref = NULL;
 
-		if (!nml_dbus_object_obj_changed_consume (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_DBUS))
-			continue;
+        if (!nml_dbus_object_obj_changed_consume(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_DBUS))
+            continue;
 
-		nm_assert (dbobj->obj_state >= NML_DBUS_OBJ_STATE_ON_DBUS);
+        nm_assert(dbobj->obj_state >= NML_DBUS_OBJ_STATE_ON_DBUS);
 
-		dbobj_unref = nml_dbus_object_ref (dbobj);
+        dbobj_unref = nml_dbus_object_ref(dbobj);
 
-		_obj_handle_dbus_changes (self, dbobj);
+        _obj_handle_dbus_changes(self, dbobj);
 
-		if (dbobj->obj_state == NML_DBUS_OBJ_STATE_UNLINKED)
-			continue;
+        if (dbobj->obj_state == NML_DBUS_OBJ_STATE_UNLINKED)
+            continue;
 
-		if (   c_list_is_empty (&dbobj->iface_lst_head)
-		    && c_list_is_empty (&dbobj->watcher_lst_head)) {
-			NML_NMCLIENT_LOG_T (self, "[%s]: drop D-Bus instance", dbobj->dbus_path->str);
-			nml_dbus_object_set_obj_state (dbobj, NML_DBUS_OBJ_STATE_UNLINKED, self);
-			if (!g_hash_table_steal (priv->dbus_objects, dbobj))
-				nm_assert_not_reached ();
-			nml_dbus_object_unref (dbobj);
-		}
-	}
+        if (c_list_is_empty(&dbobj->iface_lst_head) && c_list_is_empty(&dbobj->watcher_lst_head)) {
+            NML_NMCLIENT_LOG_T(self, "[%s]: drop D-Bus instance", dbobj->dbus_path->str);
+            nml_dbus_object_set_obj_state(dbobj, NML_DBUS_OBJ_STATE_UNLINKED, self);
+            if (!g_hash_table_steal(priv->dbus_objects, dbobj))
+                nm_assert_not_reached();
+            nml_dbus_object_unref(dbobj);
+        }
+    }
 
-	/* D-Bus changes can only be enqueued in an earlier stage. We don't expect
-	 * anymore changes of type D-Bus at this point. */
-	nm_assert (!nml_dbus_object_obj_changed_any_linked (self, NML_DBUS_OBJ_CHANGED_TYPE_DBUS));
+    /* D-Bus changes can only be enqueued in an earlier stage. We don't expect
+     * anymore changes of type D-Bus at this point. */
+    nm_assert(!nml_dbus_object_obj_changed_any_linked(self, NML_DBUS_OBJ_CHANGED_TYPE_DBUS));
 }
 
 static void
-_dbus_handle_changes_commit (NMClient *self,
-                             gboolean allow_init_start_check_complete)
+_dbus_handle_changes_commit(NMClient *self, gboolean allow_init_start_check_complete)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
+    NMClientPrivate *        priv                       = NM_CLIENT_GET_PRIVATE(self);
+    nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
 
-	_dbus_handle_obj_changed_nmobj (self);
+    _dbus_handle_obj_changed_nmobj(self);
 
-	dbus_context = nm_g_main_context_push_thread_default_if_necessary (priv->main_context);
+    dbus_context = nm_g_main_context_push_thread_default_if_necessary(priv->main_context);
 
-	_nm_client_notify_event_emit (self);
+    _nm_client_notify_event_emit(self);
 
-	_set_nm_running (self);
+    _set_nm_running(self);
 
-	if (allow_init_start_check_complete)
-		_init_start_check_complete (self);
+    if (allow_init_start_check_complete)
+        _init_start_check_complete(self);
 }
 
 static void
-_dbus_handle_changes (NMClient *self,
-                      const char *log_context,
-                      gboolean allow_init_start_check_complete)
+_dbus_handle_changes(NMClient *  self,
+                     const char *log_context,
+                     gboolean    allow_init_start_check_complete)
 {
-	_dbus_handle_obj_changed_dbus (self, log_context);
-	_dbus_handle_changes_commit (self, allow_init_start_check_complete);
+    _dbus_handle_obj_changed_dbus(self, log_context);
+    _dbus_handle_changes_commit(self, allow_init_start_check_complete);
 }
 
 static gboolean
-_dbus_handle_properties_changed (NMClient *self,
-                                 const char *log_context,
-                                 const char *object_path,
-                                 const char *interface_name,
-                                 gboolean allow_add_iface,
-                                 GVariant *changed_properties,
-                                 NMLDBusObject **inout_dbobj)
-{
-	NMLDBusObject *dbobj = NULL;
-	NMLDBusObjIfaceData *db_iface_data = NULL;
-	nm_auto_ref_string NMRefString *dbus_path = NULL;
-
-	nm_assert (!changed_properties || g_variant_is_of_type (changed_properties, G_VARIANT_TYPE ("a{sv}")));
-
-	{
-		gs_free char *ss = NULL;
-
-		NML_NMCLIENT_LOG_T (self, "[%s]: %s: properties changed for interface %s { %s }",
-		                    object_path, log_context, interface_name,
-		                    (ss = g_variant_print (changed_properties, TRUE)));
-	}
-
-	if (inout_dbobj) {
-		dbobj = *inout_dbobj;
-		nm_assert (!dbobj || nm_streq (object_path, dbobj->dbus_path->str));
-	}
-	if (!dbobj) {
-		dbus_path = nm_ref_string_new (object_path);
-		dbobj = _dbobjs_dbobj_get_r (self, dbus_path);
-	}
-
-	if (dbobj)
-		db_iface_data = nml_dbus_object_iface_data_get (dbobj, interface_name, allow_add_iface);
-	else if (allow_add_iface) {
-		dbobj = _dbobjs_dbobj_create (self, g_steal_pointer (&dbus_path));
-		nml_dbus_object_set_obj_state (dbobj, NML_DBUS_OBJ_STATE_ON_DBUS, self);
-		db_iface_data = nml_dbus_object_iface_data_get (dbobj, interface_name, TRUE);
-	}
-
-	NM_SET_OUT (inout_dbobj, dbobj);
-
-	if (!db_iface_data) {
-		if (allow_add_iface)
-			NML_NMCLIENT_LOG_E (self, "%s: [%s] too many interfaces on object. Something is very wrong", log_context, object_path);
-		else
-			NML_NMCLIENT_LOG_E (self, "%s: [%s] property changed signal for non existing interface %s", log_context, object_path, interface_name);
-		nm_assert (   !dbobj
-		           || dbobj->obj_state != NML_DBUS_OBJ_STATE_UNLINKED);
-		return FALSE;
-	}
-
-	if (!db_iface_data->dbus_iface_is_wellknown)
-		NML_NMCLIENT_LOG_W (self, "%s: [%s] ignore unknown interface %s", log_context, object_path, interface_name);
-	else if (changed_properties) {
-		GVariantIter iter_prop;
-		const char *property_name;
-		GVariant *property_value_tmp;
-
-		g_variant_iter_init (&iter_prop, changed_properties);
-		while (g_variant_iter_next (&iter_prop, "{&sv}", &property_name, &property_value_tmp)) {
-			_nm_unused gs_unref_variant GVariant *property_value = property_value_tmp;
-			const NMLDBusMetaProperty *meta_property;
-			NMLDBusObjPropData *db_propdata;
-			guint property_idx;
-
-			meta_property = nml_dbus_meta_property_get (db_iface_data->dbus_iface.meta, property_name, &property_idx);
-			if (!meta_property) {
-				NML_NMCLIENT_LOG_W (self, "%s: [%s]: ignore unknown property %s.%s", log_context, object_path, interface_name, property_name);
-				continue;
-			}
-
-			db_propdata = &db_iface_data->prop_datas[property_idx];
-
-			NML_NMCLIENT_LOG_T (self, "[%s]: %s: %s property %s.%s",
-			                    object_path, log_context,
-			                    db_propdata->prop_data_value ? "update" : "set",
-			                    interface_name, property_name);
-
-			nm_g_variant_unref (db_propdata->prop_data_value);
-			db_propdata->prop_data_value = g_steal_pointer (&property_value);
-			nm_c_list_move_tail (&db_iface_data->changed_prop_lst_head, &db_propdata->changed_prop_lst);
-		}
-	}
-
-	nml_dbus_object_obj_changed_link (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_DBUS);
-	return TRUE;
+_dbus_handle_properties_changed(NMClient *      self,
+                                const char *    log_context,
+                                const char *    object_path,
+                                const char *    interface_name,
+                                gboolean        allow_add_iface,
+                                GVariant *      changed_properties,
+                                NMLDBusObject **inout_dbobj)
+{
+    NMLDBusObject *      dbobj                = NULL;
+    NMLDBusObjIfaceData *db_iface_data        = NULL;
+    nm_auto_ref_string NMRefString *dbus_path = NULL;
+
+    nm_assert(!changed_properties
+              || g_variant_is_of_type(changed_properties, G_VARIANT_TYPE("a{sv}")));
+
+    {
+        gs_free char *ss = NULL;
+
+        NML_NMCLIENT_LOG_T(self,
+                           "[%s]: %s: properties changed for interface %s { %s }",
+                           object_path,
+                           log_context,
+                           interface_name,
+                           (ss = g_variant_print(changed_properties, TRUE)));
+    }
+
+    if (inout_dbobj) {
+        dbobj = *inout_dbobj;
+        nm_assert(!dbobj || nm_streq(object_path, dbobj->dbus_path->str));
+    }
+    if (!dbobj) {
+        dbus_path = nm_ref_string_new(object_path);
+        dbobj     = _dbobjs_dbobj_get_r(self, dbus_path);
+    }
+
+    if (dbobj)
+        db_iface_data = nml_dbus_object_iface_data_get(dbobj, interface_name, allow_add_iface);
+    else if (allow_add_iface) {
+        dbobj = _dbobjs_dbobj_create(self, g_steal_pointer(&dbus_path));
+        nml_dbus_object_set_obj_state(dbobj, NML_DBUS_OBJ_STATE_ON_DBUS, self);
+        db_iface_data = nml_dbus_object_iface_data_get(dbobj, interface_name, TRUE);
+    }
+
+    NM_SET_OUT(inout_dbobj, dbobj);
+
+    if (!db_iface_data) {
+        if (allow_add_iface)
+            NML_NMCLIENT_LOG_E(self,
+                               "%s: [%s] too many interfaces on object. Something is very wrong",
+                               log_context,
+                               object_path);
+        else
+            NML_NMCLIENT_LOG_E(self,
+                               "%s: [%s] property changed signal for non existing interface %s",
+                               log_context,
+                               object_path,
+                               interface_name);
+        nm_assert(!dbobj || dbobj->obj_state != NML_DBUS_OBJ_STATE_UNLINKED);
+        return FALSE;
+    }
+
+    if (!db_iface_data->dbus_iface_is_wellknown)
+        NML_NMCLIENT_LOG_W(self,
+                           "%s: [%s] ignore unknown interface %s",
+                           log_context,
+                           object_path,
+                           interface_name);
+    else if (changed_properties) {
+        GVariantIter iter_prop;
+        const char * property_name;
+        GVariant *   property_value_tmp;
+
+        g_variant_iter_init(&iter_prop, changed_properties);
+        while (g_variant_iter_next(&iter_prop, "{&sv}", &property_name, &property_value_tmp)) {
+            _nm_unused gs_unref_variant GVariant *property_value = property_value_tmp;
+            const NMLDBusMetaProperty *           meta_property;
+            NMLDBusObjPropData *                  db_propdata;
+            guint                                 property_idx;
+
+            meta_property = nml_dbus_meta_property_get(db_iface_data->dbus_iface.meta,
+                                                       property_name,
+                                                       &property_idx);
+            if (!meta_property) {
+                NML_NMCLIENT_LOG_W(self,
+                                   "%s: [%s]: ignore unknown property %s.%s",
+                                   log_context,
+                                   object_path,
+                                   interface_name,
+                                   property_name);
+                continue;
+            }
+
+            db_propdata = &db_iface_data->prop_datas[property_idx];
+
+            NML_NMCLIENT_LOG_T(self,
+                               "[%s]: %s: %s property %s.%s",
+                               object_path,
+                               log_context,
+                               db_propdata->prop_data_value ? "update" : "set",
+                               interface_name,
+                               property_name);
+
+            nm_g_variant_unref(db_propdata->prop_data_value);
+            db_propdata->prop_data_value = g_steal_pointer(&property_value);
+            nm_c_list_move_tail(&db_iface_data->changed_prop_lst_head,
+                                &db_propdata->changed_prop_lst);
+        }
+    }
+
+    nml_dbus_object_obj_changed_link(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_DBUS);
+    return TRUE;
 }
 
 static gboolean
-_dbus_handle_interface_added (NMClient *self,
-                              const char *log_context,
-                              const char *object_path,
-                              GVariant *ifaces)
+_dbus_handle_interface_added(NMClient *  self,
+                             const char *log_context,
+                             const char *object_path,
+                             GVariant *  ifaces)
 {
-	gboolean changed = FALSE;
-	const char *interface_name;
-	GVariant *changed_properties;
-	GVariantIter iter_ifaces;
-	NMLDBusObject *dbobj = NULL;
+    gboolean       changed = FALSE;
+    const char *   interface_name;
+    GVariant *     changed_properties;
+    GVariantIter   iter_ifaces;
+    NMLDBusObject *dbobj = NULL;
 
-	nm_assert (g_variant_is_of_type (ifaces, G_VARIANT_TYPE ("a{sa{sv}}")));
+    nm_assert(g_variant_is_of_type(ifaces, G_VARIANT_TYPE("a{sa{sv}}")));
 
-	g_variant_iter_init (&iter_ifaces, ifaces);
-	while (g_variant_iter_next (&iter_ifaces, "{&s@a{sv}}", &interface_name, &changed_properties)) {
-		_nm_unused gs_unref_variant GVariant *changed_properties_free = changed_properties;
+    g_variant_iter_init(&iter_ifaces, ifaces);
+    while (g_variant_iter_next(&iter_ifaces, "{&s@a{sv}}", &interface_name, &changed_properties)) {
+        _nm_unused gs_unref_variant GVariant *changed_properties_free = changed_properties;
 
-		if (_dbus_handle_properties_changed (self, log_context, object_path, interface_name, TRUE, changed_properties, &dbobj))
-			changed = TRUE;
-	}
+        if (_dbus_handle_properties_changed(self,
+                                            log_context,
+                                            object_path,
+                                            interface_name,
+                                            TRUE,
+                                            changed_properties,
+                                            &dbobj))
+            changed = TRUE;
+    }
 
-	return changed;
+    return changed;
 }
 
 static gboolean
-_dbus_handle_interface_removed (NMClient *self,
-                                const char *log_context,
-                                const char *object_path,
-                                NMLDBusObject **inout_dbobj,
-                                const char *const*removed_interfaces)
-{
-	gboolean changed = FALSE;
-	NMLDBusObject *dbobj;
-	gsize i;
-
-	if (   inout_dbobj
-	    && *inout_dbobj) {
-		dbobj = *inout_dbobj;
-		nm_assert (dbobj == _dbobjs_dbobj_get_s (self, object_path));
-	} else {
-		dbobj = _dbobjs_dbobj_get_s (self, object_path);
-		if (!dbobj) {
-			NML_NMCLIENT_LOG_E (self, "%s: [%s]: receive interface removed event for non existing object", log_context, object_path);
-			return FALSE;
-		}
-		NM_SET_OUT (inout_dbobj, dbobj);
-	}
-
-	for (i = 0; removed_interfaces[i]; i++) {
-		NMLDBusObjIfaceData *db_iface_data;
-		const char *interface_name = removed_interfaces[i];
-
-		db_iface_data = nml_dbus_object_iface_data_get (dbobj, interface_name, FALSE);
-		if (!db_iface_data) {
-			NML_NMCLIENT_LOG_E (self, "%s: [%s] receive interface remove event for unexpected interface %s", log_context, object_path, interface_name);
-			continue;
-		}
-
-		NML_NMCLIENT_LOG_T (self, "%s: [%s] receive interface remove event for interface %s", log_context, object_path, interface_name);
-		db_iface_data->iface_removed = TRUE;
-		changed = TRUE;
-	}
-
-	if (changed)
-		nml_dbus_object_obj_changed_link (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_DBUS);
-
-	return changed;
+_dbus_handle_interface_removed(NMClient *         self,
+                               const char *       log_context,
+                               const char *       object_path,
+                               NMLDBusObject **   inout_dbobj,
+                               const char *const *removed_interfaces)
+{
+    gboolean       changed = FALSE;
+    NMLDBusObject *dbobj;
+    gsize          i;
+
+    if (inout_dbobj && *inout_dbobj) {
+        dbobj = *inout_dbobj;
+        nm_assert(dbobj == _dbobjs_dbobj_get_s(self, object_path));
+    } else {
+        dbobj = _dbobjs_dbobj_get_s(self, object_path);
+        if (!dbobj) {
+            NML_NMCLIENT_LOG_E(self,
+                               "%s: [%s]: receive interface removed event for non existing object",
+                               log_context,
+                               object_path);
+            return FALSE;
+        }
+        NM_SET_OUT(inout_dbobj, dbobj);
+    }
+
+    for (i = 0; removed_interfaces[i]; i++) {
+        NMLDBusObjIfaceData *db_iface_data;
+        const char *         interface_name = removed_interfaces[i];
+
+        db_iface_data = nml_dbus_object_iface_data_get(dbobj, interface_name, FALSE);
+        if (!db_iface_data) {
+            NML_NMCLIENT_LOG_E(
+                self,
+                "%s: [%s] receive interface remove event for unexpected interface %s",
+                log_context,
+                object_path,
+                interface_name);
+            continue;
+        }
+
+        NML_NMCLIENT_LOG_T(self,
+                           "%s: [%s] receive interface remove event for interface %s",
+                           log_context,
+                           object_path,
+                           interface_name);
+        db_iface_data->iface_removed = TRUE;
+        changed                      = TRUE;
+    }
+
+    if (changed)
+        nml_dbus_object_obj_changed_link(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_DBUS);
+
+    return changed;
 }
 
 static void
-_dbus_managed_objects_changed_cb (GDBusConnection *connection,
-                                  const char *sender_name,
-                                  const char *arg_object_path,
-                                  const char *interface_name,
-                                  const char *signal_name,
-                                  GVariant *parameters,
-                                  gpointer user_data)
-{
-	NMClient *self = user_data;
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	const char *log_context;
-	gboolean changed;
-
-	nm_assert (nm_streq0 (interface_name, DBUS_INTERFACE_OBJECT_MANAGER));
-
-	if (priv->get_managed_objects_cancellable) {
-		/* we still wait for the initial GetManagedObjects(). Ignore the event. */
-		return;
-	}
-
-	if (nm_streq (signal_name, "InterfacesAdded")) {
-		gs_unref_variant GVariant *interfaces_and_properties = NULL;
-		const char *object_path;
-
-		if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(oa{sa{sv}})")))
-			return;
-
-		g_variant_get (parameters,
-		               "(&o@a{sa{sv}})",
-		               &object_path,
-		               &interfaces_and_properties);
-
-		log_context = "interfaces-added";
-		changed = _dbus_handle_interface_added (self, log_context, object_path, interfaces_and_properties);
-		goto out;
-	}
-
-	if (nm_streq (signal_name, "InterfacesRemoved")) {
-		gs_free const char **interfaces = NULL;
-		const char *object_path;
-
-		if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(oas)")))
-			return;
-
-		g_variant_get (parameters,
-		               "(&o^a&s)",
-		               &object_path,
-		               &interfaces);
-
-		log_context = "interfaces-removed";
-		changed = _dbus_handle_interface_removed (self, log_context, object_path, NULL, interfaces);
-		goto out;
-	}
-
-	return;
+_dbus_managed_objects_changed_cb(GDBusConnection *connection,
+                                 const char *     sender_name,
+                                 const char *     arg_object_path,
+                                 const char *     interface_name,
+                                 const char *     signal_name,
+                                 GVariant *       parameters,
+                                 gpointer         user_data)
+{
+    NMClient *       self = user_data;
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+    const char *     log_context;
+    gboolean         changed;
 
-out:
-	if (changed)
-		_dbus_handle_changes (self, log_context, TRUE);
-}
+    nm_assert(nm_streq0(interface_name, DBUS_INTERFACE_OBJECT_MANAGER));
 
-static void
-_dbus_properties_changed_cb (GDBusConnection *connection,
-                             const char *sender_name,
-                             const char *object_path,
-                             const char *signal_interface_name,
-                             const char *signal_name,
-                             GVariant *parameters,
-                             gpointer user_data)
-{
-	NMClient *self = user_data;
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	const char *interface_name;
-	gs_unref_variant GVariant *changed_properties = NULL;
-	gs_free const char **invalidated_properties = NULL;
-	const char *log_context = "properties-changed";
+    if (priv->get_managed_objects_cancellable) {
+        /* we still wait for the initial GetManagedObjects(). Ignore the event. */
+        return;
+    }
+
+    if (nm_streq(signal_name, "InterfacesAdded")) {
+        gs_unref_variant GVariant *interfaces_and_properties = NULL;
+        const char *               object_path;
+
+        if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(oa{sa{sv}})")))
+            return;
 
-	if (priv->get_managed_objects_cancellable) {
-		/* we still wait for the initial GetManagedObjects(). Ignore the event. */
-		return;
-	}
+        g_variant_get(parameters, "(&o@a{sa{sv}})", &object_path, &interfaces_and_properties);
 
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sa{sv}as)")))
-		return;
+        log_context = "interfaces-added";
+        changed =
+            _dbus_handle_interface_added(self, log_context, object_path, interfaces_and_properties);
+        goto out;
+    }
 
-	g_variant_get (parameters,
-	               "(&s@a{sv}^a&s)",
-	               &interface_name,
-	               &changed_properties,
-	               &invalidated_properties);
+    if (nm_streq(signal_name, "InterfacesRemoved")) {
+        gs_free const char **interfaces = NULL;
+        const char *         object_path;
 
-	if (invalidated_properties && invalidated_properties[0]) {
-		NML_NMCLIENT_LOG_W (self, "%s: [%s] ignore invalidated properties on interface %s",
-		                    log_context, object_path, interface_name);
-	}
+        if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(oas)")))
+            return;
 
-	if (_dbus_handle_properties_changed (self, log_context, object_path, interface_name, FALSE, changed_properties, NULL))
-		_dbus_handle_changes (self, log_context, TRUE);
+        g_variant_get(parameters, "(&o^a&s)", &object_path, &interfaces);
+
+        log_context = "interfaces-removed";
+        changed = _dbus_handle_interface_removed(self, log_context, object_path, NULL, interfaces);
+        goto out;
+    }
+
+    return;
+
+out:
+    if (changed)
+        _dbus_handle_changes(self, log_context, TRUE);
 }
 
 static void
-_dbus_get_managed_objects_cb (GObject *source,
-                              GAsyncResult *result,
-                              gpointer user_data)
+_dbus_properties_changed_cb(GDBusConnection *connection,
+                            const char *     sender_name,
+                            const char *     object_path,
+                            const char *     signal_interface_name,
+                            const char *     signal_name,
+                            GVariant *       parameters,
+                            gpointer         user_data)
+{
+    NMClient *       self = user_data;
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+    const char *     interface_name;
+    gs_unref_variant GVariant *changed_properties     = NULL;
+    gs_free const char **      invalidated_properties = NULL;
+    const char *               log_context            = "properties-changed";
+
+    if (priv->get_managed_objects_cancellable) {
+        /* we still wait for the initial GetManagedObjects(). Ignore the event. */
+        return;
+    }
+
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(sa{sv}as)")))
+        return;
+
+    g_variant_get(parameters,
+                  "(&s@a{sv}^a&s)",
+                  &interface_name,
+                  &changed_properties,
+                  &invalidated_properties);
+
+    if (invalidated_properties && invalidated_properties[0]) {
+        NML_NMCLIENT_LOG_W(self,
+                           "%s: [%s] ignore invalidated properties on interface %s",
+                           log_context,
+                           object_path,
+                           interface_name);
+    }
+
+    if (_dbus_handle_properties_changed(self,
+                                        log_context,
+                                        object_path,
+                                        interface_name,
+                                        FALSE,
+                                        changed_properties,
+                                        NULL))
+        _dbus_handle_changes(self, log_context, TRUE);
+}
+
+static void
+_dbus_get_managed_objects_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	NMClient *self;
-	NMClientPrivate *priv;
-	gs_unref_variant GVariant *ret = NULL;
-	gs_unref_variant GVariant *managed_objects = NULL;
-	gs_free_error GError *error = NULL;
-	gs_unref_object GObject *context_busy_watcher = NULL;
+    NMClient *       self;
+    NMClientPrivate *priv;
+    gs_unref_variant GVariant *ret                = NULL;
+    gs_unref_variant GVariant *managed_objects    = NULL;
+    gs_free_error GError *error                   = NULL;
+    gs_unref_object GObject *context_busy_watcher = NULL;
 
-	nm_utils_user_data_unpack (user_data, &self, &context_busy_watcher);
+    nm_utils_user_data_unpack(user_data, &self, &context_busy_watcher);
 
-	ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
+    ret = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
 
-	nm_assert ((!!ret) != (!!error));
+    nm_assert((!!ret) != (!!error));
 
-	if (   !ret
-	    && nm_utils_error_is_cancelled (error))
-		return;
+    if (!ret && nm_utils_error_is_cancelled(error))
+        return;
 
-	priv = NM_CLIENT_GET_PRIVATE (self);
+    priv = NM_CLIENT_GET_PRIVATE(self);
 
-	if (ret) {
-		nm_assert (g_variant_is_of_type (ret, G_VARIANT_TYPE ("(a{oa{sa{sv}}})")));
-		managed_objects = g_variant_get_child_value (ret, 0);
-	}
+    if (ret) {
+        nm_assert(g_variant_is_of_type(ret, G_VARIANT_TYPE("(a{oa{sa{sv}}})")));
+        managed_objects = g_variant_get_child_value(ret, 0);
+    }
 
-	g_clear_object (&priv->get_managed_objects_cancellable);
+    g_clear_object(&priv->get_managed_objects_cancellable);
 
-	if (!managed_objects) {
-		NML_NMCLIENT_LOG_D (self, "GetManagedObjects() call failed: %s", error->message);
-		/* hm, now that's odd. Maybe NetworkManager just quit and we are about to get
-		 * a name-owner changed signal soon. Treat this as if we got no managed objects at all. */
-	} else
-		NML_NMCLIENT_LOG_D (self, "GetManagedObjects() completed");
+    if (!managed_objects) {
+        NML_NMCLIENT_LOG_D(self, "GetManagedObjects() call failed: %s", error->message);
+        /* hm, now that's odd. Maybe NetworkManager just quit and we are about to get
+         * a name-owner changed signal soon. Treat this as if we got no managed objects at all. */
+    } else
+        NML_NMCLIENT_LOG_D(self, "GetManagedObjects() completed");
 
-	if (managed_objects) {
-		GVariantIter iter;
-		const char *object_path;
-		GVariant *ifaces_tmp;
+    if (managed_objects) {
+        GVariantIter iter;
+        const char * object_path;
+        GVariant *   ifaces_tmp;
 
-		g_variant_iter_init (&iter, managed_objects);
-		while (g_variant_iter_next (&iter, "{&o@a{sa{sv}}}", &object_path, &ifaces_tmp)) {
-			gs_unref_variant GVariant *ifaces = ifaces_tmp;
+        g_variant_iter_init(&iter, managed_objects);
+        while (g_variant_iter_next(&iter, "{&o@a{sa{sv}}}", &object_path, &ifaces_tmp)) {
+            gs_unref_variant GVariant *ifaces = ifaces_tmp;
 
-			_dbus_handle_interface_added (self, "get-managed-objects", object_path, ifaces);
-		}
-	}
+            _dbus_handle_interface_added(self, "get-managed-objects", object_path, ifaces);
+        }
+    }
 
-	/* always call _dbus_handle_changes(), even if nothing changed. We need this to complete
-	 * initialization. */
-	_dbus_handle_changes (self, "get-managed-objects", TRUE);
+    /* always call _dbus_handle_changes(), even if nothing changed. We need this to complete
+     * initialization. */
+    _dbus_handle_changes(self, "get-managed-objects", TRUE);
 }
 
 /*****************************************************************************/
 
 static void
-_nm_client_get_settings_call_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+_nm_client_get_settings_call_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	NMRemoteConnection *remote_connection;
-	NMClient *self;
-	gs_unref_variant GVariant *ret = NULL;
-	gs_free_error GError *error = NULL;
-	gs_unref_variant GVariant *settings = NULL;
-	NMLDBusObject *dbobj;
+    NMRemoteConnection *remote_connection;
+    NMClient *          self;
+    gs_unref_variant GVariant *ret      = NULL;
+    gs_free_error GError *error         = NULL;
+    gs_unref_variant GVariant *settings = NULL;
+    NMLDBusObject *            dbobj;
 
-	ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (   !ret
-	    && nm_utils_error_is_cancelled (error))
-		return;
+    ret = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (!ret && nm_utils_error_is_cancelled(error))
+        return;
 
-	remote_connection = user_data;
+    remote_connection = user_data;
 
-	self = _nm_object_get_client (remote_connection);
+    self = _nm_object_get_client(remote_connection);
 
-	dbobj = _nm_object_get_dbobj (remote_connection);
+    dbobj = _nm_object_get_dbobj(remote_connection);
 
-	_ASSERT_dbobj (dbobj, self);
+    _ASSERT_dbobj(dbobj, self);
 
-	if (!ret) {
-		NML_NMCLIENT_LOG_T (self, "[%s] GetSettings() completed with error: %s",
-		                    dbobj->dbus_path->str,
-		                    error->message);
-	} else {
-		NML_NMCLIENT_LOG_T (self, "[%s] GetSettings() completed with success",
-		                    dbobj->dbus_path->str);
-		g_variant_get (ret,
-		               "(@a{sa{sv}})",
-		               &settings);
-	}
+    if (!ret) {
+        NML_NMCLIENT_LOG_T(self,
+                           "[%s] GetSettings() completed with error: %s",
+                           dbobj->dbus_path->str,
+                           error->message);
+    } else {
+        NML_NMCLIENT_LOG_T(self,
+                           "[%s] GetSettings() completed with success",
+                           dbobj->dbus_path->str);
+        g_variant_get(ret, "(@a{sa{sv}})", &settings);
+    }
 
-	_nm_remote_settings_get_settings_commit (remote_connection, settings);
+    _nm_remote_settings_get_settings_commit(remote_connection, settings);
 
-	_dbus_handle_changes_commit (self, TRUE);
+    _dbus_handle_changes_commit(self, TRUE);
 }
 
 void
-_nm_client_get_settings_call (NMClient *self,
-                              NMLDBusObject *dbobj)
+_nm_client_get_settings_call(NMClient *self, NMLDBusObject *dbobj)
 {
-	GCancellable *cancellable;
+    GCancellable *cancellable;
 
-	cancellable = _nm_remote_settings_get_settings_prepare (NM_REMOTE_CONNECTION (dbobj->nmobj));
+    cancellable = _nm_remote_settings_get_settings_prepare(NM_REMOTE_CONNECTION(dbobj->nmobj));
 
-	_nm_client_dbus_call_simple (self,
-	                             cancellable,
-	                             dbobj->dbus_path->str,
-	                             NM_DBUS_INTERFACE_SETTINGS_CONNECTION,
-	                             "GetSettings",
-	                             g_variant_new ("()"),
-	                             G_VARIANT_TYPE ("(a{sa{sv}})"),
-	                             G_DBUS_CALL_FLAGS_NONE,
-	                             NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                             _nm_client_get_settings_call_cb,
-	                             dbobj->nmobj);
+    _nm_client_dbus_call_simple(self,
+                                cancellable,
+                                dbobj->dbus_path->str,
+                                NM_DBUS_INTERFACE_SETTINGS_CONNECTION,
+                                "GetSettings",
+                                g_variant_new("()"),
+                                G_VARIANT_TYPE("(a{sa{sv}})"),
+                                G_DBUS_CALL_FLAGS_NONE,
+                                NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                _nm_client_get_settings_call_cb,
+                                dbobj->nmobj);
 }
 
 static void
-_dbus_settings_updated_cb (GDBusConnection *connection,
-                           const char *sender_name,
-                           const char *object_path,
-                           const char *signal_interface_name,
-                           const char *signal_name,
-                           GVariant *parameters,
-                           gpointer user_data)
+_dbus_settings_updated_cb(GDBusConnection *connection,
+                          const char *     sender_name,
+                          const char *     object_path,
+                          const char *     signal_interface_name,
+                          const char *     signal_name,
+                          GVariant *       parameters,
+                          gpointer         user_data)
 {
-	NMClient *self = user_data;
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	const char *log_context = "settings-updated";
-	NMLDBusObject *dbobj;
+    NMClient *       self        = user_data;
+    NMClientPrivate *priv        = NM_CLIENT_GET_PRIVATE(self);
+    const char *     log_context = "settings-updated";
+    NMLDBusObject *  dbobj;
 
-	if (priv->get_managed_objects_cancellable) {
-		/* we still wait for the initial GetManagedObjects(). Ignore the event. */
-		return;
-	}
+    if (priv->get_managed_objects_cancellable) {
+        /* we still wait for the initial GetManagedObjects(). Ignore the event. */
+        return;
+    }
 
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("()")))
-		return;
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("()")))
+        return;
 
-	dbobj = _dbobjs_dbobj_get_s (self, object_path);
+    dbobj = _dbobjs_dbobj_get_s(self, object_path);
 
-	if (   !dbobj
-	    || !NM_IS_REMOTE_CONNECTION (dbobj->nmobj)) {
-		NML_NMCLIENT_LOG_W (self, "%s: [%s] ignore Updated signal for non-existing setting",
-		                    log_context, object_path);
-		return;
-	}
+    if (!dbobj || !NM_IS_REMOTE_CONNECTION(dbobj->nmobj)) {
+        NML_NMCLIENT_LOG_W(self,
+                           "%s: [%s] ignore Updated signal for non-existing setting",
+                           log_context,
+                           object_path);
+        return;
+    }
 
-	NML_NMCLIENT_LOG_T (self, "%s: [%s] Updated signal received",
-	                    log_context, object_path);
+    NML_NMCLIENT_LOG_T(self, "%s: [%s] Updated signal received", log_context, object_path);
 
-	_nm_client_get_settings_call (self, dbobj);
+    _nm_client_get_settings_call(self, dbobj);
 }
 
 /*****************************************************************************/
 
 static void
-_dbus_nm_connection_active_state_changed_cb (GDBusConnection *connection,
-                                             const char *sender_name,
-                                             const char *object_path,
-                                             const char *signal_interface_name,
-                                             const char *signal_name,
-                                             GVariant *parameters,
-                                             gpointer user_data)
+_dbus_nm_connection_active_state_changed_cb(GDBusConnection *connection,
+                                            const char *     sender_name,
+                                            const char *     object_path,
+                                            const char *     signal_interface_name,
+                                            const char *     signal_name,
+                                            GVariant *       parameters,
+                                            gpointer         user_data)
 {
-	NMClient *self = user_data;
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	const char *log_context = "active-connection-state-changed";
-	NMLDBusObject *dbobj;
-	guint32 state;
-	guint32 reason;
+    NMClient *       self        = user_data;
+    NMClientPrivate *priv        = NM_CLIENT_GET_PRIVATE(self);
+    const char *     log_context = "active-connection-state-changed";
+    NMLDBusObject *  dbobj;
+    guint32          state;
+    guint32          reason;
 
-	if (priv->get_managed_objects_cancellable) {
-		/* we still wait for the initial GetManagedObjects(). Ignore the event. */
-		return;
-	}
+    if (priv->get_managed_objects_cancellable) {
+        /* we still wait for the initial GetManagedObjects(). Ignore the event. */
+        return;
+    }
 
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(uu)"))) {
-		NML_NMCLIENT_LOG_E (self, "%s: [%s] ignore StateChanged signal with unexpected signature",
-		                    log_context, object_path);
-		return;
-	}
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(uu)"))) {
+        NML_NMCLIENT_LOG_E(self,
+                           "%s: [%s] ignore StateChanged signal with unexpected signature",
+                           log_context,
+                           object_path);
+        return;
+    }
 
-	dbobj = _dbobjs_dbobj_get_s (self, object_path);
+    dbobj = _dbobjs_dbobj_get_s(self, object_path);
 
-	if (   !dbobj
-	    || !NM_IS_ACTIVE_CONNECTION (dbobj->nmobj)) {
-		NML_NMCLIENT_LOG_E (self, "%s: [%s] ignore StateChanged signal for non-existing active connection",
-		                    log_context, object_path);
-		return;
-	}
+    if (!dbobj || !NM_IS_ACTIVE_CONNECTION(dbobj->nmobj)) {
+        NML_NMCLIENT_LOG_E(self,
+                           "%s: [%s] ignore StateChanged signal for non-existing active connection",
+                           log_context,
+                           object_path);
+        return;
+    }
 
-	g_variant_get (parameters, "(uu)", &state, &reason);
+    g_variant_get(parameters, "(uu)", &state, &reason);
 
-	NML_NMCLIENT_LOG_T (self, "%s: [%s] StateChanged signal received",
-	                    log_context, object_path);
+    NML_NMCLIENT_LOG_T(self, "%s: [%s] StateChanged signal received", log_context, object_path);
 
-	_nm_active_connection_state_changed_commit (NM_ACTIVE_CONNECTION (dbobj->nmobj),
-	                                            state,
-	                                            reason);
+    _nm_active_connection_state_changed_commit(NM_ACTIVE_CONNECTION(dbobj->nmobj), state, reason);
 
-	_dbus_handle_changes_commit (self, TRUE);
+    _dbus_handle_changes_commit(self, TRUE);
 }
 
 /*****************************************************************************/
 
 static void
-_dbus_nm_vpn_connection_state_changed_cb (GDBusConnection *connection,
-                                          const char *sender_name,
-                                          const char *object_path,
-                                          const char *signal_interface_name,
-                                          const char *signal_name,
-                                          GVariant *parameters,
-                                          gpointer user_data)
+_dbus_nm_vpn_connection_state_changed_cb(GDBusConnection *connection,
+                                         const char *     sender_name,
+                                         const char *     object_path,
+                                         const char *     signal_interface_name,
+                                         const char *     signal_name,
+                                         GVariant *       parameters,
+                                         gpointer         user_data)
 {
-	NMClient *self = user_data;
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	const char *log_context = "vpn-connection-state-changed";
-	NMLDBusObject *dbobj;
-	guint32 state;
-	guint32 reason;
+    NMClient *       self        = user_data;
+    NMClientPrivate *priv        = NM_CLIENT_GET_PRIVATE(self);
+    const char *     log_context = "vpn-connection-state-changed";
+    NMLDBusObject *  dbobj;
+    guint32          state;
+    guint32          reason;
 
-	if (priv->get_managed_objects_cancellable) {
-		/* we still wait for the initial GetManagedObjects(). Ignore the event. */
-		return;
-	}
+    if (priv->get_managed_objects_cancellable) {
+        /* we still wait for the initial GetManagedObjects(). Ignore the event. */
+        return;
+    }
 
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(uu)"))) {
-		NML_NMCLIENT_LOG_E (self, "%s: [%s] ignore VpnStateChanged signal with unexpected signature",
-		                    log_context, object_path);
-		return;
-	}
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(uu)"))) {
+        NML_NMCLIENT_LOG_E(self,
+                           "%s: [%s] ignore VpnStateChanged signal with unexpected signature",
+                           log_context,
+                           object_path);
+        return;
+    }
 
-	dbobj = _dbobjs_dbobj_get_s (self, object_path);
+    dbobj = _dbobjs_dbobj_get_s(self, object_path);
 
-	if (   !dbobj
-	    || !NM_IS_VPN_CONNECTION (dbobj->nmobj)) {
-		NML_NMCLIENT_LOG_E (self, "%s: [%s] ignore VpnStateChanged signal for non-existing vpn connection",
-		                    log_context, object_path);
-		return;
-	}
+    if (!dbobj || !NM_IS_VPN_CONNECTION(dbobj->nmobj)) {
+        NML_NMCLIENT_LOG_E(self,
+                           "%s: [%s] ignore VpnStateChanged signal for non-existing vpn connection",
+                           log_context,
+                           object_path);
+        return;
+    }
 
-	g_variant_get (parameters, "(uu)", &state, &reason);
+    g_variant_get(parameters, "(uu)", &state, &reason);
 
-	NML_NMCLIENT_LOG_T (self, "%s: [%s] VpnStateChanged signal received",
-	                    log_context, object_path);
+    NML_NMCLIENT_LOG_T(self, "%s: [%s] VpnStateChanged signal received", log_context, object_path);
 
-	_nm_vpn_connection_state_changed_commit (NM_VPN_CONNECTION (dbobj->nmobj),
-	                                         state,
-	                                         reason);
+    _nm_vpn_connection_state_changed_commit(NM_VPN_CONNECTION(dbobj->nmobj), state, reason);
 
-	_dbus_handle_changes_commit (self, TRUE);
+    _dbus_handle_changes_commit(self, TRUE);
 }
 
 /*****************************************************************************/
 
 static void
-_emit_permissions_changed (NMClient *self,
-                           const guint8 *old_permissions,
-                           const guint8 *permissions)
+_emit_permissions_changed(NMClient *self, const guint8 *old_permissions, const guint8 *permissions)
 {
-	int i;
+    int i;
 
-	if (self->obj_base.is_disposing)
-		return;
+    if (self->obj_base.is_disposing)
+        return;
 
-	if (old_permissions == permissions)
-		return;
+    if (old_permissions == permissions)
+        return;
 
-	for (i = 0; i < (int) G_N_ELEMENTS (nm_auth_permission_sorted); i++) {
-		NMClientPermission perm = nm_auth_permission_sorted[i];
-		NMClientPermissionResult perm_result = NM_CLIENT_PERMISSION_RESULT_UNKNOWN;
-		NMClientPermissionResult perm_result_old = NM_CLIENT_PERMISSION_RESULT_UNKNOWN;
+    for (i = 0; i < (int) G_N_ELEMENTS(nm_auth_permission_sorted); i++) {
+        NMClientPermission       perm            = nm_auth_permission_sorted[i];
+        NMClientPermissionResult perm_result     = NM_CLIENT_PERMISSION_RESULT_UNKNOWN;
+        NMClientPermissionResult perm_result_old = NM_CLIENT_PERMISSION_RESULT_UNKNOWN;
 
-		if (permissions)
-			perm_result = permissions[perm - 1];
-		if (old_permissions)
-			perm_result_old = old_permissions[perm - 1];
+        if (permissions)
+            perm_result = permissions[perm - 1];
+        if (old_permissions)
+            perm_result_old = old_permissions[perm - 1];
 
-		if (perm_result == perm_result_old)
-			continue;
+        if (perm_result == perm_result_old)
+            continue;
 
-		g_signal_emit (self,
-		               signals[PERMISSION_CHANGED],
-		               0,
-		               (guint) perm,
-		               (guint) perm_result);
-	}
+        g_signal_emit(self, signals[PERMISSION_CHANGED], 0, (guint) perm, (guint) perm_result);
+    }
 }
 
-
 static void
-_dbus_check_permissions_start_cb (GObject *source, GAsyncResult *result, gpointer user_data)
-{
-	nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
-	NMClient *self;
-	NMClientPrivate *priv;
-	gs_unref_variant GVariant *ret = NULL;
-	nm_auto_free_variant_iter GVariantIter *v_permissions = NULL;
-	gs_free guint8 *old_permissions = NULL;
-	gs_free_error GError *error = NULL;
-	const char *pkey;
-	const char *pvalue;
-	int i;
-
-	ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (   !ret
-	    && nm_utils_error_is_cancelled (error))
-		return;
-
-	self = user_data;
-	priv = NM_CLIENT_GET_PRIVATE (self);
-
-	g_clear_object (&priv->permissions_cancellable);
-
-	old_permissions = g_steal_pointer (&priv->permissions);
-
-	if (!ret) {
-		/* when the call completes, we always pretend success. Even a failure means
-		 * that we fetched the permissions, however they are all unknown. */
-		NML_NMCLIENT_LOG_T (self, "GetPermissions call failed: %s", error->message);
-		goto out;
-	}
-
-	NML_NMCLIENT_LOG_T (self, "GetPermissions call finished with success");
-
-	g_variant_get (ret, "(a{ss})", &v_permissions);
-	while (g_variant_iter_next (v_permissions, "{&s&s}", &pkey, &pvalue)) {
-		NMClientPermission perm;
-		NMClientPermissionResult perm_result;
-
-		perm = nm_auth_permission_from_string (pkey);
-		if (perm == NM_CLIENT_PERMISSION_NONE)
-			continue;
-
-		perm_result = nm_client_permission_result_from_string (pvalue);
-
-		if (!priv->permissions) {
-			if (perm_result == NM_CLIENT_PERMISSION_RESULT_UNKNOWN)
-				continue;
-			priv->permissions = g_new (guint8, G_N_ELEMENTS (nm_auth_permission_sorted));
-			for (i = 0; i < (int) G_N_ELEMENTS (nm_auth_permission_sorted); i++)
-				priv->permissions[i] = NM_CLIENT_PERMISSION_RESULT_UNKNOWN;
-		}
-		priv->permissions[perm - 1] = perm_result;
-	}
+_dbus_check_permissions_start_cb(GObject *source, GAsyncResult *result, gpointer user_data)
+{
+    nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
+    NMClient *                             self;
+    NMClientPrivate *                      priv;
+    gs_unref_variant GVariant *ret                        = NULL;
+    nm_auto_free_variant_iter GVariantIter *v_permissions = NULL;
+    gs_free guint8 *old_permissions                       = NULL;
+    gs_free_error GError *error                           = NULL;
+    const char *          pkey;
+    const char *          pvalue;
+    int                   i;
+
+    ret = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (!ret && nm_utils_error_is_cancelled(error))
+        return;
+
+    self = user_data;
+    priv = NM_CLIENT_GET_PRIVATE(self);
+
+    g_clear_object(&priv->permissions_cancellable);
+
+    old_permissions = g_steal_pointer(&priv->permissions);
+
+    if (!ret) {
+        /* when the call completes, we always pretend success. Even a failure means
+         * that we fetched the permissions, however they are all unknown. */
+        NML_NMCLIENT_LOG_T(self, "GetPermissions call failed: %s", error->message);
+        goto out;
+    }
+
+    NML_NMCLIENT_LOG_T(self, "GetPermissions call finished with success");
+
+    g_variant_get(ret, "(a{ss})", &v_permissions);
+    while (g_variant_iter_next(v_permissions, "{&s&s}", &pkey, &pvalue)) {
+        NMClientPermission       perm;
+        NMClientPermissionResult perm_result;
+
+        perm = nm_auth_permission_from_string(pkey);
+        if (perm == NM_CLIENT_PERMISSION_NONE)
+            continue;
+
+        perm_result = nm_client_permission_result_from_string(pvalue);
+
+        if (!priv->permissions) {
+            if (perm_result == NM_CLIENT_PERMISSION_RESULT_UNKNOWN)
+                continue;
+            priv->permissions = g_new(guint8, G_N_ELEMENTS(nm_auth_permission_sorted));
+            for (i = 0; i < (int) G_N_ELEMENTS(nm_auth_permission_sorted); i++)
+                priv->permissions[i] = NM_CLIENT_PERMISSION_RESULT_UNKNOWN;
+        }
+        priv->permissions[perm - 1] = perm_result;
+    }
 
 out:
-	priv->permissions_state = NM_TERNARY_TRUE;
+    priv->permissions_state = NM_TERNARY_TRUE;
 
-	dbus_context = nm_g_main_context_push_thread_default_if_necessary (priv->main_context);
-	_emit_permissions_changed (self, old_permissions, priv->permissions);
-	_notify (self, PROP_PERMISSIONS_STATE);
+    dbus_context = nm_g_main_context_push_thread_default_if_necessary(priv->main_context);
+    _emit_permissions_changed(self, old_permissions, priv->permissions);
+    _notify(self, PROP_PERMISSIONS_STATE);
 }
 
 static void
-_dbus_check_permissions_start (NMClient *self)
+_dbus_check_permissions_start(NMClient *self)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	gboolean fetch;
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+    gboolean         fetch;
 
-	fetch = !NM_FLAGS_HAS ((NMClientInstanceFlags) priv->instance_flags,
-	                       NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS);
+    fetch = !NM_FLAGS_HAS((NMClientInstanceFlags) priv->instance_flags,
+                          NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS);
 
-	nm_clear_g_cancellable (&priv->permissions_cancellable);
+    nm_clear_g_cancellable(&priv->permissions_cancellable);
 
-	if (fetch) {
-		NML_NMCLIENT_LOG_T (self, "GetPermissions() call started...");
+    if (fetch) {
+        NML_NMCLIENT_LOG_T(self, "GetPermissions() call started...");
 
-		priv->permissions_cancellable = g_cancellable_new ();
-		_nm_client_dbus_call_simple (self,
-		                             priv->permissions_cancellable,
-		                             NM_DBUS_PATH,
-		                             NM_DBUS_INTERFACE,
-		                             "GetPermissions",
-		                             g_variant_new ("()"),
-		                             G_VARIANT_TYPE ("(a{ss})"),
-		                             G_DBUS_CALL_FLAGS_NONE,
-		                             NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-		                             _dbus_check_permissions_start_cb,
-		                             self);
-	}
+        priv->permissions_cancellable = g_cancellable_new();
+        _nm_client_dbus_call_simple(self,
+                                    priv->permissions_cancellable,
+                                    NM_DBUS_PATH,
+                                    NM_DBUS_INTERFACE,
+                                    "GetPermissions",
+                                    g_variant_new("()"),
+                                    G_VARIANT_TYPE("(a{ss})"),
+                                    G_DBUS_CALL_FLAGS_NONE,
+                                    NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                    _dbus_check_permissions_start_cb,
+                                    self);
+    }
 }
 
 static void
-_dbus_nm_check_permissions_cb (GDBusConnection *connection,
-                               const char *sender_name,
-                               const char *object_path,
-                               const char *signal_interface_name,
-                               const char *signal_name,
-                               GVariant *parameters,
-                               gpointer user_data)
+_dbus_nm_check_permissions_cb(GDBusConnection *connection,
+                              const char *     sender_name,
+                              const char *     object_path,
+                              const char *     signal_interface_name,
+                              const char *     signal_name,
+                              GVariant *       parameters,
+                              gpointer         user_data)
 {
-	NMClient *self = user_data;
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClient *       self = user_data;
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("()"))) {
-		NML_NMCLIENT_LOG_E (self, "ignore CheckPermissions signal with unexpected signature %s",
-		                    g_variant_get_type_string (parameters));
-		return;
-	}
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("()"))) {
+        NML_NMCLIENT_LOG_E(self,
+                           "ignore CheckPermissions signal with unexpected signature %s",
+                           g_variant_get_type_string(parameters));
+        return;
+    }
 
-	_dbus_check_permissions_start (self);
+    _dbus_check_permissions_start(self);
 
-	if (priv->permissions_state == NM_TERNARY_TRUE)
-		priv->permissions_state = NM_TERNARY_FALSE;
-	_notify (self, PROP_PERMISSIONS_STATE);
+    if (priv->permissions_state == NM_TERNARY_TRUE)
+        priv->permissions_state = NM_TERNARY_FALSE;
+    _notify(self, PROP_PERMISSIONS_STATE);
 }
 
 /*****************************************************************************/
 
 static void
-_property_ao_notify_changed_connections_cb (NMLDBusPropertyAO *pr_ao,
-                                            NMClient *self,
-                                            NMObject *nmobj,
-                                            gboolean is_added /* or else removed */)
+_property_ao_notify_changed_connections_cb(NMLDBusPropertyAO *pr_ao,
+                                           NMClient *         self,
+                                           NMObject *         nmobj,
+                                           gboolean           is_added /* or else removed */)
 {
-	_nm_client_notify_event_queue_emit_obj_signal (self,
-	                                               G_OBJECT (self),
-	                                               nmobj,
-	                                               is_added,
-	                                               5,
-	                                                 is_added
-	                                               ? signals[CONNECTION_ADDED]
-	                                               : signals[CONNECTION_REMOVED]);
+    _nm_client_notify_event_queue_emit_obj_signal(self,
+                                                  G_OBJECT(self),
+                                                  nmobj,
+                                                  is_added,
+                                                  5,
+                                                  is_added ? signals[CONNECTION_ADDED]
+                                                           : signals[CONNECTION_REMOVED]);
 }
 
 static void
-_property_ao_notify_changed_all_devices_cb (NMLDBusPropertyAO *pr_ao,
-                                            NMClient *self,
-                                            NMObject *nmobj,
-                                            gboolean is_added /* or else removed */)
+_property_ao_notify_changed_all_devices_cb(NMLDBusPropertyAO *pr_ao,
+                                           NMClient *         self,
+                                           NMObject *         nmobj,
+                                           gboolean           is_added /* or else removed */)
 {
-	_nm_client_notify_event_queue_emit_obj_signal (self,
-	                                               G_OBJECT (self),
-	                                               nmobj,
-	                                               is_added,
-	                                               6,
-	                                                 is_added
-	                                               ? signals[ANY_DEVICE_ADDED]
-	                                               : signals[ANY_DEVICE_REMOVED]);
+    _nm_client_notify_event_queue_emit_obj_signal(self,
+                                                  G_OBJECT(self),
+                                                  nmobj,
+                                                  is_added,
+                                                  6,
+                                                  is_added ? signals[ANY_DEVICE_ADDED]
+                                                           : signals[ANY_DEVICE_REMOVED]);
 }
 
 static void
-_property_ao_notify_changed_devices_cb (NMLDBusPropertyAO *pr_ao,
-                                        NMClient *self,
-                                        NMObject *nmobj,
-                                        gboolean is_added /* or else removed */)
+_property_ao_notify_changed_devices_cb(NMLDBusPropertyAO *pr_ao,
+                                       NMClient *         self,
+                                       NMObject *         nmobj,
+                                       gboolean           is_added /* or else removed */)
 {
-	_nm_client_notify_event_queue_emit_obj_signal (self,
-	                                               G_OBJECT (self),
-	                                               nmobj,
-	                                               is_added,
-	                                               7,
-	                                                 is_added
-	                                               ? signals[DEVICE_ADDED]
-	                                               : signals[DEVICE_REMOVED]);
+    _nm_client_notify_event_queue_emit_obj_signal(self,
+                                                  G_OBJECT(self),
+                                                  nmobj,
+                                                  is_added,
+                                                  7,
+                                                  is_added ? signals[DEVICE_ADDED]
+                                                           : signals[DEVICE_REMOVED]);
 }
 
 static void
-_property_ao_notify_changed_active_connections_cb (NMLDBusPropertyAO *pr_ao,
-                                                  NMClient *self,
-                                                  NMObject *nmobj,
-                                                  gboolean is_added /* or else removed */)
+_property_ao_notify_changed_active_connections_cb(NMLDBusPropertyAO *pr_ao,
+                                                  NMClient *         self,
+                                                  NMObject *         nmobj,
+                                                  gboolean           is_added /* or else removed */)
 {
-	_nm_client_notify_event_queue_emit_obj_signal (self,
-	                                               G_OBJECT (self),
-	                                               nmobj,
-	                                               is_added,
-	                                               8,
-	                                                 is_added
-	                                               ? signals[ACTIVE_CONNECTION_ADDED]
-	                                               : signals[ACTIVE_CONNECTION_REMOVED]);
+    _nm_client_notify_event_queue_emit_obj_signal(self,
+                                                  G_OBJECT(self),
+                                                  nmobj,
+                                                  is_added,
+                                                  8,
+                                                  is_added ? signals[ACTIVE_CONNECTION_ADDED]
+                                                           : signals[ACTIVE_CONNECTION_REMOVED]);
 }
 
 /*****************************************************************************/
 
 typedef struct {
-	NMLDBusObjWatcherWithPtr *obj_watcher;
-	const char *op_name;
-	NMLDBusObject *dbobj;
-	GTask *task;
-	GVariant *extra_results;
-	gpointer result;
-	GType gtype;
-	gulong cancellable_id;
+    NMLDBusObjWatcherWithPtr *obj_watcher;
+    const char *              op_name;
+    NMLDBusObject *           dbobj;
+    GTask *                   task;
+    GVariant *                extra_results;
+    gpointer                  result;
+    GType                     gtype;
+    gulong                    cancellable_id;
 } RequestWaitData;
 
 static void
-_request_wait_data_free (RequestWaitData *request_data)
+_request_wait_data_free(RequestWaitData *request_data)
 {
-	nm_assert (!request_data->obj_watcher);
-	nm_assert (request_data->cancellable_id == 0);
-	nm_assert (!request_data->task || G_IS_TASK (request_data->task));
+    nm_assert(!request_data->obj_watcher);
+    nm_assert(request_data->cancellable_id == 0);
+    nm_assert(!request_data->task || G_IS_TASK(request_data->task));
 
-	nm_g_object_unref (request_data->task);
-	nm_g_object_unref (request_data->result);
-	nm_g_variant_unref (request_data->extra_results);
-	if (request_data->dbobj)
-		nml_dbus_object_unref (request_data->dbobj);
-	nm_g_slice_free (request_data);
+    nm_g_object_unref(request_data->task);
+    nm_g_object_unref(request_data->result);
+    nm_g_variant_unref(request_data->extra_results);
+    if (request_data->dbobj)
+        nml_dbus_object_unref(request_data->dbobj);
+    nm_g_slice_free(request_data);
 }
 
 static void
-_request_wait_task_return (RequestWaitData *request_data)
+_request_wait_task_return(RequestWaitData *request_data)
 {
-	gs_unref_object GTask *task = NULL;
+    gs_unref_object GTask *task = NULL;
 
-	nm_assert (request_data);
-	nm_assert (G_IS_TASK (request_data->task));
-	nm_assert (request_data->dbobj);
-	nm_assert (NM_IS_OBJECT (request_data->dbobj->nmobj));
-	nm_assert (!request_data->result);
+    nm_assert(request_data);
+    nm_assert(G_IS_TASK(request_data->task));
+    nm_assert(request_data->dbobj);
+    nm_assert(NM_IS_OBJECT(request_data->dbobj->nmobj));
+    nm_assert(!request_data->result);
 
-	task = g_steal_pointer (&request_data->task);
+    task = g_steal_pointer(&request_data->task);
 
-	request_data->result = g_object_ref (request_data->dbobj->nmobj);
-	nm_clear_g_signal_handler (g_task_get_cancellable (task), &request_data->cancellable_id);
-	nm_clear_pointer (&request_data->dbobj, nml_dbus_object_unref);
-	g_task_return_pointer (task, request_data, (GDestroyNotify) _request_wait_data_free);
+    request_data->result = g_object_ref(request_data->dbobj->nmobj);
+    nm_clear_g_signal_handler(g_task_get_cancellable(task), &request_data->cancellable_id);
+    nm_clear_pointer(&request_data->dbobj, nml_dbus_object_unref);
+    g_task_return_pointer(task, request_data, (GDestroyNotify) _request_wait_data_free);
 }
 
 static gboolean
-_request_wait_complete (NMClient *self,
-                        RequestWaitData *request_data,
-                        gboolean force_complete)
-{
-	NMLDBusObject *dbobj;
-
-	nm_assert (request_data);
-	nm_assert (!request_data->result);
-	nm_assert (!request_data->obj_watcher);
-	nm_assert (request_data->dbobj);
-
-	dbobj = request_data->dbobj;
-
-	if (dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY) {
-		NML_NMCLIENT_LOG_D (self, "%s() succeeded with %s", request_data->op_name, dbobj->dbus_path->str);
-		nm_assert (G_TYPE_CHECK_INSTANCE_TYPE (dbobj->nmobj, request_data->gtype));
-		_request_wait_task_return (request_data);
-		return TRUE;
-	}
-
-	if (   force_complete
-	    || dbobj->obj_state != NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY) {
-		if (force_complete)
-			NML_NMCLIENT_LOG_D (self, "%s() succeeded with %s but object is in an unsuitable state", request_data->op_name, dbobj->dbus_path->str);
-		else
-			NML_NMCLIENT_LOG_W (self, "%s() succeeded with %s but object is in an unsuitable state", request_data->op_name, dbobj->dbus_path->str);
-
-		g_task_return_error (request_data->task, g_error_new (NM_CLIENT_ERROR,
-		                                                      NM_CLIENT_ERROR_OBJECT_CREATION_FAILED,
-		                                                      _("request succeeded with %s but object is in an unsuitable state"),
-		                                                      dbobj->dbus_path->str));
-		_request_wait_data_free (request_data);
-		return TRUE;
-	}
-
-	return FALSE;
+_request_wait_complete(NMClient *self, RequestWaitData *request_data, gboolean force_complete)
+{
+    NMLDBusObject *dbobj;
+
+    nm_assert(request_data);
+    nm_assert(!request_data->result);
+    nm_assert(!request_data->obj_watcher);
+    nm_assert(request_data->dbobj);
+
+    dbobj = request_data->dbobj;
+
+    if (dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY) {
+        NML_NMCLIENT_LOG_D(self,
+                           "%s() succeeded with %s",
+                           request_data->op_name,
+                           dbobj->dbus_path->str);
+        nm_assert(G_TYPE_CHECK_INSTANCE_TYPE(dbobj->nmobj, request_data->gtype));
+        _request_wait_task_return(request_data);
+        return TRUE;
+    }
+
+    if (force_complete || dbobj->obj_state != NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY) {
+        if (force_complete)
+            NML_NMCLIENT_LOG_D(self,
+                               "%s() succeeded with %s but object is in an unsuitable state",
+                               request_data->op_name,
+                               dbobj->dbus_path->str);
+        else
+            NML_NMCLIENT_LOG_W(self,
+                               "%s() succeeded with %s but object is in an unsuitable state",
+                               request_data->op_name,
+                               dbobj->dbus_path->str);
+
+        g_task_return_error(
+            request_data->task,
+            g_error_new(NM_CLIENT_ERROR,
+                        NM_CLIENT_ERROR_OBJECT_CREATION_FAILED,
+                        _("request succeeded with %s but object is in an unsuitable state"),
+                        dbobj->dbus_path->str));
+        _request_wait_data_free(request_data);
+        return TRUE;
+    }
+
+    return FALSE;
 }
 
 static void
-_request_wait_complete_cb (NMClient *self,
-                           NMClientNotifyEventWithPtr *notify_event)
+_request_wait_complete_cb(NMClient *self, NMClientNotifyEventWithPtr *notify_event)
 {
-	_request_wait_complete (self,
-	                        notify_event->user_data,
-	                        TRUE);
+    _request_wait_complete(self, notify_event->user_data, TRUE);
 }
 
 static void
-_request_wait_obj_watcher_cb (NMClient *self,
-                              gpointer obj_watcher_base)
+_request_wait_obj_watcher_cb(NMClient *self, gpointer obj_watcher_base)
 {
-	NMLDBusObjWatcherWithPtr *obj_watcher = obj_watcher_base;
-	RequestWaitData *request_data = obj_watcher->user_data;
-	NMLDBusObject *dbobj;
+    NMLDBusObjWatcherWithPtr *obj_watcher  = obj_watcher_base;
+    RequestWaitData *         request_data = obj_watcher->user_data;
+    NMLDBusObject *           dbobj;
 
-	dbobj = request_data->dbobj;
+    dbobj = request_data->dbobj;
 
-	if (dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY)
-		return;
+    if (dbobj->obj_state == NML_DBUS_OBJ_STATE_WITH_NMOBJ_NOT_READY)
+        return;
 
-	nm_assert (NM_IN_SET ((NMLDBusObjState) dbobj->obj_state, NML_DBUS_OBJ_STATE_WATCHED_ONLY,
-	                                                          NML_DBUS_OBJ_STATE_ON_DBUS,
-	                                                          NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY));
+    nm_assert(NM_IN_SET((NMLDBusObjState) dbobj->obj_state,
+                        NML_DBUS_OBJ_STATE_WATCHED_ONLY,
+                        NML_DBUS_OBJ_STATE_ON_DBUS,
+                        NML_DBUS_OBJ_STATE_WITH_NMOBJ_READY));
 
-	_dbobjs_obj_watcher_unregister (self, g_steal_pointer (&request_data->obj_watcher));
+    _dbobjs_obj_watcher_unregister(self, g_steal_pointer(&request_data->obj_watcher));
 
-	nm_clear_g_signal_handler (g_task_get_cancellable (request_data->task), &request_data->cancellable_id);
+    nm_clear_g_signal_handler(g_task_get_cancellable(request_data->task),
+                              &request_data->cancellable_id);
 
-	_nm_client_notify_event_queue_with_ptr (self,
-	                                        NM_CLIENT_NOTIFY_EVENT_PRIO_AFTER + 30,
-	                                        _request_wait_complete_cb,
-	                                        request_data);
+    _nm_client_notify_event_queue_with_ptr(self,
+                                           NM_CLIENT_NOTIFY_EVENT_PRIO_AFTER + 30,
+                                           _request_wait_complete_cb,
+                                           request_data);
 }
 
 static void
-_request_wait_cancelled_cb (GCancellable *cancellable,
-                            gpointer user_data)
+_request_wait_cancelled_cb(GCancellable *cancellable, gpointer user_data)
 {
-	RequestWaitData *request_data = user_data;
-	NMClient *self;
-	GError *error = NULL;
+    RequestWaitData *request_data = user_data;
+    NMClient *       self;
+    GError *         error = NULL;
 
-	nm_assert (cancellable == g_task_get_cancellable (request_data->task));
+    nm_assert(cancellable == g_task_get_cancellable(request_data->task));
 
-	nm_utils_error_set_cancelled (&error, FALSE, NULL);
+    nm_utils_error_set_cancelled(&error, FALSE, NULL);
 
-	self = g_task_get_source_object (request_data->task);
+    self = g_task_get_source_object(request_data->task);
 
-	nm_clear_g_signal_handler (cancellable, &request_data->cancellable_id);
+    nm_clear_g_signal_handler(cancellable, &request_data->cancellable_id);
 
-	_dbobjs_obj_watcher_unregister (self, g_steal_pointer (&request_data->obj_watcher));
+    _dbobjs_obj_watcher_unregister(self, g_steal_pointer(&request_data->obj_watcher));
 
-	g_task_return_error (request_data->task, error);
+    g_task_return_error(request_data->task, error);
 
-	_request_wait_data_free (request_data);
+    _request_wait_data_free(request_data);
 }
 
 static void
-_request_wait_start (GTask *task_take,
-                     const char *op_name,
-                     GType gtype,
-                     const char *dbus_path,
-                     GVariant *extra_results_take)
-{
-	NMClient *self;
-	gs_unref_object GTask *task = g_steal_pointer (&task_take);
-	RequestWaitData *request_data;
-	GCancellable *cancellable;
-	NMLDBusObject *dbobj;
-
-	nm_assert (G_IS_TASK (task));
-
-	self = g_task_get_source_object (task);
-
-	dbobj = _dbobjs_get_nmobj (self, dbus_path, gtype);
-
-	if (!dbobj) {
-		NML_NMCLIENT_LOG_E (self, "%s() succeeded with %s but object does not exist", op_name, dbus_path);
-		g_task_return_error (task, g_error_new (NM_CLIENT_ERROR,
-		                                        NM_CLIENT_ERROR_FAILED,
-		                                        _("operation succeeded but object %s does not exist"),
-		                                        dbus_path));
-		return;
-	}
-
-	request_data = g_slice_new (RequestWaitData);
-	*request_data = (RequestWaitData) {
-		.task           = g_steal_pointer (&task),
-		.op_name        = op_name,
-		.gtype          = gtype,
-		.dbobj          = nml_dbus_object_ref (dbobj),
-		.obj_watcher    = NULL,
-		.extra_results  = g_steal_pointer (&extra_results_take),
-		.result         = NULL,
-		.cancellable_id = 0,
-	};
-
-	if (_request_wait_complete (self, request_data, FALSE))
-		return;
-
-	NML_NMCLIENT_LOG_T (self, "%s() succeeded with %s. Wait for object to become ready", op_name, dbobj->dbus_path->str);
-
-	request_data->obj_watcher = _dbobjs_obj_watcher_register_o (self,
-	                                                            dbobj,
-	                                                            _request_wait_obj_watcher_cb,
-	                                                            sizeof (NMLDBusObjWatcherWithPtr));
-	request_data->obj_watcher->user_data = request_data;
-
-	cancellable = g_task_get_cancellable (request_data->task);
-	if (cancellable) {
-		gulong id;
-
-		id = g_cancellable_connect (cancellable,
-		                            G_CALLBACK (_request_wait_cancelled_cb),
-		                            request_data,
-		                            NULL);
-		if (id == 0) {
-			/* the callback was invoked synchronously, which destroyed @request_data.
-			 * We must not touch @info anymore. */
-		} else
-			request_data->cancellable_id = id;
-	}
+_request_wait_start(GTask *     task_take,
+                    const char *op_name,
+                    GType       gtype,
+                    const char *dbus_path,
+                    GVariant *  extra_results_take)
+{
+    NMClient *      self;
+    gs_unref_object GTask *task = g_steal_pointer(&task_take);
+    RequestWaitData *      request_data;
+    GCancellable *         cancellable;
+    NMLDBusObject *        dbobj;
+
+    nm_assert(G_IS_TASK(task));
+
+    self = g_task_get_source_object(task);
+
+    dbobj = _dbobjs_get_nmobj(self, dbus_path, gtype);
+
+    if (!dbobj) {
+        NML_NMCLIENT_LOG_E(self,
+                           "%s() succeeded with %s but object does not exist",
+                           op_name,
+                           dbus_path);
+        g_task_return_error(task,
+                            g_error_new(NM_CLIENT_ERROR,
+                                        NM_CLIENT_ERROR_FAILED,
+                                        _("operation succeeded but object %s does not exist"),
+                                        dbus_path));
+        return;
+    }
+
+    request_data  = g_slice_new(RequestWaitData);
+    *request_data = (RequestWaitData){
+        .task           = g_steal_pointer(&task),
+        .op_name        = op_name,
+        .gtype          = gtype,
+        .dbobj          = nml_dbus_object_ref(dbobj),
+        .obj_watcher    = NULL,
+        .extra_results  = g_steal_pointer(&extra_results_take),
+        .result         = NULL,
+        .cancellable_id = 0,
+    };
+
+    if (_request_wait_complete(self, request_data, FALSE))
+        return;
+
+    NML_NMCLIENT_LOG_T(self,
+                       "%s() succeeded with %s. Wait for object to become ready",
+                       op_name,
+                       dbobj->dbus_path->str);
+
+    request_data->obj_watcher            = _dbobjs_obj_watcher_register_o(self,
+                                                               dbobj,
+                                                               _request_wait_obj_watcher_cb,
+                                                               sizeof(NMLDBusObjWatcherWithPtr));
+    request_data->obj_watcher->user_data = request_data;
+
+    cancellable = g_task_get_cancellable(request_data->task);
+    if (cancellable) {
+        gulong id;
+
+        id = g_cancellable_connect(cancellable,
+                                   G_CALLBACK(_request_wait_cancelled_cb),
+                                   request_data,
+                                   NULL);
+        if (id == 0) {
+            /* the callback was invoked synchronously, which destroyed @request_data.
+             * We must not touch @info anymore. */
+        } else
+            request_data->cancellable_id = id;
+    }
 }
 
 static gpointer
-_request_wait_finish (NMClient *client,
-                      GAsyncResult *result,
-                      gpointer source_tag,
-                      GVariant **out_result,
-                      GError **error)
+_request_wait_finish(NMClient *    client,
+                     GAsyncResult *result,
+                     gpointer      source_tag,
+                     GVariant **   out_result,
+                     GError **     error)
 {
-	RequestWaitData *request_data = NULL;
-	gpointer r;
+    RequestWaitData *request_data = NULL;
+    gpointer         r;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, source_tag), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, source_tag), NULL);
 
-	request_data = g_task_propagate_pointer (G_TASK (result), error);
-	if (!request_data) {
-		NM_SET_OUT (out_result, NULL);
-		return NULL;
-	}
+    request_data = g_task_propagate_pointer(G_TASK(result), error);
+    if (!request_data) {
+        NM_SET_OUT(out_result, NULL);
+        return NULL;
+    }
 
-	nm_assert (NM_IS_OBJECT (request_data->result));
+    nm_assert(NM_IS_OBJECT(request_data->result));
 
-	NM_SET_OUT (out_result, g_steal_pointer (&request_data->extra_results));
-	r = g_steal_pointer (&request_data->result);
+    NM_SET_OUT(out_result, g_steal_pointer(&request_data->extra_results));
+    r = g_steal_pointer(&request_data->result);
 
-	nm_assert (NM_IS_OBJECT (r));
+    nm_assert(NM_IS_OBJECT(r));
 
-	_request_wait_data_free (request_data);
-	return r;
+    _request_wait_data_free(request_data);
+    return r;
 }
 
 /*****************************************************************************/
@@ -3854,11 +3942,11 @@ _request_wait_finish (NMClient *client,
  * Since: 1.24
  */
 NMClientInstanceFlags
-nm_client_get_instance_flags (NMClient *self)
+nm_client_get_instance_flags(NMClient *self)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (self), NM_CLIENT_INSTANCE_FLAGS_NONE);
+    g_return_val_if_fail(NM_IS_CLIENT(self), NM_CLIENT_INSTANCE_FLAGS_NONE);
 
-	return NM_CLIENT_GET_PRIVATE (self)->instance_flags;
+    return NM_CLIENT_GET_PRIVATE(self)->instance_flags;
 }
 
 /**
@@ -3874,11 +3962,11 @@ nm_client_get_instance_flags (NMClient *self)
  * Since: 1.22
  **/
 GDBusConnection *
-nm_client_get_dbus_connection (NMClient *client)
+nm_client_get_dbus_connection(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return NM_CLIENT_GET_PRIVATE (client)->dbus_connection;
+    return NM_CLIENT_GET_PRIVATE(client)->dbus_connection;
 }
 
 /**
@@ -3890,11 +3978,11 @@ nm_client_get_dbus_connection (NMClient *client)
  * Since: 1.22
  **/
 const char *
-nm_client_get_dbus_name_owner (NMClient *client)
+nm_client_get_dbus_name_owner(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return NM_CLIENT_GET_PRIVATE (client)->name_owner;
+    return NM_CLIENT_GET_PRIVATE(client)->name_owner;
 }
 
 /**
@@ -3906,11 +3994,11 @@ nm_client_get_dbus_name_owner (NMClient *client)
  * Returns: string with the version (or %NULL if NetworkManager is not running)
  **/
 const char *
-nm_client_get_version (NMClient *client)
+nm_client_get_version(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.version;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.version;
 }
 
 /**
@@ -3922,11 +4010,11 @@ nm_client_get_version (NMClient *client)
  * Returns: the current %NMState
  **/
 NMState
-nm_client_get_state (NMClient *client)
+nm_client_get_state(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NM_STATE_UNKNOWN);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NM_STATE_UNKNOWN);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.state;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.state;
 }
 
 /**
@@ -3939,24 +4027,24 @@ nm_client_get_state (NMClient *client)
  * Returns: whether the daemon is still starting up
  **/
 gboolean
-nm_client_get_startup (NMClient *client)
+nm_client_get_startup(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.startup;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.startup;
 }
 
 static void
-_set_nm_running (NMClient *self)
+_set_nm_running(NMClient *self)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	gboolean nm_running;
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+    gboolean         nm_running;
 
-	nm_running = priv->name_owner && !priv->get_managed_objects_cancellable;
-	if (priv->nm_running != nm_running) {
-		priv->nm_running = nm_running;
-		_notify (self, PROP_NM_RUNNING);
-	}
+    nm_running = priv->name_owner && !priv->get_managed_objects_cancellable;
+    if (priv->nm_running != nm_running) {
+        priv->nm_running = nm_running;
+        _notify(self, PROP_NM_RUNNING);
+    }
 }
 
 /**
@@ -3968,11 +4056,11 @@ _set_nm_running (NMClient *self)
  * Returns: %TRUE if the daemon is running
  **/
 gboolean
-nm_client_get_nm_running (NMClient *client)
+nm_client_get_nm_running(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm_running;
+    return NM_CLIENT_GET_PRIVATE(client)->nm_running;
 }
 
 /**
@@ -3986,13 +4074,12 @@ nm_client_get_nm_running (NMClient *client)
  * Since: 1.24
  */
 NMObject *
-nm_client_get_object_by_path (NMClient *client,
-                              const char *dbus_path)
+nm_client_get_object_by_path(NMClient *client, const char *dbus_path)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
-	g_return_val_if_fail (dbus_path, NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
+    g_return_val_if_fail(dbus_path, NULL);
 
-	return _dbobjs_get_nmobj_unpack_visible (client, dbus_path, G_TYPE_NONE);
+    return _dbobjs_get_nmobj_unpack_visible(client, dbus_path, G_TYPE_NONE);
 }
 
 /**
@@ -4004,11 +4091,11 @@ nm_client_get_object_by_path (NMClient *client,
  * Since: 1.22
  */
 NMMetered
-nm_client_get_metered (NMClient *client)
+nm_client_get_metered(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NM_METERED_UNKNOWN);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NM_METERED_UNKNOWN);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.metered;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.metered;
 }
 
 /**
@@ -4020,11 +4107,11 @@ nm_client_get_metered (NMClient *client)
  * Returns: %TRUE if networking is enabled, %FALSE if networking is disabled
  **/
 gboolean
-nm_client_networking_get_enabled (NMClient *client)
+nm_client_networking_get_enabled(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.networking_enabled;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.networking_enabled;
 }
 
 /**
@@ -4043,20 +4130,20 @@ nm_client_networking_get_enabled (NMClient *client)
  * %NM_DBUS_INTERFACE to call "Enable" with "(b)" arguments and no return value.
  **/
 gboolean
-nm_client_networking_set_enabled (NMClient *client, gboolean enable, GError **error)
+nm_client_networking_set_enabled(NMClient *client, gboolean enable, GError **error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return _nm_client_dbus_call_sync_void (client,
-	                                       NULL,
-	                                       NM_DBUS_PATH,
-	                                       NM_DBUS_INTERFACE,
-	                                       "Enable",
-	                                       g_variant_new ("(b)", enable),
-	                                       G_DBUS_CALL_FLAGS_NONE,
-	                                       NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                                       TRUE,
-	                                       error);
+    return _nm_client_dbus_call_sync_void(client,
+                                          NULL,
+                                          NM_DBUS_PATH,
+                                          NM_DBUS_INTERFACE,
+                                          "Enable",
+                                          g_variant_new("(b)", enable),
+                                          G_DBUS_CALL_FLAGS_NONE,
+                                          NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                          TRUE,
+                                          error);
 }
 
 /**
@@ -4068,11 +4155,11 @@ nm_client_networking_set_enabled (NMClient *client, gboolean enable, GError **er
  * Returns: %TRUE if wireless is enabled
  **/
 gboolean
-nm_client_wireless_get_enabled (NMClient *client)
+nm_client_wireless_get_enabled(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.wireless_enabled;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.wireless_enabled;
 }
 
 /**
@@ -4086,16 +4173,16 @@ nm_client_wireless_get_enabled (NMClient *client)
  * %NM_DBUS_INTERFACE to set "WirelessEnabled" property to a "(b)" value.
  */
 void
-nm_client_wireless_set_enabled (NMClient *client, gboolean enabled)
+nm_client_wireless_set_enabled(NMClient *client, gboolean enabled)
 {
-	g_return_if_fail (NM_IS_CLIENT (client));
+    g_return_if_fail(NM_IS_CLIENT(client));
 
-	_nm_client_set_property_sync_legacy (client,
-	                                     NM_DBUS_PATH,
-	                                     NM_DBUS_INTERFACE,
-	                                     "WirelessEnabled",
-	                                     "b",
-	                                     enabled);
+    _nm_client_set_property_sync_legacy(client,
+                                        NM_DBUS_PATH,
+                                        NM_DBUS_INTERFACE,
+                                        "WirelessEnabled",
+                                        "b",
+                                        enabled);
 }
 
 /**
@@ -4107,11 +4194,11 @@ nm_client_wireless_set_enabled (NMClient *client, gboolean enabled)
  * Returns: %TRUE if the wireless hardware is enabled
  **/
 gboolean
-nm_client_wireless_hardware_get_enabled (NMClient *client)
+nm_client_wireless_hardware_get_enabled(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.wireless_hardware_enabled;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.wireless_hardware_enabled;
 }
 
 /**
@@ -4123,11 +4210,11 @@ nm_client_wireless_hardware_get_enabled (NMClient *client)
  * Returns: %TRUE if WWAN is enabled
  **/
 gboolean
-nm_client_wwan_get_enabled (NMClient *client)
+nm_client_wwan_get_enabled(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.wwan_enabled;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.wwan_enabled;
 }
 
 /**
@@ -4141,16 +4228,16 @@ nm_client_wwan_get_enabled (NMClient *client)
  * %NM_DBUS_INTERFACE to set "WwanEnabled" property to a "(b)" value.
  **/
 void
-nm_client_wwan_set_enabled (NMClient *client, gboolean enabled)
+nm_client_wwan_set_enabled(NMClient *client, gboolean enabled)
 {
-	g_return_if_fail (NM_IS_CLIENT (client));
+    g_return_if_fail(NM_IS_CLIENT(client));
 
-	_nm_client_set_property_sync_legacy (client,
-	                                     NM_DBUS_PATH,
-	                                     NM_DBUS_INTERFACE,
-	                                     "WwanEnabled",
-	                                     "b",
-	                                     enabled);
+    _nm_client_set_property_sync_legacy(client,
+                                        NM_DBUS_PATH,
+                                        NM_DBUS_INTERFACE,
+                                        "WwanEnabled",
+                                        "b",
+                                        enabled);
 }
 
 /**
@@ -4162,11 +4249,11 @@ nm_client_wwan_set_enabled (NMClient *client, gboolean enabled)
  * Returns: %TRUE if the WWAN hardware is enabled
  **/
 gboolean
-nm_client_wwan_hardware_get_enabled (NMClient *client)
+nm_client_wwan_hardware_get_enabled(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.wwan_hardware_enabled;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.wwan_hardware_enabled;
 }
 
 /**
@@ -4180,11 +4267,11 @@ nm_client_wwan_hardware_get_enabled (NMClient *client)
  * Deprecated: 1.22: This function always returns FALSE because WiMax is no longer supported.
  **/
 gboolean
-nm_client_wimax_get_enabled (NMClient *client)
+nm_client_wimax_get_enabled(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return FALSE;
+    return FALSE;
 }
 
 /**
@@ -4197,9 +4284,9 @@ nm_client_wimax_get_enabled (NMClient *client)
  * Deprecated: 1.22: This function does nothing because WiMax is no longer supported.
  **/
 void
-nm_client_wimax_set_enabled (NMClient *client, gboolean enabled)
+nm_client_wimax_set_enabled(NMClient *client, gboolean enabled)
 {
-	g_return_if_fail (NM_IS_CLIENT (client));
+    g_return_if_fail(NM_IS_CLIENT(client));
 }
 
 /**
@@ -4213,11 +4300,11 @@ nm_client_wimax_set_enabled (NMClient *client, gboolean enabled)
  * Deprecated: 1.22: This function always returns FALSE because WiMax is no longer supported.
  **/
 gboolean
-nm_client_wimax_hardware_get_enabled (NMClient *client)
+nm_client_wimax_hardware_get_enabled(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return FALSE;
+    return FALSE;
 }
 
 /**
@@ -4233,11 +4320,11 @@ nm_client_wimax_hardware_get_enabled (NMClient *client)
  * Since: 1.10
  */
 gboolean
-nm_client_connectivity_check_get_available (NMClient *client)
+nm_client_connectivity_check_get_available(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.connectivity_check_available;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.connectivity_check_available;
 }
 
 /**
@@ -4251,11 +4338,11 @@ nm_client_connectivity_check_get_available (NMClient *client)
  * Since: 1.10
  */
 gboolean
-nm_client_connectivity_check_get_enabled (NMClient *client)
+nm_client_connectivity_check_get_enabled(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.connectivity_check_enabled;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.connectivity_check_enabled;
 }
 
 /**
@@ -4273,16 +4360,16 @@ nm_client_connectivity_check_get_enabled (NMClient *client)
  * %NM_DBUS_INTERFACE to set "ConnectivityCheckEnabled" property to a "(b)" value.
  */
 void
-nm_client_connectivity_check_set_enabled (NMClient *client, gboolean enabled)
+nm_client_connectivity_check_set_enabled(NMClient *client, gboolean enabled)
 {
-	g_return_if_fail (NM_IS_CLIENT (client));
+    g_return_if_fail(NM_IS_CLIENT(client));
 
-	_nm_client_set_property_sync_legacy (client,
-	                                     NM_DBUS_PATH,
-	                                     NM_DBUS_INTERFACE,
-	                                     "ConnectivityCheckEnabled",
-	                                     "b",
-	                                     enabled);
+    _nm_client_set_property_sync_legacy(client,
+                                        NM_DBUS_PATH,
+                                        NM_DBUS_INTERFACE,
+                                        "ConnectivityCheckEnabled",
+                                        "b",
+                                        enabled);
 }
 
 /**
@@ -4297,11 +4384,11 @@ nm_client_connectivity_check_set_enabled (NMClient *client, gboolean enabled)
  * Since: 1.20
  */
 const char *
-nm_client_connectivity_check_get_uri (NMClient *client)
+nm_client_connectivity_check_get_uri(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.connectivity_check_uri;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.connectivity_check_uri;
 }
 
 /**
@@ -4321,37 +4408,31 @@ nm_client_connectivity_check_get_uri (NMClient *client)
  * and domains.
  **/
 gboolean
-nm_client_get_logging (NMClient *client,
-                       char **level,
-                       char **domains,
-                       GError **error)
-{
-	gs_unref_variant GVariant *ret = NULL;
-
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (level == NULL || *level == NULL, FALSE);
-	g_return_val_if_fail (domains == NULL || *domains == NULL, FALSE);
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
-
-	ret = _nm_client_dbus_call_sync (client,
-	                                 NULL,
-	                                 NM_DBUS_PATH,
-	                                 NM_DBUS_INTERFACE,
-	                                 "GetLogging",
-	                                 g_variant_new ("()"),
-	                                 G_VARIANT_TYPE ("(ss)"),
-	                                 G_DBUS_CALL_FLAGS_NONE,
-	                                 NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                                 TRUE,
-	                                 error);
-	if (!ret)
-		return FALSE;
-
-	g_variant_get (ret,
-	               "(ss)",
-	               level,
-	               domains);
-	return TRUE;
+nm_client_get_logging(NMClient *client, char **level, char **domains, GError **error)
+{
+    gs_unref_variant GVariant *ret = NULL;
+
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(level == NULL || *level == NULL, FALSE);
+    g_return_val_if_fail(domains == NULL || *domains == NULL, FALSE);
+    g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
+
+    ret = _nm_client_dbus_call_sync(client,
+                                    NULL,
+                                    NM_DBUS_PATH,
+                                    NM_DBUS_INTERFACE,
+                                    "GetLogging",
+                                    g_variant_new("()"),
+                                    G_VARIANT_TYPE("(ss)"),
+                                    G_DBUS_CALL_FLAGS_NONE,
+                                    NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                    TRUE,
+                                    error);
+    if (!ret)
+        return FALSE;
+
+    g_variant_get(ret, "(ss)", level, domains);
+    return TRUE;
 }
 
 /**
@@ -4370,23 +4451,21 @@ nm_client_get_logging (NMClient *client,
  * %NM_DBUS_INTERFACE to call "SetLogging" with "(ss)" arguments for level and domains.
  **/
 gboolean
-nm_client_set_logging (NMClient *client, const char *level, const char *domains, GError **error)
+nm_client_set_logging(NMClient *client, const char *level, const char *domains, GError **error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(error == NULL || *error == NULL, FALSE);
 
-	return _nm_client_dbus_call_sync_void (client,
-	                                       NULL,
-	                                       NM_DBUS_PATH,
-	                                       NM_DBUS_INTERFACE,
-	                                       "SetLogging",
-	                                       g_variant_new ("(ss)",
-	                                                      level ?: "",
-	                                                      domains ?: ""),
-	                                       G_DBUS_CALL_FLAGS_NONE,
-	                                       NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                                       TRUE,
-	                                       error);
+    return _nm_client_dbus_call_sync_void(client,
+                                          NULL,
+                                          NM_DBUS_PATH,
+                                          NM_DBUS_INTERFACE,
+                                          "SetLogging",
+                                          g_variant_new("(ss)", level ?: "", domains ?: ""),
+                                          G_DBUS_CALL_FLAGS_NONE,
+                                          NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                          TRUE,
+                                          error);
 }
 
 /**
@@ -4400,21 +4479,20 @@ nm_client_set_logging (NMClient *client, const char *level, const char *domains,
  * Returns: the permission's result, one of #NMClientPermissionResult
  **/
 NMClientPermissionResult
-nm_client_get_permission_result (NMClient *client, NMClientPermission permission)
+nm_client_get_permission_result(NMClient *client, NMClientPermission permission)
 {
-	NMClientPrivate *priv;
-	NMClientPermissionResult result = NM_CLIENT_PERMISSION_RESULT_UNKNOWN;
+    NMClientPrivate *        priv;
+    NMClientPermissionResult result = NM_CLIENT_PERMISSION_RESULT_UNKNOWN;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), NM_CLIENT_PERMISSION_RESULT_UNKNOWN);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NM_CLIENT_PERMISSION_RESULT_UNKNOWN);
 
-	if (   permission > NM_CLIENT_PERMISSION_NONE
-	    && permission <= NM_CLIENT_PERMISSION_LAST) {
-		priv = NM_CLIENT_GET_PRIVATE (client);
-		if (priv->permissions)
-			result = priv->permissions[permission - 1];
-	}
+    if (permission > NM_CLIENT_PERMISSION_NONE && permission <= NM_CLIENT_PERMISSION_LAST) {
+        priv = NM_CLIENT_GET_PRIVATE(client);
+        if (priv->permissions)
+            result = priv->permissions[permission - 1];
+    }
 
-	return result;
+    return result;
 }
 
 /**
@@ -4425,17 +4503,17 @@ nm_client_get_permission_result (NMClient *client, NMClientPermission permission
  *   means that no permissions result was yet received. All permissions
  *   are unknown. %NM_TERNARY_TRUE means that the permissions got received
  *   and are cached. %%NM_TERNARY_FALSE means that permissions are cached,
- *   but they are invalided as as "CheckPermissions" signal was received
+ *   but they are invalided as "CheckPermissions" signal was received
  *   in the meantime.
  *
  * Since: 1.24
  */
 NMTernary
-nm_client_get_permissions_state (NMClient *self)
+nm_client_get_permissions_state(NMClient *self)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (self), NM_TERNARY_DEFAULT);
+    g_return_val_if_fail(NM_IS_CLIENT(self), NM_TERNARY_DEFAULT);
 
-	return NM_CLIENT_GET_PRIVATE (self)->permissions_state;
+    return NM_CLIENT_GET_PRIVATE(self)->permissions_state;
 }
 
 /**
@@ -4450,11 +4528,11 @@ nm_client_get_permissions_state (NMClient *self)
  * Returns: the current connectivity state
  */
 NMConnectivityState
-nm_client_get_connectivity (NMClient *client)
+nm_client_get_connectivity(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NM_CONNECTIVITY_UNKNOWN);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NM_CONNECTIVITY_UNKNOWN);
 
-	return NM_CLIENT_GET_PRIVATE (client)->nm.connectivity;
+    return NM_CLIENT_GET_PRIVATE(client)->nm.connectivity;
 }
 
 /**
@@ -4475,48 +4553,44 @@ nm_client_get_connectivity (NMClient *client)
  * Deprecated: 1.22: Use nm_client_check_connectivity_async() or GDBusConnection.
  */
 NMConnectivityState
-nm_client_check_connectivity (NMClient *client,
-                              GCancellable *cancellable,
-                              GError **error)
-{
-	NMClientPrivate *priv;
-	gs_unref_variant GVariant *ret = NULL;
-	guint32 connectivity;
-
-	g_return_val_if_fail (NM_IS_CLIENT (client), NM_CONNECTIVITY_UNKNOWN);
-
-	ret = _nm_client_dbus_call_sync (client,
-	                                 cancellable,
-	                                 NM_DBUS_PATH,
-	                                 NM_DBUS_INTERFACE,
-	                                 "CheckConnectivity",
-	                                 g_variant_new ("()"),
-	                                 G_VARIANT_TYPE ("(u)"),
-	                                 G_DBUS_CALL_FLAGS_NONE,
-	                                 NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                                 TRUE,
-	                                 error);
-	if (!ret)
-		return NM_CONNECTIVITY_UNKNOWN;
-
-	g_variant_get (ret,
-	               "(u)",
-	               &connectivity);
-
-	/* upon receiving the synchronous response, we hack the NMClient state
-	 * and update the property outside the ordered D-Bus messages (like
-	 * "PropertiesChanged" signals).
-	 *
-	 * This is really ugly, we shouldn't do this. */
-
-	priv = NM_CLIENT_GET_PRIVATE (client);
-
-	if (priv->nm.connectivity != connectivity) {
-		priv->nm.connectivity = connectivity;
-		_notify (client, PROP_CONNECTIVITY);
-	}
-
-	return connectivity;
+nm_client_check_connectivity(NMClient *client, GCancellable *cancellable, GError **error)
+{
+    NMClientPrivate *priv;
+    gs_unref_variant GVariant *ret = NULL;
+    guint32                    connectivity;
+
+    g_return_val_if_fail(NM_IS_CLIENT(client), NM_CONNECTIVITY_UNKNOWN);
+
+    ret = _nm_client_dbus_call_sync(client,
+                                    cancellable,
+                                    NM_DBUS_PATH,
+                                    NM_DBUS_INTERFACE,
+                                    "CheckConnectivity",
+                                    g_variant_new("()"),
+                                    G_VARIANT_TYPE("(u)"),
+                                    G_DBUS_CALL_FLAGS_NONE,
+                                    NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                    TRUE,
+                                    error);
+    if (!ret)
+        return NM_CONNECTIVITY_UNKNOWN;
+
+    g_variant_get(ret, "(u)", &connectivity);
+
+    /* upon receiving the synchronous response, we hack the NMClient state
+     * and update the property outside the ordered D-Bus messages (like
+     * "PropertiesChanged" signals).
+     *
+     * This is really ugly, we shouldn't do this. */
+
+    priv = NM_CLIENT_GET_PRIVATE(client);
+
+    if (priv->nm.connectivity != connectivity) {
+        priv->nm.connectivity = connectivity;
+        _notify(client, PROP_CONNECTIVITY);
+    }
+
+    return connectivity;
 }
 
 /**
@@ -4532,28 +4606,28 @@ nm_client_check_connectivity (NMClient *client,
  * re-checking, and nm_client_check_connectivity(), which blocks.
  */
 void
-nm_client_check_connectivity_async (NMClient *client,
-                                    GCancellable *cancellable,
-                                    GAsyncReadyCallback callback,
-                                    gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-	g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable));
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_check_connectivity_async,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH,
-	                      NM_DBUS_INTERFACE,
-	                      "CheckConnectivity",
-	                      g_variant_new ("()"),
-	                      G_VARIANT_TYPE ("(u)"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      nm_dbus_connection_call_finish_variant_strip_dbus_error_cb);
+nm_client_check_connectivity_async(NMClient *          client,
+                                   GCancellable *      cancellable,
+                                   GAsyncReadyCallback callback,
+                                   gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+    g_return_if_fail(!cancellable || G_IS_CANCELLABLE(cancellable));
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_check_connectivity_async,
+                         cancellable,
+                         callback,
+                         user_data,
+                         NM_DBUS_PATH,
+                         NM_DBUS_INTERFACE,
+                         "CheckConnectivity",
+                         g_variant_new("()"),
+                         G_VARIANT_TYPE("(u)"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                         nm_dbus_connection_call_finish_variant_strip_dbus_error_cb);
 }
 
 /**
@@ -4568,24 +4642,21 @@ nm_client_check_connectivity_async (NMClient *client,
  * Returns: the (new) current connectivity state
  */
 NMConnectivityState
-nm_client_check_connectivity_finish (NMClient *client,
-                                     GAsyncResult *result,
-                                     GError **error)
+nm_client_check_connectivity_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	gs_unref_variant GVariant *ret = NULL;
-	guint32 connectivity;
+    gs_unref_variant GVariant *ret = NULL;
+    guint32                    connectivity;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), NM_CONNECTIVITY_UNKNOWN);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_check_connectivity_async), NM_CONNECTIVITY_UNKNOWN);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NM_CONNECTIVITY_UNKNOWN);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_check_connectivity_async),
+                         NM_CONNECTIVITY_UNKNOWN);
 
-	ret = g_task_propagate_pointer (G_TASK (result), error);
-	if (!ret)
-		return NM_CONNECTIVITY_UNKNOWN;
+    ret = g_task_propagate_pointer(G_TASK(result), error);
+    if (!ret)
+        return NM_CONNECTIVITY_UNKNOWN;
 
-	g_variant_get (ret,
-	               "(u)",
-	               &connectivity);
-	return connectivity;
+    g_variant_get(ret, "(u)", &connectivity);
+    return connectivity;
 }
 
 /**
@@ -4604,24 +4675,24 @@ nm_client_check_connectivity_finish (NMClient *client,
  * Deprecated: 1.22: Use nm_client_save_hostname_async() or GDBusConnection.
  **/
 gboolean
-nm_client_save_hostname (NMClient *client,
-                         const char *hostname,
-                         GCancellable *cancellable,
-                         GError **error)
-{
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable), FALSE);
-
-	return _nm_client_dbus_call_sync_void (client,
-	                                       cancellable,
-	                                       NM_DBUS_PATH_SETTINGS,
-	                                       NM_DBUS_INTERFACE_SETTINGS,
-	                                       "SaveHostname",
-	                                       g_variant_new ("(s)", hostname ?: ""),
-	                                       G_DBUS_CALL_FLAGS_NONE,
-	                                       NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                                       TRUE,
-	                                       error);
+nm_client_save_hostname(NMClient *    client,
+                        const char *  hostname,
+                        GCancellable *cancellable,
+                        GError **     error)
+{
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(!cancellable || G_IS_CANCELLABLE(cancellable), FALSE);
+
+    return _nm_client_dbus_call_sync_void(client,
+                                          cancellable,
+                                          NM_DBUS_PATH_SETTINGS,
+                                          NM_DBUS_INTERFACE_SETTINGS,
+                                          "SaveHostname",
+                                          g_variant_new("(s)", hostname ?: ""),
+                                          G_DBUS_CALL_FLAGS_NONE,
+                                          NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                          TRUE,
+                                          error);
 }
 
 /**
@@ -4637,29 +4708,29 @@ nm_client_save_hostname (NMClient *client,
  * or cleared.
  **/
 void
-nm_client_save_hostname_async (NMClient *client,
-                               const char *hostname,
-                               GCancellable *cancellable,
-                               GAsyncReadyCallback callback,
-                               gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-	g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable));
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_save_hostname_async,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH_SETTINGS,
-	                      NM_DBUS_INTERFACE_SETTINGS,
-	                      "SaveHostname",
-	                      g_variant_new ("(s)", hostname ?: ""),
-	                      G_VARIANT_TYPE ("()"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
+nm_client_save_hostname_async(NMClient *          client,
+                              const char *        hostname,
+                              GCancellable *      cancellable,
+                              GAsyncReadyCallback callback,
+                              gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+    g_return_if_fail(!cancellable || G_IS_CANCELLABLE(cancellable));
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_save_hostname_async,
+                         cancellable,
+                         callback,
+                         user_data,
+                         NM_DBUS_PATH_SETTINGS,
+                         NM_DBUS_INTERFACE_SETTINGS,
+                         "SaveHostname",
+                         g_variant_new("(s)", hostname ?: ""),
+                         G_VARIANT_TYPE("()"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                         nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
 }
 
 /**
@@ -4673,14 +4744,12 @@ nm_client_save_hostname_async (NMClient *client,
  * Returns: %TRUE if the request was successful, %FALSE if it failed
  **/
 gboolean
-nm_client_save_hostname_finish (NMClient *client,
-                                GAsyncResult *result,
-                                GError **error)
+nm_client_save_hostname_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_save_hostname_async), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_save_hostname_async), FALSE);
 
-	return g_task_propagate_boolean (G_TASK (result), error);
+    return g_task_propagate_boolean(G_TASK(result), error);
 }
 
 /*****************************************************************************/
@@ -4701,11 +4770,12 @@ nm_client_save_hostname_finish (NMClient *client,
  * #NMClient object and should not be modified.
  **/
 const GPtrArray *
-nm_client_get_devices (NMClient *client)
+nm_client_get_devices(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return nml_dbus_property_ao_get_objs_as_ptrarray (&NM_CLIENT_GET_PRIVATE (client)->nm.property_ao[PROPERTY_AO_IDX_DEVICES]);
+    return nml_dbus_property_ao_get_objs_as_ptrarray(
+        &NM_CLIENT_GET_PRIVATE(client)->nm.property_ao[PROPERTY_AO_IDX_DEVICES]);
 }
 
 /**
@@ -4729,11 +4799,12 @@ nm_client_get_devices (NMClient *client)
  * Since: 1.2
  **/
 const GPtrArray *
-nm_client_get_all_devices (NMClient *client)
+nm_client_get_all_devices(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return nml_dbus_property_ao_get_objs_as_ptrarray (&NM_CLIENT_GET_PRIVATE (client)->nm.property_ao[PROPERTY_AO_IDX_ALL_DEVICES]);
+    return nml_dbus_property_ao_get_objs_as_ptrarray(
+        &NM_CLIENT_GET_PRIVATE(client)->nm.property_ao[PROPERTY_AO_IDX_ALL_DEVICES]);
 }
 
 /**
@@ -4746,12 +4817,12 @@ nm_client_get_all_devices (NMClient *client)
  * Returns: (transfer none): the #NMDevice for the given @object_path or %NULL if none is found.
  **/
 NMDevice *
-nm_client_get_device_by_path (NMClient *client, const char *object_path)
+nm_client_get_device_by_path(NMClient *client, const char *object_path)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
-	g_return_val_if_fail (object_path, NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
+    g_return_val_if_fail(object_path, NULL);
 
-	return _dbobjs_get_nmobj_unpack_visible (client, object_path, NM_TYPE_DEVICE);
+    return _dbobjs_get_nmobj_unpack_visible(client, object_path, NM_TYPE_DEVICE);
 }
 
 /**
@@ -4764,23 +4835,23 @@ nm_client_get_device_by_path (NMClient *client, const char *object_path)
  * Returns: (transfer none): the #NMDevice for the given @iface or %NULL if none is found.
  **/
 NMDevice *
-nm_client_get_device_by_iface (NMClient *client, const char *iface)
+nm_client_get_device_by_iface(NMClient *client, const char *iface)
 {
-	const GPtrArray *devices;
-	guint i;
+    const GPtrArray *devices;
+    guint            i;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
-	g_return_val_if_fail (iface, NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
+    g_return_val_if_fail(iface, NULL);
 
-	devices = nm_client_get_devices (client);
-	for (i = 0; i < devices->len; i++) {
-		NMDevice *candidate = g_ptr_array_index (devices, i);
+    devices = nm_client_get_devices(client);
+    for (i = 0; i < devices->len; i++) {
+        NMDevice *candidate = g_ptr_array_index(devices, i);
 
-		if (nm_streq0 (nm_device_get_iface (candidate), iface))
-			return candidate;
-	}
+        if (nm_streq0(nm_device_get_iface(candidate), iface))
+            return candidate;
+    }
 
-	return NULL;
+    return NULL;
 }
 
 /*****************************************************************************/
@@ -4798,11 +4869,12 @@ nm_client_get_device_by_iface (NMClient *client, const char *iface)
  * The returned array is owned by the client and should not be modified.
  **/
 const GPtrArray *
-nm_client_get_active_connections (NMClient *client)
+nm_client_get_active_connections(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return nml_dbus_property_ao_get_objs_as_ptrarray (&NM_CLIENT_GET_PRIVATE (client)->nm.property_ao[PROPERTY_AO_IDX_ACTIVE_CONNECTIONS]);
+    return nml_dbus_property_ao_get_objs_as_ptrarray(
+        &NM_CLIENT_GET_PRIVATE(client)->nm.property_ao[PROPERTY_AO_IDX_ACTIVE_CONNECTIONS]);
 }
 
 /**
@@ -4825,11 +4897,12 @@ nm_client_get_active_connections (NMClient *client)
  * any
  */
 NMActiveConnection *
-nm_client_get_primary_connection (NMClient *client)
+nm_client_get_primary_connection(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return nml_dbus_property_o_get_obj (&NM_CLIENT_GET_PRIVATE (client)->nm.property_o[PROPERTY_O_IDX_NM_PRIMAY_CONNECTION]);
+    return nml_dbus_property_o_get_obj(
+        &NM_CLIENT_GET_PRIVATE(client)->nm.property_o[PROPERTY_O_IDX_NM_PRIMAY_CONNECTION]);
 }
 
 /**
@@ -4844,40 +4917,39 @@ nm_client_get_primary_connection (NMClient *client)
  * any.
  */
 NMActiveConnection *
-nm_client_get_activating_connection (NMClient *client)
+nm_client_get_activating_connection(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return nml_dbus_property_o_get_obj (&NM_CLIENT_GET_PRIVATE (client)->nm.property_o[PROPERTY_O_IDX_NM_ACTIVATING_CONNECTION]);
+    return nml_dbus_property_o_get_obj(
+        &NM_CLIENT_GET_PRIVATE(client)->nm.property_o[PROPERTY_O_IDX_NM_ACTIVATING_CONNECTION]);
 }
 
 /*****************************************************************************/
 
 static void
-activate_connection_cb (GObject *object,
-                        GAsyncResult *result,
-                        gpointer user_data)
+activate_connection_cb(GObject *object, GAsyncResult *result, gpointer user_data)
 {
-	gs_unref_object GTask *task = user_data;
-	gs_unref_variant GVariant *ret = NULL;
-	const char *v_active_connection;
-	GError *error = NULL;
+    gs_unref_object GTask *task    = user_data;
+    gs_unref_variant GVariant *ret = NULL;
+    const char *               v_active_connection;
+    GError *                   error = NULL;
 
-	ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (object), result, &error);
-	if (!ret) {
-		if (!nm_utils_error_is_cancelled (error))
-			g_dbus_error_strip_remote_error (error);
-		g_task_return_error (task, error);
-		return;
-	}
+    ret = g_dbus_connection_call_finish(G_DBUS_CONNECTION(object), result, &error);
+    if (!ret) {
+        if (!nm_utils_error_is_cancelled(error))
+            g_dbus_error_strip_remote_error(error);
+        g_task_return_error(task, error);
+        return;
+    }
 
-	g_variant_get (ret, "(&o)", &v_active_connection);
+    g_variant_get(ret, "(&o)", &v_active_connection);
 
-	_request_wait_start (g_steal_pointer (&task),
-	                     "ActivateConnection",
-	                     NM_TYPE_ACTIVE_CONNECTION,
-	                     v_active_connection,
-	                     NULL);
+    _request_wait_start(g_steal_pointer(&task),
+                        "ActivateConnection",
+                        NM_TYPE_ACTIVE_CONNECTION,
+                        v_active_connection,
+                        NULL);
 }
 
 /**
@@ -4914,53 +4986,53 @@ activate_connection_cb (GObject *object,
  * track the activation to its completion.
  **/
 void
-nm_client_activate_connection_async (NMClient *client,
-                                     NMConnection *connection,
-                                     NMDevice *device,
-                                     const char *specific_object,
-                                     GCancellable *cancellable,
-                                     GAsyncReadyCallback callback,
-                                     gpointer user_data)
-{
-	const char *arg_connection = NULL;
-	const char *arg_device = NULL;
-
-	g_return_if_fail (NM_IS_CLIENT (client));
-
-	if (connection) {
-		g_return_if_fail (NM_IS_CONNECTION (connection));
-		arg_connection = nm_connection_get_path (connection);
-		g_return_if_fail (arg_connection);
-	}
-
-	if (device) {
-		g_return_if_fail (NM_IS_DEVICE (device));
-		arg_device = nm_object_get_path (NM_OBJECT (device));
-		g_return_if_fail (arg_device);
-	}
-
-	NML_NMCLIENT_LOG_T (client, "ActivateConnection() for connection \"%s\", device \"%s\", specific_object \"%s",
-	                    arg_connection ?: "/",
-	                    arg_device ?: "/",
-	                    specific_object ?: "/");
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_activate_connection_async,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH,
-	                      NM_DBUS_INTERFACE,
-	                      "ActivateConnection",
-	                      g_variant_new ("(ooo)",
-	                                     arg_connection ?: "/",
-	                                     arg_device ?: "/",
-	                                     specific_object ?: "/"),
-	                      G_VARIANT_TYPE ("(o)"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      activate_connection_cb);
+nm_client_activate_connection_async(NMClient *          client,
+                                    NMConnection *      connection,
+                                    NMDevice *          device,
+                                    const char *        specific_object,
+                                    GCancellable *      cancellable,
+                                    GAsyncReadyCallback callback,
+                                    gpointer            user_data)
+{
+    const char *arg_connection = NULL;
+    const char *arg_device     = NULL;
+
+    g_return_if_fail(NM_IS_CLIENT(client));
+
+    if (connection) {
+        g_return_if_fail(NM_IS_CONNECTION(connection));
+        arg_connection = nm_connection_get_path(connection);
+        g_return_if_fail(arg_connection);
+    }
+
+    if (device) {
+        g_return_if_fail(NM_IS_DEVICE(device));
+        arg_device = nm_object_get_path(NM_OBJECT(device));
+        g_return_if_fail(arg_device);
+    }
+
+    NML_NMCLIENT_LOG_T(
+        client,
+        "ActivateConnection() for connection \"%s\", device \"%s\", specific_object \"%s",
+        arg_connection ?: "/",
+        arg_device ?: "/",
+        specific_object ?: "/");
+
+    _nm_client_dbus_call(
+        client,
+        client,
+        nm_client_activate_connection_async,
+        cancellable,
+        callback,
+        user_data,
+        NM_DBUS_PATH,
+        NM_DBUS_INTERFACE,
+        "ActivateConnection",
+        g_variant_new("(ooo)", arg_connection ?: "/", arg_device ?: "/", specific_object ?: "/"),
+        G_VARIANT_TYPE("(o)"),
+        G_DBUS_CALL_FLAGS_NONE,
+        NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+        activate_connection_cb);
 }
 
 /**
@@ -4975,157 +5047,145 @@ nm_client_activate_connection_async (NMClient *client,
  *   failure, in which case @error will be set.
  **/
 NMActiveConnection *
-nm_client_activate_connection_finish (NMClient *client,
-                                      GAsyncResult *result,
-                                      GError **error)
+nm_client_activate_connection_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	return NM_ACTIVE_CONNECTION (_request_wait_finish (client,
-	                                                   result,
-	                                                   nm_client_activate_connection_async,
-	                                                   NULL,
-	                                                   error));
+    return NM_ACTIVE_CONNECTION(
+        _request_wait_finish(client, result, nm_client_activate_connection_async, NULL, error));
 }
 
 /*****************************************************************************/
 
 static void
-_add_and_activate_connection_done (GObject *object,
-                                   GAsyncResult *result,
-                                   gboolean use_add_and_activate_v2,
-                                   GTask *task_take)
-{
-	_nm_unused gs_unref_object GTask *task = task_take;
-	gs_unref_variant GVariant *ret = NULL;
-	GError *error = NULL;
-	gs_unref_variant GVariant *v_result = NULL;
-	const char *v_active_connection;
-	const char *v_path;
-
-	ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (object), result, &error);
-	if (!ret) {
-		if (!nm_utils_error_is_cancelled (error))
-			g_dbus_error_strip_remote_error (error);
-		g_task_return_error (task, error);
-		return;
-	}
-
-	if (use_add_and_activate_v2) {
-		g_variant_get (ret,
-		               "(&o&o@a{sv})",
-		               &v_path,
-		               &v_active_connection,
-		               &v_result);
-	} else {
-		g_variant_get (ret,
-		               "(&o&o)",
-		               &v_path,
-		               &v_active_connection);
-	}
-
-	_request_wait_start (g_steal_pointer (&task),
-	                     "AddAndActivateConnection",
-	                     NM_TYPE_ACTIVE_CONNECTION,
-	                     v_active_connection,
-	                     g_steal_pointer (&v_result));
+_add_and_activate_connection_done(GObject *     object,
+                                  GAsyncResult *result,
+                                  gboolean      use_add_and_activate_v2,
+                                  GTask *       task_take)
+{
+    _nm_unused gs_unref_object GTask *task = task_take;
+    gs_unref_variant GVariant *ret         = NULL;
+    GError *                   error       = NULL;
+    gs_unref_variant GVariant *v_result    = NULL;
+    const char *               v_active_connection;
+    const char *               v_path;
+
+    ret = g_dbus_connection_call_finish(G_DBUS_CONNECTION(object), result, &error);
+    if (!ret) {
+        if (!nm_utils_error_is_cancelled(error))
+            g_dbus_error_strip_remote_error(error);
+        g_task_return_error(task, error);
+        return;
+    }
+
+    if (use_add_and_activate_v2) {
+        g_variant_get(ret, "(&o&o@a{sv})", &v_path, &v_active_connection, &v_result);
+    } else {
+        g_variant_get(ret, "(&o&o)", &v_path, &v_active_connection);
+    }
+
+    _request_wait_start(g_steal_pointer(&task),
+                        "AddAndActivateConnection",
+                        NM_TYPE_ACTIVE_CONNECTION,
+                        v_active_connection,
+                        g_steal_pointer(&v_result));
 }
 
 static void
-_add_and_activate_connection_v1_cb (GObject *object, GAsyncResult *result, gpointer user_data)
+_add_and_activate_connection_v1_cb(GObject *object, GAsyncResult *result, gpointer user_data)
 {
-	_add_and_activate_connection_done (object, result, FALSE, user_data);
+    _add_and_activate_connection_done(object, result, FALSE, user_data);
 }
 
 static void
-_add_and_activate_connection_v2_cb (GObject *object, GAsyncResult *result, gpointer user_data)
+_add_and_activate_connection_v2_cb(GObject *object, GAsyncResult *result, gpointer user_data)
 {
-	_add_and_activate_connection_done (object, result, TRUE, user_data);
+    _add_and_activate_connection_done(object, result, TRUE, user_data);
 }
 
 static void
-_add_and_activate_connection (NMClient *self,
-                              gboolean is_v2,
-                              NMConnection *partial,
-                              NMDevice *device,
-                              const char *specific_object,
-                              GVariant *options,
-                              GCancellable *cancellable,
-                              GAsyncReadyCallback callback,
-                              gpointer user_data)
-{
-	GVariant *arg_connection = NULL;
-	gboolean use_add_and_activate_v2 = FALSE;
-	const char *arg_device = NULL;
-	gpointer source_tag;
-
-	g_return_if_fail (NM_IS_CLIENT (self));
-	g_return_if_fail (!partial || NM_IS_CONNECTION (partial));
-
-	if (device) {
-		g_return_if_fail (NM_IS_DEVICE (device));
-		arg_device = nm_object_get_path (NM_OBJECT (device));
-		g_return_if_fail (arg_device);
-	}
-
-	if (partial)
-		arg_connection = nm_connection_to_dbus (partial, NM_CONNECTION_SERIALIZE_ALL);
-	if (!arg_connection)
-		arg_connection = g_variant_new_array (G_VARIANT_TYPE ("{sa{sv}}"), NULL, 0);
-
-	if (is_v2) {
-		if (!options)
-			options = g_variant_new_array (G_VARIANT_TYPE ("{sv}"), NULL, 0);
-		use_add_and_activate_v2 = TRUE;
-		source_tag = nm_client_add_and_activate_connection2;
-	} else {
-		if (options) {
-			if (g_variant_n_children (options) > 0)
-				use_add_and_activate_v2 = TRUE;
-			else
-				nm_clear_pointer (&options, nm_g_variant_unref_floating);
-		}
-		source_tag = nm_client_add_and_activate_connection_async;
-	}
-
-	NML_NMCLIENT_LOG_D (self, "AddAndActivateConnection() started...");
-
-	if (use_add_and_activate_v2) {
-		_nm_client_dbus_call (self,
-		                      self,
-		                      source_tag,
-		                      cancellable,
-		                      callback,
-		                      user_data,
-		                      NM_DBUS_PATH,
-		                      NM_DBUS_INTERFACE,
-		                      "AddAndActivateConnection2",
-		                      g_variant_new ("(@a{sa{sv}}oo@a{sv})",
-		                                     arg_connection,
-		                                     arg_device ?: "/",
-		                                     specific_object ?: "/",
-		                                     options),
-		                      G_VARIANT_TYPE ("(ooa{sv})"),
-		                      G_DBUS_CALL_FLAGS_NONE,
-		                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-		                      _add_and_activate_connection_v2_cb);
-	} else {
-		_nm_client_dbus_call (self,
-		                      self,
-		                      source_tag,
-		                      cancellable,
-		                      callback,
-		                      user_data,
-		                      NM_DBUS_PATH,
-		                      NM_DBUS_INTERFACE,
-		                      "AddAndActivateConnection",
-		                      g_variant_new ("(@a{sa{sv}}oo)",
-		                                     arg_connection,
-		                                     arg_device ?: "/",
-		                                     specific_object ?: "/"),
-		                      G_VARIANT_TYPE ("(oo)"),
-		                      G_DBUS_CALL_FLAGS_NONE,
-		                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-		                      _add_and_activate_connection_v1_cb);
-	}
+_add_and_activate_connection(NMClient *          self,
+                             gboolean            is_v2,
+                             NMConnection *      partial,
+                             NMDevice *          device,
+                             const char *        specific_object,
+                             GVariant *          options,
+                             GCancellable *      cancellable,
+                             GAsyncReadyCallback callback,
+                             gpointer            user_data)
+{
+    GVariant *  arg_connection          = NULL;
+    gboolean    use_add_and_activate_v2 = FALSE;
+    const char *arg_device              = NULL;
+    gpointer    source_tag;
+
+    g_return_if_fail(NM_IS_CLIENT(self));
+    g_return_if_fail(!partial || NM_IS_CONNECTION(partial));
+
+    if (device) {
+        g_return_if_fail(NM_IS_DEVICE(device));
+        arg_device = nm_object_get_path(NM_OBJECT(device));
+        g_return_if_fail(arg_device);
+    }
+
+    if (partial)
+        arg_connection = nm_connection_to_dbus(partial, NM_CONNECTION_SERIALIZE_ALL);
+    if (!arg_connection)
+        arg_connection = g_variant_new_array(G_VARIANT_TYPE("{sa{sv}}"), NULL, 0);
+
+    if (is_v2) {
+        if (!options)
+            options = g_variant_new_array(G_VARIANT_TYPE("{sv}"), NULL, 0);
+        use_add_and_activate_v2 = TRUE;
+        source_tag              = nm_client_add_and_activate_connection2;
+    } else {
+        if (options) {
+            if (g_variant_n_children(options) > 0)
+                use_add_and_activate_v2 = TRUE;
+            else
+                nm_clear_pointer(&options, nm_g_variant_unref_floating);
+        }
+        source_tag = nm_client_add_and_activate_connection_async;
+    }
+
+    NML_NMCLIENT_LOG_D(self, "AddAndActivateConnection() started...");
+
+    if (use_add_and_activate_v2) {
+        _nm_client_dbus_call(self,
+                             self,
+                             source_tag,
+                             cancellable,
+                             callback,
+                             user_data,
+                             NM_DBUS_PATH,
+                             NM_DBUS_INTERFACE,
+                             "AddAndActivateConnection2",
+                             g_variant_new("(@a{sa{sv}}oo@a{sv})",
+                                           arg_connection,
+                                           arg_device ?: "/",
+                                           specific_object ?: "/",
+                                           options),
+                             G_VARIANT_TYPE("(ooa{sv})"),
+                             G_DBUS_CALL_FLAGS_NONE,
+                             NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                             _add_and_activate_connection_v2_cb);
+    } else {
+        _nm_client_dbus_call(self,
+                             self,
+                             source_tag,
+                             cancellable,
+                             callback,
+                             user_data,
+                             NM_DBUS_PATH,
+                             NM_DBUS_INTERFACE,
+                             "AddAndActivateConnection",
+                             g_variant_new("(@a{sa{sv}}oo)",
+                                           arg_connection,
+                                           arg_device ?: "/",
+                                           specific_object ?: "/"),
+                             G_VARIANT_TYPE("(oo)"),
+                             G_DBUS_CALL_FLAGS_NONE,
+                             NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                             _add_and_activate_connection_v1_cb);
+    }
 }
 
 /**
@@ -5159,23 +5219,23 @@ _add_and_activate_connection (NMClient *self,
  * track the activation to its completion.
  **/
 void
-nm_client_add_and_activate_connection_async (NMClient *client,
-                                             NMConnection *partial,
-                                             NMDevice *device,
-                                             const char *specific_object,
-                                             GCancellable *cancellable,
-                                             GAsyncReadyCallback callback,
-                                             gpointer user_data)
-{
-	_add_and_activate_connection (client,
-	                              FALSE,
-	                              partial,
-	                              device,
-	                              specific_object,
-	                              NULL,
-	                              cancellable,
-	                              callback,
-	                              user_data);
+nm_client_add_and_activate_connection_async(NMClient *          client,
+                                            NMConnection *      partial,
+                                            NMDevice *          device,
+                                            const char *        specific_object,
+                                            GCancellable *      cancellable,
+                                            GAsyncReadyCallback callback,
+                                            gpointer            user_data)
+{
+    _add_and_activate_connection(client,
+                                 FALSE,
+                                 partial,
+                                 device,
+                                 specific_object,
+                                 NULL,
+                                 cancellable,
+                                 callback,
+                                 user_data);
 }
 
 /**
@@ -5193,15 +5253,13 @@ nm_client_add_and_activate_connection_async (NMClient *client,
  *   failure, in which case @error will be set.
  **/
 NMActiveConnection *
-nm_client_add_and_activate_connection_finish (NMClient *client,
-                                              GAsyncResult *result,
-                                              GError **error)
+nm_client_add_and_activate_connection_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	return NM_ACTIVE_CONNECTION (_request_wait_finish (client,
-	                                                   result,
-	                                                   nm_client_add_and_activate_connection_async,
-	                                                   NULL,
-	                                                   error));
+    return NM_ACTIVE_CONNECTION(_request_wait_finish(client,
+                                                     result,
+                                                     nm_client_add_and_activate_connection_async,
+                                                     NULL,
+                                                     error));
 }
 
 /**
@@ -5235,7 +5293,7 @@ nm_client_add_and_activate_connection_finish (NMClient *client,
  * track the activation to its completion.
  *
  * This is identical to nm_client_add_and_activate_connection_async() but takes
- * a further @options parameter. Currently the following options are supported
+ * a further @options parameter. Currently, the following options are supported
  * by the daemon:
  *  * "persist": A string describing how the connection should be stored.
  *               The default is "disk", but it can be modified to "memory" (until
@@ -5248,24 +5306,24 @@ nm_client_add_and_activate_connection_finish (NMClient *client,
  * Since: 1.16
  **/
 void
-nm_client_add_and_activate_connection2 (NMClient *client,
-                                        NMConnection *partial,
-                                        NMDevice *device,
-                                        const char *specific_object,
-                                        GVariant *options,
-                                        GCancellable *cancellable,
-                                        GAsyncReadyCallback callback,
-                                        gpointer user_data)
-{
-	_add_and_activate_connection (client,
-	                              TRUE,
-	                              partial,
-	                              device,
-	                              specific_object,
-	                              options,
-	                              cancellable,
-	                              callback,
-	                              user_data);
+nm_client_add_and_activate_connection2(NMClient *          client,
+                                       NMConnection *      partial,
+                                       NMDevice *          device,
+                                       const char *        specific_object,
+                                       GVariant *          options,
+                                       GCancellable *      cancellable,
+                                       GAsyncReadyCallback callback,
+                                       gpointer            user_data)
+{
+    _add_and_activate_connection(client,
+                                 TRUE,
+                                 partial,
+                                 device,
+                                 specific_object,
+                                 options,
+                                 cancellable,
+                                 callback,
+                                 user_data);
 }
 
 /**
@@ -5274,7 +5332,7 @@ nm_client_add_and_activate_connection2 (NMClient *client,
  * @result: the result passed to the #GAsyncReadyCallback
  * @error: location for a #GError, or %NULL
  * @out_result: (allow-none) (transfer full): the output result
- *   of type "a{sv}" returned by D-Bus' AddAndActivate2 call. Currently no
+ *   of type "a{sv}" returned by D-Bus' AddAndActivate2 call. Currently, no
  *   output is implemented yet.
  *
  * Gets the result of a call to nm_client_add_and_activate_connection2().
@@ -5286,16 +5344,16 @@ nm_client_add_and_activate_connection2 (NMClient *client,
  *   failure, in which case @error will be set.
  **/
 NMActiveConnection *
-nm_client_add_and_activate_connection2_finish (NMClient *client,
-                                               GAsyncResult *result,
-                                               GVariant **out_result,
-                                               GError **error)
+nm_client_add_and_activate_connection2_finish(NMClient *    client,
+                                              GAsyncResult *result,
+                                              GVariant **   out_result,
+                                              GError **     error)
 {
-	return NM_ACTIVE_CONNECTION (_request_wait_finish (client,
-	                                                   result,
-	                                                   nm_client_add_and_activate_connection2,
-	                                                   out_result,
-	                                                   error));
+    return NM_ACTIVE_CONNECTION(_request_wait_finish(client,
+                                                     result,
+                                                     nm_client_add_and_activate_connection2,
+                                                     out_result,
+                                                     error));
 }
 
 /*****************************************************************************/
@@ -5314,29 +5372,29 @@ nm_client_add_and_activate_connection2_finish (NMClient *client,
  * Deprecated: 1.22: Use nm_client_deactivate_connection_async() or GDBusConnection.
  **/
 gboolean
-nm_client_deactivate_connection (NMClient *client,
-                                 NMActiveConnection *active,
-                                 GCancellable *cancellable,
-                                 GError **error)
+nm_client_deactivate_connection(NMClient *          client,
+                                NMActiveConnection *active,
+                                GCancellable *      cancellable,
+                                GError **           error)
 {
-	const char *active_path;
+    const char *active_path;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (active), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(NM_IS_ACTIVE_CONNECTION(active), FALSE);
 
-	active_path = nm_object_get_path (NM_OBJECT (active));
-	g_return_val_if_fail (active_path, FALSE);
+    active_path = nm_object_get_path(NM_OBJECT(active));
+    g_return_val_if_fail(active_path, FALSE);
 
-	return _nm_client_dbus_call_sync_void (client,
-	                                       cancellable,
-	                                       NM_DBUS_PATH,
-	                                       NM_DBUS_INTERFACE,
-	                                       "DeactivateConnection",
-	                                       g_variant_new ("(o)", active_path),
-	                                       G_DBUS_CALL_FLAGS_NONE,
-	                                       NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                                       TRUE,
-	                                       error);
+    return _nm_client_dbus_call_sync_void(client,
+                                          cancellable,
+                                          NM_DBUS_PATH,
+                                          NM_DBUS_INTERFACE,
+                                          "DeactivateConnection",
+                                          g_variant_new("(o)", active_path),
+                                          G_DBUS_CALL_FLAGS_NONE,
+                                          NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                          TRUE,
+                                          error);
 }
 
 /**
@@ -5350,34 +5408,34 @@ nm_client_deactivate_connection (NMClient *client,
  * Asynchronously deactivates an active #NMActiveConnection.
  **/
 void
-nm_client_deactivate_connection_async (NMClient *client,
-                                       NMActiveConnection *active,
-                                       GCancellable *cancellable,
-                                       GAsyncReadyCallback callback,
-                                       gpointer user_data)
-{
-	const char *active_path;
-
-	g_return_if_fail (NM_IS_CLIENT (client));
-	g_return_if_fail (NM_IS_ACTIVE_CONNECTION (active));
-
-	active_path = nm_object_get_path (NM_OBJECT (active));
-	g_return_if_fail (active_path);
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_deactivate_connection_async,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH,
-	                      NM_DBUS_INTERFACE,
-	                      "DeactivateConnection",
-	                      g_variant_new ("(o)", active_path),
-	                      G_VARIANT_TYPE ("()"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
+nm_client_deactivate_connection_async(NMClient *          client,
+                                      NMActiveConnection *active,
+                                      GCancellable *      cancellable,
+                                      GAsyncReadyCallback callback,
+                                      gpointer            user_data)
+{
+    const char *active_path;
+
+    g_return_if_fail(NM_IS_CLIENT(client));
+    g_return_if_fail(NM_IS_ACTIVE_CONNECTION(active));
+
+    active_path = nm_object_get_path(NM_OBJECT(active));
+    g_return_if_fail(active_path);
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_deactivate_connection_async,
+                         cancellable,
+                         callback,
+                         user_data,
+                         NM_DBUS_PATH,
+                         NM_DBUS_INTERFACE,
+                         "DeactivateConnection",
+                         g_variant_new("(o)", active_path),
+                         G_VARIANT_TYPE("()"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                         nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
 }
 
 /**
@@ -5391,14 +5449,13 @@ nm_client_deactivate_connection_async (NMClient *client,
  * Returns: success or failure
  **/
 gboolean
-nm_client_deactivate_connection_finish (NMClient *client,
-                                        GAsyncResult *result,
-                                        GError **error)
+nm_client_deactivate_connection_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_deactivate_connection_async), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_deactivate_connection_async),
+                         FALSE);
 
-	return g_task_propagate_boolean (G_TASK (result), error);
+    return g_task_propagate_boolean(G_TASK(result), error);
 }
 
 /*****************************************************************************/
@@ -5417,11 +5474,12 @@ nm_client_deactivate_connection_finish (NMClient *client,
  * to nm_connection_verify().
  **/
 const GPtrArray *
-nm_client_get_connections (NMClient *client)
+nm_client_get_connections(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return nml_dbus_property_ao_get_objs_as_ptrarray (&NM_CLIENT_GET_PRIVATE (client)->settings.connections);
+    return nml_dbus_property_ao_get_objs_as_ptrarray(
+        &NM_CLIENT_GET_PRIVATE(client)->settings.connections);
 }
 
 /**
@@ -5438,22 +5496,22 @@ nm_client_get_connections (NMClient *client)
  * to nm_connection_verify().
  **/
 NMRemoteConnection *
-nm_client_get_connection_by_id (NMClient *client, const char *id)
+nm_client_get_connection_by_id(NMClient *client, const char *id)
 {
-	const GPtrArray *arr;
-	guint i;
+    const GPtrArray *arr;
+    guint            i;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
-	g_return_val_if_fail (id, NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
+    g_return_val_if_fail(id, NULL);
 
-	arr = nm_client_get_connections (client);
-	for (i = 0; i < arr->len; i++) {
-		NMRemoteConnection *c = NM_REMOTE_CONNECTION (arr->pdata[i]);
+    arr = nm_client_get_connections(client);
+    for (i = 0; i < arr->len; i++) {
+        NMRemoteConnection *c = NM_REMOTE_CONNECTION(arr->pdata[i]);
 
-		if (nm_streq0 (id, nm_connection_get_id (NM_CONNECTION (c))))
-			return c;
-	}
-	return NULL;
+        if (nm_streq0(id, nm_connection_get_id(NM_CONNECTION(c))))
+            return c;
+    }
+    return NULL;
 }
 
 /**
@@ -5470,12 +5528,12 @@ nm_client_get_connection_by_id (NMClient *client, const char *id)
  * to nm_connection_verify().
  **/
 NMRemoteConnection *
-nm_client_get_connection_by_path (NMClient *client, const char *path)
+nm_client_get_connection_by_path(NMClient *client, const char *path)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
-	g_return_val_if_fail (path != NULL, NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
+    g_return_val_if_fail(path != NULL, NULL);
 
-	return _dbobjs_get_nmobj_unpack_visible (client, path, NM_TYPE_REMOTE_CONNECTION);
+    return _dbobjs_get_nmobj_unpack_visible(client, path, NM_TYPE_REMOTE_CONNECTION);
 }
 
 /**
@@ -5492,152 +5550,145 @@ nm_client_get_connection_by_path (NMClient *client, const char *path)
  * to nm_connection_verify().
  **/
 NMRemoteConnection *
-nm_client_get_connection_by_uuid (NMClient *client, const char *uuid)
+nm_client_get_connection_by_uuid(NMClient *client, const char *uuid)
 {
-	const GPtrArray *arr;
-	guint i;
+    const GPtrArray *arr;
+    guint            i;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
-	g_return_val_if_fail (uuid, NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
+    g_return_val_if_fail(uuid, NULL);
 
-	arr = nm_client_get_connections (client);
-	for (i = 0; i < arr->len; i++) {
-		NMRemoteConnection *c = NM_REMOTE_CONNECTION (arr->pdata[i]);
+    arr = nm_client_get_connections(client);
+    for (i = 0; i < arr->len; i++) {
+        NMRemoteConnection *c = NM_REMOTE_CONNECTION(arr->pdata[i]);
 
-		if (nm_streq0 (uuid, nm_connection_get_uuid (NM_CONNECTION (c))))
-			return c;
-	}
-	return NULL;
+        if (nm_streq0(uuid, nm_connection_get_uuid(NM_CONNECTION(c))))
+            return c;
+    }
+    return NULL;
 }
 
 /*****************************************************************************/
 
 static void
-_add_connection_cb (GObject *source,
-                    GAsyncResult *result,
-                    gboolean with_extra_arg,
-                    gpointer user_data)
-{
-	gs_unref_variant GVariant *ret = NULL;
-	gs_unref_object GTask *task = user_data;
-	gs_unref_variant GVariant *v_result = NULL;
-	const char *v_path;
-	GError *error = NULL;
-
-	ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
-	if (!ret) {
-		if (!nm_utils_error_is_cancelled (error))
-			g_dbus_error_strip_remote_error (error);
-		g_task_return_error (task, error);
-		return;
-	}
-
-	if (with_extra_arg) {
-		g_variant_get (ret,
-		               "(&o@a{sv})",
-		               &v_path,
-		               &v_result);
-	} else {
-		g_variant_get (ret,
-		               "(&o)",
-		               &v_path);
-	}
-
-	_request_wait_start (g_steal_pointer (&task),
-	                     "AddConnection",
-	                     NM_TYPE_REMOTE_CONNECTION,
-	                     v_path,
-	                     g_steal_pointer (&v_result));
+_add_connection_cb(GObject *     source,
+                   GAsyncResult *result,
+                   gboolean      with_extra_arg,
+                   gpointer      user_data)
+{
+    gs_unref_variant GVariant *ret      = NULL;
+    gs_unref_object GTask *task         = user_data;
+    gs_unref_variant GVariant *v_result = NULL;
+    const char *               v_path;
+    GError *                   error = NULL;
+
+    ret = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
+    if (!ret) {
+        if (!nm_utils_error_is_cancelled(error))
+            g_dbus_error_strip_remote_error(error);
+        g_task_return_error(task, error);
+        return;
+    }
+
+    if (with_extra_arg) {
+        g_variant_get(ret, "(&o@a{sv})", &v_path, &v_result);
+    } else {
+        g_variant_get(ret, "(&o)", &v_path);
+    }
+
+    _request_wait_start(g_steal_pointer(&task),
+                        "AddConnection",
+                        NM_TYPE_REMOTE_CONNECTION,
+                        v_path,
+                        g_steal_pointer(&v_result));
 }
 
 static void
-_add_connection_cb_without_extra_result (GObject *object, GAsyncResult *result, gpointer user_data)
+_add_connection_cb_without_extra_result(GObject *object, GAsyncResult *result, gpointer user_data)
 {
-	_add_connection_cb (object, result, FALSE, user_data);
+    _add_connection_cb(object, result, FALSE, user_data);
 }
 
 static void
-_add_connection_cb_with_extra_result (GObject *object, GAsyncResult *result, gpointer user_data)
+_add_connection_cb_with_extra_result(GObject *object, GAsyncResult *result, gpointer user_data)
 {
-	_add_connection_cb (object, result, TRUE, user_data);
+    _add_connection_cb(object, result, TRUE, user_data);
 }
 
 static void
-_add_connection_call (NMClient *self,
-                      gpointer source_tag,
-                      gboolean ignore_out_result,
-                      GVariant *settings,
-                      NMSettingsAddConnection2Flags flags,
-                      GVariant *args,
-                      GCancellable *cancellable,
-                      GAsyncReadyCallback callback,
-                      gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (self));
-	g_return_if_fail (!settings || g_variant_is_of_type (settings, G_VARIANT_TYPE ("a{sa{sv}}")));
-	g_return_if_fail (!args || g_variant_is_of_type (args, G_VARIANT_TYPE ("a{sv}")));
-
-	NML_NMCLIENT_LOG_D (self, "AddConnection() started...");
-
-	if (!settings)
-		settings = g_variant_new_array (G_VARIANT_TYPE ("{sa{sv}}"), NULL, 0);
-
-	/* Although AddConnection2() being capable to handle also AddConnection() and
-	 * AddConnectionUnsaved() variants, we prefer to use the old D-Bus methods when
-	 * they are sufficient. The reason is that libnm should avoid hard dependencies
-	 * on 1.20 API whenever possible. */
-	if (    ignore_out_result
-	     && flags == NM_SETTINGS_ADD_CONNECTION2_FLAG_TO_DISK) {
-		_nm_client_dbus_call (self,
-		                      self,
-		                      source_tag,
-		                      cancellable,
-		                      callback,
-		                      user_data,
-		                      NM_DBUS_PATH_SETTINGS,
-		                      NM_DBUS_INTERFACE_SETTINGS,
-		                      "AddConnection",
-		                      g_variant_new ("(@a{sa{sv}})", settings),
-		                      G_VARIANT_TYPE ("(o)"),
-		                      G_DBUS_CALL_FLAGS_NONE,
-		                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-		                      _add_connection_cb_without_extra_result);
-	} else if (   ignore_out_result
-	           && flags == NM_SETTINGS_ADD_CONNECTION2_FLAG_IN_MEMORY) {
-		_nm_client_dbus_call (self,
-		                      self,
-		                      source_tag,
-		                      cancellable,
-		                      callback,
-		                      user_data,
-		                      NM_DBUS_PATH_SETTINGS,
-		                      NM_DBUS_INTERFACE_SETTINGS,
-		                      "AddConnectionUnsaved",
-		                      g_variant_new ("(@a{sa{sv}})", settings),
-		                      G_VARIANT_TYPE ("(o)"),
-		                      G_DBUS_CALL_FLAGS_NONE,
-		                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-		                      _add_connection_cb_without_extra_result);
-	} else {
-		_nm_client_dbus_call (self,
-		                      self,
-		                      source_tag,
-		                      cancellable,
-		                      callback,
-		                      user_data,
-		                      NM_DBUS_PATH_SETTINGS,
-		                      NM_DBUS_INTERFACE_SETTINGS,
-		                      "AddConnection2",
-		                      g_variant_new ("(@a{sa{sv}}u@a{sv})",
-		                                     settings,
-		                                     (guint32) flags,
-		                                        args
-		                                     ?: g_variant_new_array (G_VARIANT_TYPE ("{sv}"), NULL, 0)),
-		                      G_VARIANT_TYPE ("(oa{sv})"),
-		                      G_DBUS_CALL_FLAGS_NONE,
-		                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-		                      _add_connection_cb_with_extra_result);
-	}
+_add_connection_call(NMClient *                    self,
+                     gpointer                      source_tag,
+                     gboolean                      ignore_out_result,
+                     GVariant *                    settings,
+                     NMSettingsAddConnection2Flags flags,
+                     GVariant *                    args,
+                     GCancellable *                cancellable,
+                     GAsyncReadyCallback           callback,
+                     gpointer                      user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(self));
+    g_return_if_fail(!settings || g_variant_is_of_type(settings, G_VARIANT_TYPE("a{sa{sv}}")));
+    g_return_if_fail(!args || g_variant_is_of_type(args, G_VARIANT_TYPE("a{sv}")));
+
+    NML_NMCLIENT_LOG_D(self, "AddConnection() started...");
+
+    if (!settings)
+        settings = g_variant_new_array(G_VARIANT_TYPE("{sa{sv}}"), NULL, 0);
+
+    /* Although AddConnection2() being capable to handle also AddConnection() and
+     * AddConnectionUnsaved() variants, we prefer to use the old D-Bus methods when
+     * they are sufficient. The reason is that libnm should avoid hard dependencies
+     * on 1.20 API whenever possible. */
+    if (ignore_out_result && flags == NM_SETTINGS_ADD_CONNECTION2_FLAG_TO_DISK) {
+        _nm_client_dbus_call(self,
+                             self,
+                             source_tag,
+                             cancellable,
+                             callback,
+                             user_data,
+                             NM_DBUS_PATH_SETTINGS,
+                             NM_DBUS_INTERFACE_SETTINGS,
+                             "AddConnection",
+                             g_variant_new("(@a{sa{sv}})", settings),
+                             G_VARIANT_TYPE("(o)"),
+                             G_DBUS_CALL_FLAGS_NONE,
+                             NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                             _add_connection_cb_without_extra_result);
+    } else if (ignore_out_result && flags == NM_SETTINGS_ADD_CONNECTION2_FLAG_IN_MEMORY) {
+        _nm_client_dbus_call(self,
+                             self,
+                             source_tag,
+                             cancellable,
+                             callback,
+                             user_data,
+                             NM_DBUS_PATH_SETTINGS,
+                             NM_DBUS_INTERFACE_SETTINGS,
+                             "AddConnectionUnsaved",
+                             g_variant_new("(@a{sa{sv}})", settings),
+                             G_VARIANT_TYPE("(o)"),
+                             G_DBUS_CALL_FLAGS_NONE,
+                             NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                             _add_connection_cb_without_extra_result);
+    } else {
+        _nm_client_dbus_call(
+            self,
+            self,
+            source_tag,
+            cancellable,
+            callback,
+            user_data,
+            NM_DBUS_PATH_SETTINGS,
+            NM_DBUS_INTERFACE_SETTINGS,
+            "AddConnection2",
+            g_variant_new("(@a{sa{sv}}u@a{sv})",
+                          settings,
+                          (guint32) flags,
+                          args ?: g_variant_new_array(G_VARIANT_TYPE("{sv}"), NULL, 0)),
+            G_VARIANT_TYPE("(oa{sv})"),
+            G_DBUS_CALL_FLAGS_NONE,
+            NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+            _add_connection_cb_with_extra_result);
+    }
 }
 
 /**
@@ -5666,26 +5717,25 @@ _add_connection_call (NMClient *self,
  * completion and/or normalization of connection properties.
  **/
 void
-nm_client_add_connection_async (NMClient *client,
-                                NMConnection *connection,
-                                gboolean save_to_disk,
-                                GCancellable *cancellable,
-                                GAsyncReadyCallback callback,
-                                gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CONNECTION (connection));
-
-	_add_connection_call (client,
-	                      nm_client_add_connection_async,
-	                      TRUE,
-	                      nm_connection_to_dbus (connection, NM_CONNECTION_SERIALIZE_ALL),
-	                        save_to_disk
-	                      ? NM_SETTINGS_ADD_CONNECTION2_FLAG_TO_DISK
-	                      : NM_SETTINGS_ADD_CONNECTION2_FLAG_IN_MEMORY,
-	                      NULL,
-	                      cancellable,
-	                      callback,
-	                      user_data);
+nm_client_add_connection_async(NMClient *          client,
+                               NMConnection *      connection,
+                               gboolean            save_to_disk,
+                               GCancellable *      cancellable,
+                               GAsyncReadyCallback callback,
+                               gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CONNECTION(connection));
+
+    _add_connection_call(client,
+                         nm_client_add_connection_async,
+                         TRUE,
+                         nm_connection_to_dbus(connection, NM_CONNECTION_SERIALIZE_ALL),
+                         save_to_disk ? NM_SETTINGS_ADD_CONNECTION2_FLAG_TO_DISK
+                                      : NM_SETTINGS_ADD_CONNECTION2_FLAG_IN_MEMORY,
+                         NULL,
+                         cancellable,
+                         callback,
+                         user_data);
 }
 
 /**
@@ -5700,15 +5750,10 @@ nm_client_add_connection_async (NMClient *client,
  *   failure, in which case @error will be set.
  **/
 NMRemoteConnection *
-nm_client_add_connection_finish (NMClient *client,
-                                 GAsyncResult *result,
-                                 GError **error)
+nm_client_add_connection_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	return NM_REMOTE_CONNECTION (_request_wait_finish (client,
-	                                                   result,
-	                                                   nm_client_add_connection_async,
-	                                                   NULL,
-	                                                   error));
+    return NM_REMOTE_CONNECTION(
+        _request_wait_finish(client, result, nm_client_add_connection_async, NULL, error));
 }
 
 /**
@@ -5734,24 +5779,24 @@ nm_client_add_connection_finish (NMClient *client,
  * Since: 1.20
  **/
 void
-nm_client_add_connection2 (NMClient *client,
-                           GVariant *settings,
-                           NMSettingsAddConnection2Flags flags,
-                           GVariant *args,
-                           gboolean ignore_out_result,
-                           GCancellable *cancellable,
-                           GAsyncReadyCallback callback,
-                           gpointer user_data)
-{
-	_add_connection_call (client,
-	                      nm_client_add_connection2,
-	                      ignore_out_result,
-	                      settings,
-	                      flags,
-	                      args,
-	                      cancellable,
-	                      callback,
-	                      user_data);
+nm_client_add_connection2(NMClient *                    client,
+                          GVariant *                    settings,
+                          NMSettingsAddConnection2Flags flags,
+                          GVariant *                    args,
+                          gboolean                      ignore_out_result,
+                          GCancellable *                cancellable,
+                          GAsyncReadyCallback           callback,
+                          gpointer                      user_data)
+{
+    _add_connection_call(client,
+                         nm_client_add_connection2,
+                         ignore_out_result,
+                         settings,
+                         flags,
+                         args,
+                         cancellable,
+                         callback,
+                         user_data);
 }
 
 /**
@@ -5770,16 +5815,13 @@ nm_client_add_connection2 (NMClient *client,
  * Since: 1.20
  */
 NMRemoteConnection *
-nm_client_add_connection2_finish (NMClient *client,
-                                  GAsyncResult *result,
-                                  GVariant **out_result,
-                                  GError **error)
+nm_client_add_connection2_finish(NMClient *    client,
+                                 GAsyncResult *result,
+                                 GVariant **   out_result,
+                                 GError **     error)
 {
-	return NM_REMOTE_CONNECTION (_request_wait_finish (client,
-	                                                   result,
-	                                                   nm_client_add_connection2,
-	                                                   out_result,
-	                                                   error));
+    return NM_REMOTE_CONNECTION(
+        _request_wait_finish(client, result, nm_client_add_connection2, out_result, error));
 }
 
 /*****************************************************************************/
@@ -5819,40 +5861,36 @@ nm_client_add_connection2_finish (NMClient *client,
  * Deprecated: 1.22: Use nm_client_load_connections_async() or GDBusConnection.
  **/
 gboolean
-nm_client_load_connections (NMClient *client,
-                            char **filenames,
-                            char ***failures,
-                            GCancellable *cancellable,
-                            GError **error)
-{
-	gs_unref_variant GVariant *ret = NULL;
-
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable), FALSE);
-
-	ret = _nm_client_dbus_call_sync (client,
-	                                 cancellable,
-	                                 NM_DBUS_PATH_SETTINGS,
-	                                 NM_DBUS_INTERFACE_SETTINGS,
-	                                 "LoadConnections",
-	                                 g_variant_new ("(^as)",
-	                                                filenames ?: NM_PTRARRAY_EMPTY (char *)),
-	                                 G_VARIANT_TYPE ("(bas)"),
-	                                 G_DBUS_CALL_FLAGS_NONE,
-	                                 NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                                 TRUE,
-	                                 error);
-	if (!ret) {
-		*failures = NULL;
-		return FALSE;
-	}
-
-	g_variant_get (ret,
-	               "(b^as)",
-	               NULL,
-	               &failures);
-
-	return TRUE;
+nm_client_load_connections(NMClient *    client,
+                           char **       filenames,
+                           char ***      failures,
+                           GCancellable *cancellable,
+                           GError **     error)
+{
+    gs_unref_variant GVariant *ret = NULL;
+
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(!cancellable || G_IS_CANCELLABLE(cancellable), FALSE);
+
+    ret = _nm_client_dbus_call_sync(client,
+                                    cancellable,
+                                    NM_DBUS_PATH_SETTINGS,
+                                    NM_DBUS_INTERFACE_SETTINGS,
+                                    "LoadConnections",
+                                    g_variant_new("(^as)", filenames ?: NM_PTRARRAY_EMPTY(char *)),
+                                    G_VARIANT_TYPE("(bas)"),
+                                    G_DBUS_CALL_FLAGS_NONE,
+                                    NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                    TRUE,
+                                    error);
+    if (!ret) {
+        *failures = NULL;
+        return FALSE;
+    }
+
+    g_variant_get(ret, "(b^as)", NULL, &failures);
+
+    return TRUE;
 }
 
 /**
@@ -5869,30 +5907,29 @@ nm_client_load_connections (NMClient *client,
  * See nm_client_load_connections() for more details.
  **/
 void
-nm_client_load_connections_async (NMClient *client,
-                                  char **filenames,
-                                  GCancellable *cancellable,
-                                  GAsyncReadyCallback callback,
-                                  gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-	g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable));
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_load_connections_async,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH_SETTINGS,
-	                      NM_DBUS_INTERFACE_SETTINGS,
-	                      "LoadConnections",
-	                      g_variant_new ("(^as)",
-	                                     filenames ?: NM_PTRARRAY_EMPTY (char *)),
-	                      G_VARIANT_TYPE ("(bas)"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      nm_dbus_connection_call_finish_variant_strip_dbus_error_cb);
+nm_client_load_connections_async(NMClient *          client,
+                                 char **             filenames,
+                                 GCancellable *      cancellable,
+                                 GAsyncReadyCallback callback,
+                                 gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+    g_return_if_fail(!cancellable || G_IS_CANCELLABLE(cancellable));
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_load_connections_async,
+                         cancellable,
+                         callback,
+                         user_data,
+                         NM_DBUS_PATH_SETTINGS,
+                         NM_DBUS_INTERFACE_SETTINGS,
+                         "LoadConnections",
+                         g_variant_new("(^as)", filenames ?: NM_PTRARRAY_EMPTY(char *)),
+                         G_VARIANT_TYPE("(bas)"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                         nm_dbus_connection_call_finish_variant_strip_dbus_error_cb);
 }
 
 /**
@@ -5911,28 +5948,26 @@ nm_client_load_connections_async (NMClient *client,
  *   Note that even in the success case, you might have individual @failures.
  **/
 gboolean
-nm_client_load_connections_finish (NMClient *client,
-                                   char ***failures,
-                                   GAsyncResult *result,
-                                   GError **error)
+nm_client_load_connections_finish(NMClient *    client,
+                                  char ***      failures,
+                                  GAsyncResult *result,
+                                  GError **     error)
 {
-	gs_unref_variant GVariant *ret = NULL;
+    gs_unref_variant GVariant *ret = NULL;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_load_connections_async), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_load_connections_async),
+                         FALSE);
 
-	ret = g_task_propagate_pointer (G_TASK (result), error);
-	if (!ret) {
-		*failures = NULL;
-		return FALSE;
-	}
+    ret = g_task_propagate_pointer(G_TASK(result), error);
+    if (!ret) {
+        *failures = NULL;
+        return FALSE;
+    }
 
-	g_variant_get (ret,
-	               "(b^as)",
-	               NULL,
-	               &failures);
+    g_variant_get(ret, "(b^as)", NULL, &failures);
 
-	return TRUE;
+    return TRUE;
 }
 
 /**
@@ -5950,30 +5985,28 @@ nm_client_load_connections_finish (NMClient *client,
  * Deprecated: 1.22: Use nm_client_reload_connections_async() or GDBusConnection.
  **/
 gboolean
-nm_client_reload_connections (NMClient *client,
-                              GCancellable *cancellable,
-                              GError **error)
+nm_client_reload_connections(NMClient *client, GCancellable *cancellable, GError **error)
 {
-	gs_unref_variant GVariant *ret = NULL;
+    gs_unref_variant GVariant *ret = NULL;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(!cancellable || G_IS_CANCELLABLE(cancellable), FALSE);
 
-	ret = _nm_client_dbus_call_sync (client,
-	                                 cancellable,
-	                                 NM_DBUS_PATH_SETTINGS,
-	                                 NM_DBUS_INTERFACE_SETTINGS,
-	                                 "ReloadConnections",
-	                                 g_variant_new ("()"),
-	                                 G_VARIANT_TYPE ("(b)"),
-	                                 G_DBUS_CALL_FLAGS_NONE,
-	                                 NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                                 TRUE,
-	                                 error);
-	if (!ret)
-		return FALSE;
+    ret = _nm_client_dbus_call_sync(client,
+                                    cancellable,
+                                    NM_DBUS_PATH_SETTINGS,
+                                    NM_DBUS_INTERFACE_SETTINGS,
+                                    "ReloadConnections",
+                                    g_variant_new("()"),
+                                    G_VARIANT_TYPE("(b)"),
+                                    G_DBUS_CALL_FLAGS_NONE,
+                                    NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                                    TRUE,
+                                    error);
+    if (!ret)
+        return FALSE;
 
-	return TRUE;
+    return TRUE;
 }
 
 /**
@@ -5988,28 +6021,28 @@ nm_client_reload_connections (NMClient *client,
  * in-memory state matches the on-disk state.
  **/
 void
-nm_client_reload_connections_async (NMClient *client,
-                                    GCancellable *cancellable,
-                                    GAsyncReadyCallback callback,
-                                    gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-	g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable));
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_reload_connections_async,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH_SETTINGS,
-	                      NM_DBUS_INTERFACE_SETTINGS,
-	                      "ReloadConnections",
-	                      g_variant_new ("()"),
-	                      G_VARIANT_TYPE ("(b)"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      nm_dbus_connection_call_finish_variant_strip_dbus_error_cb);
+nm_client_reload_connections_async(NMClient *          client,
+                                   GCancellable *      cancellable,
+                                   GAsyncReadyCallback callback,
+                                   gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+    g_return_if_fail(!cancellable || G_IS_CANCELLABLE(cancellable));
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_reload_connections_async,
+                         cancellable,
+                         callback,
+                         user_data,
+                         NM_DBUS_PATH_SETTINGS,
+                         NM_DBUS_INTERFACE_SETTINGS,
+                         "ReloadConnections",
+                         g_variant_new("()"),
+                         G_VARIANT_TYPE("(b)"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                         nm_dbus_connection_call_finish_variant_strip_dbus_error_cb);
 }
 
 /**
@@ -6023,20 +6056,19 @@ nm_client_reload_connections_async (NMClient *client,
  * Return value: %TRUE on success, %FALSE on failure
  **/
 gboolean
-nm_client_reload_connections_finish (NMClient *client,
-                                     GAsyncResult *result,
-                                     GError **error)
+nm_client_reload_connections_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	gs_unref_variant GVariant *ret = NULL;
+    gs_unref_variant GVariant *ret = NULL;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_reload_connections_async), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_reload_connections_async),
+                         FALSE);
 
-	ret = g_task_propagate_pointer (G_TASK (result), error);
-	if (!ret)
-		return FALSE;
+    ret = g_task_propagate_pointer(G_TASK(result), error);
+    if (!ret)
+        return FALSE;
 
-	return TRUE;
+    return TRUE;
 }
 
 /*****************************************************************************/
@@ -6053,11 +6085,11 @@ nm_client_reload_connections_finish (NMClient *client,
  * Since: 1.6
  **/
 const char *
-nm_client_get_dns_mode (NMClient *client)
+nm_client_get_dns_mode(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return NM_CLIENT_GET_PRIVATE (client)->dns_manager.mode;
+    return NM_CLIENT_GET_PRIVATE(client)->dns_manager.mode;
 }
 
 /**
@@ -6072,11 +6104,11 @@ nm_client_get_dns_mode (NMClient *client)
  * Since: 1.6
  **/
 const char *
-nm_client_get_dns_rc_manager (NMClient *client)
+nm_client_get_dns_rc_manager(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return NM_CLIENT_GET_PRIVATE (client)->dns_manager.rc_manager;
+    return NM_CLIENT_GET_PRIVATE(client)->dns_manager.rc_manager;
 }
 
 /**
@@ -6093,87 +6125,87 @@ nm_client_get_dns_rc_manager (NMClient *client)
  * Since: 1.6
  **/
 const GPtrArray *
-nm_client_get_dns_configuration (NMClient *client)
+nm_client_get_dns_configuration(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return NM_CLIENT_GET_PRIVATE (client)->dns_manager.configuration;
+    return NM_CLIENT_GET_PRIVATE(client)->dns_manager.configuration;
 }
 
 static NMLDBusNotifyUpdatePropFlags
-_notify_update_prop_dns_manager_configuration (NMClient *self,
-                                              NMLDBusObject *dbobj,
+_notify_update_prop_dns_manager_configuration(NMClient *              self,
+                                              NMLDBusObject *         dbobj,
                                               const NMLDBusMetaIface *meta_iface,
-                                              guint dbus_property_idx,
-                                              GVariant *value)
-{
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	gs_unref_ptrarray GPtrArray *configuration_old = NULL;
-	gs_unref_ptrarray GPtrArray *configuration_new = NULL;
-
-	nm_assert (G_OBJECT (self) == dbobj->nmobj);
-
-	if (value) {
-		GVariant *entry_var_tmp;
-		GVariantIter iter;
-		GPtrArray *array;
-
-		configuration_new = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_dns_entry_unref);
-
-		g_variant_iter_init (&iter, value);
-		while (g_variant_iter_next (&iter, "@a{sv}", &entry_var_tmp)) {
-			gs_unref_variant GVariant *entry_var = entry_var_tmp;
-			nm_auto_free_variant_iter GVariantIter *iterp_nameservers = NULL;
-			nm_auto_free_variant_iter GVariantIter *iterp_domains = NULL;
-			gs_free char **nameservers = NULL;
-			gs_free char **domains = NULL;
-			gboolean vpn = FALSE;
-			NMDnsEntry *entry;
-			char *interface = NULL;
-			char *str;
-			gint32 priority = 0;
-
-			if (   !g_variant_lookup (entry_var, "nameservers", "as", &iterp_nameservers)
-			    || !g_variant_lookup (entry_var, "priority", "i", &priority)) {
-				g_warning ("Ignoring invalid DNS configuration");
-				continue;
-			}
-
-			array = g_ptr_array_new ();
-			while (g_variant_iter_next (iterp_nameservers, "&s", &str))
-				g_ptr_array_add (array, str);
-			g_ptr_array_add (array, NULL);
-			nameservers = (char **) g_ptr_array_free (array, FALSE);
-
-			if (g_variant_lookup (entry_var, "domains", "as", &iterp_domains)) {
-				array = g_ptr_array_new ();
-				while (g_variant_iter_next (iterp_domains, "&s", &str))
-					g_ptr_array_add (array, str);
-				g_ptr_array_add (array, NULL);
-				domains = (char **) g_ptr_array_free (array, FALSE);
-			}
-
-			g_variant_lookup (entry_var, "interface", "&s", &interface);
-			g_variant_lookup (entry_var, "vpn", "b", &vpn);
-
-			entry = nm_dns_entry_new (interface,
-			                          (const char *const*) nameservers,
-			                          (const char *const*) domains,
-			                          priority,
-			                          vpn);
-			if (!entry) {
-				g_warning ("Ignoring invalid DNS entry");
-				continue;
-			}
-
-			g_ptr_array_add (configuration_new, entry);
-		}
-	}
-
-	configuration_old = priv->dns_manager.configuration;
-	priv->dns_manager.configuration = g_steal_pointer (&configuration_new);
-
-	return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY;
+                                              guint                   dbus_property_idx,
+                                              GVariant *              value)
+{
+    NMClientPrivate * priv                         = NM_CLIENT_GET_PRIVATE(self);
+    gs_unref_ptrarray GPtrArray *configuration_old = NULL;
+    gs_unref_ptrarray GPtrArray *configuration_new = NULL;
+
+    nm_assert(G_OBJECT(self) == dbobj->nmobj);
+
+    if (value) {
+        GVariant *   entry_var_tmp;
+        GVariantIter iter;
+        GPtrArray *  array;
+
+        configuration_new = g_ptr_array_new_with_free_func((GDestroyNotify) nm_dns_entry_unref);
+
+        g_variant_iter_init(&iter, value);
+        while (g_variant_iter_next(&iter, "@a{sv}", &entry_var_tmp)) {
+            gs_unref_variant GVariant *entry_var                      = entry_var_tmp;
+            nm_auto_free_variant_iter GVariantIter *iterp_nameservers = NULL;
+            nm_auto_free_variant_iter GVariantIter *iterp_domains     = NULL;
+            gs_free char **                         nameservers       = NULL;
+            gs_free char **                         domains           = NULL;
+            gboolean                                vpn               = FALSE;
+            NMDnsEntry *                            entry;
+            char *                                  interface = NULL;
+            char *                                  str;
+            gint32                                  priority = 0;
+
+            if (!g_variant_lookup(entry_var, "nameservers", "as", &iterp_nameservers)
+                || !g_variant_lookup(entry_var, "priority", "i", &priority)) {
+                g_warning("Ignoring invalid DNS configuration");
+                continue;
+            }
+
+            array = g_ptr_array_new();
+            while (g_variant_iter_next(iterp_nameservers, "&s", &str))
+                g_ptr_array_add(array, str);
+            g_ptr_array_add(array, NULL);
+            nameservers = (char **) g_ptr_array_free(array, FALSE);
+
+            if (g_variant_lookup(entry_var, "domains", "as", &iterp_domains)) {
+                array = g_ptr_array_new();
+                while (g_variant_iter_next(iterp_domains, "&s", &str))
+                    g_ptr_array_add(array, str);
+                g_ptr_array_add(array, NULL);
+                domains = (char **) g_ptr_array_free(array, FALSE);
+            }
+
+            g_variant_lookup(entry_var, "interface", "&s", &interface);
+            g_variant_lookup(entry_var, "vpn", "b", &vpn);
+
+            entry = nm_dns_entry_new(interface,
+                                     (const char *const *) nameservers,
+                                     (const char *const *) domains,
+                                     priority,
+                                     vpn);
+            if (!entry) {
+                g_warning("Ignoring invalid DNS entry");
+                continue;
+            }
+
+            g_ptr_array_add(configuration_new, entry);
+        }
+    }
+
+    configuration_old               = priv->dns_manager.configuration;
+    priv->dns_manager.configuration = g_steal_pointer(&configuration_new);
+
+    return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY;
 }
 
 /**
@@ -6191,47 +6223,46 @@ _notify_update_prop_dns_manager_configuration (NMClient *self,
  * Since: 1.24
  */
 const guint32 *
-nm_client_get_capabilities (NMClient *client,
-                            gsize *length)
+nm_client_get_capabilities(NMClient *client, gsize *length)
 {
-	NMClientPrivate *priv;
+    NMClientPrivate *priv;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
-	g_return_val_if_fail (length, NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
+    g_return_val_if_fail(length, NULL);
 
-	priv = NM_CLIENT_GET_PRIVATE (client);
+    priv = NM_CLIENT_GET_PRIVATE(client);
 
-	NM_SET_OUT (length, priv->nm.capabilities_len);
-	return priv->nm.capabilities_arr;
+    NM_SET_OUT(length, priv->nm.capabilities_len);
+    return priv->nm.capabilities_arr;
 }
 
 static NMLDBusNotifyUpdatePropFlags
-_notify_update_prop_nm_capabilities (NMClient *self,
-                                     NMLDBusObject *dbobj,
-                                     const NMLDBusMetaIface *meta_iface,
-                                     guint dbus_property_idx,
-                                     GVariant *value)
+_notify_update_prop_nm_capabilities(NMClient *              self,
+                                    NMLDBusObject *         dbobj,
+                                    const NMLDBusMetaIface *meta_iface,
+                                    guint                   dbus_property_idx,
+                                    GVariant *              value)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	nm_assert (G_OBJECT (self) == dbobj->nmobj);
+    nm_assert(G_OBJECT(self) == dbobj->nmobj);
 
-	nm_clear_g_free (&priv->nm.capabilities_arr);
-	priv->nm.capabilities_len = 0;
+    nm_clear_g_free(&priv->nm.capabilities_arr);
+    priv->nm.capabilities_len = 0;
 
-	if (value) {
-		const guint32 *arr;
-		gsize len;
+    if (value) {
+        const guint32 *arr;
+        gsize          len;
 
-		arr = g_variant_get_fixed_array (value, &len, sizeof (guint32));
-		priv->nm.capabilities_len = len;
-		priv->nm.capabilities_arr = g_new (guint32, len + 1);
-		if (len > 0)
-			memcpy (priv->nm.capabilities_arr, arr, len * sizeof (guint32));
-		priv->nm.capabilities_arr[len] = 0;
-	}
+        arr                       = g_variant_get_fixed_array(value, &len, sizeof(guint32));
+        priv->nm.capabilities_len = len;
+        priv->nm.capabilities_arr = g_new(guint32, len + 1);
+        if (len > 0)
+            memcpy(priv->nm.capabilities_arr, arr, len * sizeof(guint32));
+        priv->nm.capabilities_arr[len] = 0;
+    }
 
-	return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY;
+    return NML_DBUS_NOTIFY_UPDATE_PROP_FLAGS_NOTIFY;
 }
 
 /*****************************************************************************/
@@ -6249,40 +6280,37 @@ _notify_update_prop_nm_capabilities (NMClient *self,
  * Since: 1.12
  **/
 const GPtrArray *
-nm_client_get_checkpoints (NMClient *client)
+nm_client_get_checkpoints(NMClient *client)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
 
-	return nml_dbus_property_ao_get_objs_as_ptrarray (&NM_CLIENT_GET_PRIVATE (client)->nm.property_ao[PROPERTY_AO_IDX_CHECKPOINTS]);
+    return nml_dbus_property_ao_get_objs_as_ptrarray(
+        &NM_CLIENT_GET_PRIVATE(client)->nm.property_ao[PROPERTY_AO_IDX_CHECKPOINTS]);
 }
 
 static void
-checkpoint_create_cb (GObject *object,
-                      GAsyncResult *result,
-                      gpointer user_data)
-{
-	gs_unref_object GTask *task = user_data;
-	gs_unref_variant GVariant *ret = NULL;
-	const char *v_checkpoint_path;
-	GError *error = NULL;
-
-	ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (object), result, &error);
-	if (!ret) {
-		if (!nm_utils_error_is_cancelled (error))
-			g_dbus_error_strip_remote_error (error);
-		g_task_return_error (task, error);
-		return;
-	}
-
-	g_variant_get (ret,
-	               "(&o)",
-	               &v_checkpoint_path);
-
-	_request_wait_start (g_steal_pointer (&task),
-	                     "CheckpointCreate",
-	                     NM_TYPE_CHECKPOINT,
-	                     v_checkpoint_path,
-	                     NULL);
+checkpoint_create_cb(GObject *object, GAsyncResult *result, gpointer user_data)
+{
+    gs_unref_object GTask *task    = user_data;
+    gs_unref_variant GVariant *ret = NULL;
+    const char *               v_checkpoint_path;
+    GError *                   error = NULL;
+
+    ret = g_dbus_connection_call_finish(G_DBUS_CONNECTION(object), result, &error);
+    if (!ret) {
+        if (!nm_utils_error_is_cancelled(error))
+            g_dbus_error_strip_remote_error(error);
+        g_task_return_error(task, error);
+        return;
+    }
+
+    g_variant_get(ret, "(&o)", &v_checkpoint_path);
+
+    _request_wait_start(g_steal_pointer(&task),
+                        "CheckpointCreate",
+                        NM_TYPE_CHECKPOINT,
+                        v_checkpoint_path,
+                        NULL);
 }
 
 /**
@@ -6304,44 +6332,41 @@ checkpoint_create_cb (GObject *object,
  * Since: 1.12
  **/
 void
-nm_client_checkpoint_create (NMClient *client,
-                             const GPtrArray *devices,
-                             guint32 rollback_timeout,
-                             NMCheckpointCreateFlags flags,
-                             GCancellable *cancellable,
-                             GAsyncReadyCallback callback,
-                             gpointer user_data)
-{
-	gs_free const char **paths = NULL;
-	guint i;
-
-	g_return_if_fail (NM_IS_CLIENT (client));
-
-	if (   devices
-	    && devices->len > 0) {
-		paths = g_new (const char *, devices->len + 1);
-		for (i = 0; i < devices->len; i++)
-			paths[i] = nm_object_get_path (NM_OBJECT (devices->pdata[i]));
-		paths[i] = NULL;
-	}
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_checkpoint_create,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH,
-	                      NM_DBUS_INTERFACE,
-	                      "CheckpointCreate",
-	                      g_variant_new ("(^aouu)",
-	                                     paths ?: NM_PTRARRAY_EMPTY (const char *),
-	                                     rollback_timeout,
-	                                     flags),
-	                      G_VARIANT_TYPE ("(o)"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      checkpoint_create_cb);
+nm_client_checkpoint_create(NMClient *              client,
+                            const GPtrArray *       devices,
+                            guint32                 rollback_timeout,
+                            NMCheckpointCreateFlags flags,
+                            GCancellable *          cancellable,
+                            GAsyncReadyCallback     callback,
+                            gpointer                user_data)
+{
+    gs_free const char **paths = NULL;
+    guint                i;
+
+    g_return_if_fail(NM_IS_CLIENT(client));
+
+    if (devices && devices->len > 0) {
+        paths = g_new(const char *, devices->len + 1);
+        for (i = 0; i < devices->len; i++)
+            paths[i] = nm_object_get_path(NM_OBJECT(devices->pdata[i]));
+        paths[i] = NULL;
+    }
+
+    _nm_client_dbus_call(
+        client,
+        client,
+        nm_client_checkpoint_create,
+        cancellable,
+        callback,
+        user_data,
+        NM_DBUS_PATH,
+        NM_DBUS_INTERFACE,
+        "CheckpointCreate",
+        g_variant_new("(^aouu)", paths ?: NM_PTRARRAY_EMPTY(const char *), rollback_timeout, flags),
+        G_VARIANT_TYPE("(o)"),
+        G_DBUS_CALL_FLAGS_NONE,
+        NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+        checkpoint_create_cb);
 }
 
 /**
@@ -6358,15 +6383,10 @@ nm_client_checkpoint_create (NMClient *client,
  * Since: 1.12
  **/
 NMCheckpoint *
-nm_client_checkpoint_create_finish (NMClient *client,
-                                    GAsyncResult *result,
-                                    GError **error)
+nm_client_checkpoint_create_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	return NM_CHECKPOINT (_request_wait_finish (client,
-	                                            result,
-	                                            nm_client_checkpoint_create,
-	                                            NULL,
-	                                            error));
+    return NM_CHECKPOINT(
+        _request_wait_finish(client, result, nm_client_checkpoint_create, NULL, error));
 }
 
 /**
@@ -6382,29 +6402,29 @@ nm_client_checkpoint_create_finish (NMClient *client,
  * Since: 1.12
  **/
 void
-nm_client_checkpoint_destroy (NMClient *client,
-                              const char *checkpoint_path,
-                              GCancellable *cancellable,
-                              GAsyncReadyCallback callback,
-                              gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-	g_return_if_fail (checkpoint_path && checkpoint_path[0] == '/');
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_checkpoint_destroy,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH,
-	                      NM_DBUS_INTERFACE,
-	                      "CheckpointDestroy",
-	                      g_variant_new ("(o)", checkpoint_path),
-	                      G_VARIANT_TYPE ("()"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
+nm_client_checkpoint_destroy(NMClient *          client,
+                             const char *        checkpoint_path,
+                             GCancellable *      cancellable,
+                             GAsyncReadyCallback callback,
+                             gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+    g_return_if_fail(checkpoint_path && checkpoint_path[0] == '/');
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_checkpoint_destroy,
+                         cancellable,
+                         callback,
+                         user_data,
+                         NM_DBUS_PATH,
+                         NM_DBUS_INTERFACE,
+                         "CheckpointDestroy",
+                         g_variant_new("(o)", checkpoint_path),
+                         G_VARIANT_TYPE("()"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                         nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
 }
 
 /**
@@ -6421,14 +6441,12 @@ nm_client_checkpoint_destroy (NMClient *client,
  * Since: 1.12
  **/
 gboolean
-nm_client_checkpoint_destroy_finish (NMClient *client,
-                                     GAsyncResult *result,
-                                     GError **error)
+nm_client_checkpoint_destroy_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_checkpoint_destroy), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_checkpoint_destroy), FALSE);
 
-	return g_task_propagate_boolean (G_TASK (result), error);
+    return g_task_propagate_boolean(G_TASK(result), error);
 }
 
 /**
@@ -6444,29 +6462,29 @@ nm_client_checkpoint_destroy_finish (NMClient *client,
  * Since: 1.12
  **/
 void
-nm_client_checkpoint_rollback (NMClient *client,
-                               const char *checkpoint_path,
-                               GCancellable *cancellable,
-                               GAsyncReadyCallback callback,
-                               gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-	g_return_if_fail (checkpoint_path && checkpoint_path[0] == '/');
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_checkpoint_rollback,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH,
-	                      NM_DBUS_INTERFACE,
-	                      "CheckpointRollback",
-	                      g_variant_new ("(o)", checkpoint_path),
-	                      G_VARIANT_TYPE ("(a{su})"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      nm_dbus_connection_call_finish_variant_strip_dbus_error_cb);
+nm_client_checkpoint_rollback(NMClient *          client,
+                              const char *        checkpoint_path,
+                              GCancellable *      cancellable,
+                              GAsyncReadyCallback callback,
+                              gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+    g_return_if_fail(checkpoint_path && checkpoint_path[0] == '/');
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_checkpoint_rollback,
+                         cancellable,
+                         callback,
+                         user_data,
+                         NM_DBUS_PATH,
+                         NM_DBUS_INTERFACE,
+                         "CheckpointRollback",
+                         g_variant_new("(o)", checkpoint_path),
+                         G_VARIANT_TYPE("(a{su})"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                         nm_dbus_connection_call_finish_variant_strip_dbus_error_cb);
 }
 
 /**
@@ -6484,35 +6502,31 @@ nm_client_checkpoint_rollback (NMClient *client,
  * Since: 1.12
  **/
 GHashTable *
-nm_client_checkpoint_rollback_finish (NMClient *client,
-                                      GAsyncResult *result,
-                                      GError **error)
+nm_client_checkpoint_rollback_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	gs_unref_variant GVariant *ret = NULL;
-	gs_unref_variant GVariant *v_result = NULL;
-	GVariantIter iter;
-	GHashTable *hash;
-	const char *path;
-	guint32 r;
+    gs_unref_variant GVariant *ret      = NULL;
+    gs_unref_variant GVariant *v_result = NULL;
+    GVariantIter               iter;
+    GHashTable *               hash;
+    const char *               path;
+    guint32                    r;
 
-	g_return_val_if_fail (NM_IS_CLIENT (client), NULL);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_checkpoint_rollback), NULL);
+    g_return_val_if_fail(NM_IS_CLIENT(client), NULL);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_checkpoint_rollback), NULL);
 
-	ret = g_task_propagate_pointer (G_TASK (result), error);
-	if (!ret)
-		return NULL;
+    ret = g_task_propagate_pointer(G_TASK(result), error);
+    if (!ret)
+        return NULL;
 
-	g_variant_get (ret,
-	               "(@a{su})",
-	               &v_result);
+    g_variant_get(ret, "(@a{su})", &v_result);
 
-	hash = g_hash_table_new_full (nm_str_hash, g_str_equal, g_free, NULL);
+    hash = g_hash_table_new_full(nm_str_hash, g_str_equal, g_free, NULL);
 
-	g_variant_iter_init (&iter, v_result);
-	while (g_variant_iter_next (&iter, "{&su}", &path, &r))
-		g_hash_table_insert (hash, g_strdup (path), GUINT_TO_POINTER (r));
+    g_variant_iter_init(&iter, v_result);
+    while (g_variant_iter_next(&iter, "{&su}", &path, &r))
+        g_hash_table_insert(hash, g_strdup(path), GUINT_TO_POINTER(r));
 
-	return hash;
+    return hash;
 }
 
 /**
@@ -6531,32 +6545,30 @@ nm_client_checkpoint_rollback_finish (NMClient *client,
  * Since: 1.12
  **/
 void
-nm_client_checkpoint_adjust_rollback_timeout (NMClient *client,
-                                              const char *checkpoint_path,
-                                              guint32 add_timeout,
-                                              GCancellable *cancellable,
-                                              GAsyncReadyCallback callback,
-                                              gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-	g_return_if_fail (checkpoint_path && checkpoint_path[0] == '/');
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_checkpoint_adjust_rollback_timeout,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH,
-	                      NM_DBUS_INTERFACE,
-	                      "CheckpointAdjustRollbackTimeout",
-	                      g_variant_new ("(ou)",
-	                                     checkpoint_path,
-	                                     add_timeout),
-	                      G_VARIANT_TYPE ("()"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
+nm_client_checkpoint_adjust_rollback_timeout(NMClient *          client,
+                                             const char *        checkpoint_path,
+                                             guint32             add_timeout,
+                                             GCancellable *      cancellable,
+                                             GAsyncReadyCallback callback,
+                                             gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+    g_return_if_fail(checkpoint_path && checkpoint_path[0] == '/');
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_checkpoint_adjust_rollback_timeout,
+                         cancellable,
+                         callback,
+                         user_data,
+                         NM_DBUS_PATH,
+                         NM_DBUS_INTERFACE,
+                         "CheckpointAdjustRollbackTimeout",
+                         g_variant_new("(ou)", checkpoint_path, add_timeout),
+                         G_VARIANT_TYPE("()"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                         nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
 }
 
 /**
@@ -6572,14 +6584,16 @@ nm_client_checkpoint_adjust_rollback_timeout (NMClient *client,
  * Since: 1.12
  **/
 gboolean
-nm_client_checkpoint_adjust_rollback_timeout_finish (NMClient *client,
-                                                     GAsyncResult *result,
-                                                     GError **error)
+nm_client_checkpoint_adjust_rollback_timeout_finish(NMClient *    client,
+                                                    GAsyncResult *result,
+                                                    GError **     error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_checkpoint_adjust_rollback_timeout), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(
+        nm_g_task_is_valid(result, client, nm_client_checkpoint_adjust_rollback_timeout),
+        FALSE);
 
-	return g_task_propagate_boolean (G_TASK (result), error);
+    return g_task_propagate_boolean(G_TASK(result), error);
 }
 
 /**
@@ -6599,28 +6613,28 @@ nm_client_checkpoint_adjust_rollback_timeout_finish (NMClient *client,
  * Since: 1.22
  **/
 void
-nm_client_reload (NMClient *client,
-                  NMManagerReloadFlags flags,
-                  GCancellable *cancellable,
-                  GAsyncReadyCallback callback,
-                  gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_reload,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      NM_DBUS_PATH,
-	                      NM_DBUS_INTERFACE,
-	                      "Reload",
-	                      g_variant_new ("(u)", (guint32) flags),
-	                      G_VARIANT_TYPE ("()"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                      NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                      nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
+nm_client_reload(NMClient *           client,
+                 NMManagerReloadFlags flags,
+                 GCancellable *       cancellable,
+                 GAsyncReadyCallback  callback,
+                 gpointer             user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_reload,
+                         cancellable,
+                         callback,
+                         user_data,
+                         NM_DBUS_PATH,
+                         NM_DBUS_INTERFACE,
+                         "Reload",
+                         g_variant_new("(u)", (guint32) flags),
+                         G_VARIANT_TYPE("()"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                         nm_dbus_connection_call_finish_void_strip_dbus_error_cb);
 }
 
 /**
@@ -6636,14 +6650,12 @@ nm_client_reload (NMClient *client,
  * Since: 1.22
  **/
 gboolean
-nm_client_reload_finish (NMClient *client,
-                         GAsyncResult *result,
-                         GError **error)
+nm_client_reload_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_reload), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_reload), FALSE);
 
-	return g_task_propagate_boolean (G_TASK (result), error);
+    return g_task_propagate_boolean(G_TASK(result), error);
 }
 
 /*****************************************************************************/
@@ -6678,35 +6690,33 @@ nm_client_reload_finish (NMClient *client,
  * Since: 1.24
  **/
 void
-nm_client_dbus_call (NMClient *client,
-                     const char *object_path,
-                     const char *interface_name,
-                     const char *method_name,
-                     GVariant *parameters,
-                     const GVariantType *reply_type,
-                     int timeout_msec,
-                     GCancellable *cancellable,
-                     GAsyncReadyCallback callback,
-                     gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_dbus_call,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      object_path,
-	                      interface_name,
-	                      method_name,
-	                      parameters,
-	                      reply_type,
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                        timeout_msec == -1
-	                      ? NM_DBUS_DEFAULT_TIMEOUT_MSEC
-	                      : timeout_msec,
-	                      nm_dbus_connection_call_finish_variant_cb);
+nm_client_dbus_call(NMClient *          client,
+                    const char *        object_path,
+                    const char *        interface_name,
+                    const char *        method_name,
+                    GVariant *          parameters,
+                    const GVariantType *reply_type,
+                    int                 timeout_msec,
+                    GCancellable *      cancellable,
+                    GAsyncReadyCallback callback,
+                    gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_dbus_call,
+                         cancellable,
+                         callback,
+                         user_data,
+                         object_path,
+                         interface_name,
+                         method_name,
+                         parameters,
+                         reply_type,
+                         G_DBUS_CALL_FLAGS_NONE,
+                         timeout_msec == -1 ? NM_DBUS_DEFAULT_TIMEOUT_MSEC : timeout_msec,
+                         nm_dbus_connection_call_finish_variant_cb);
 }
 
 /**
@@ -6722,14 +6732,12 @@ nm_client_dbus_call (NMClient *client,
  * Since: 1.24
  **/
 GVariant *
-nm_client_dbus_call_finish (NMClient *client,
-                            GAsyncResult *result,
-                            GError **error)
+nm_client_dbus_call_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_dbus_call), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_dbus_call), FALSE);
 
-	return g_task_propagate_pointer (G_TASK (result), error);
+    return g_task_propagate_pointer(G_TASK(result), error);
 }
 
 /*****************************************************************************/
@@ -6755,40 +6763,35 @@ nm_client_dbus_call_finish (NMClient *client,
  * Since: 1.24
  **/
 void
-nm_client_dbus_set_property (NMClient *client,
-                             const char *object_path,
-                             const char *interface_name,
-                             const char *property_name,
-                             GVariant *value,
-                             int timeout_msec,
-                             GCancellable *cancellable,
-                             GAsyncReadyCallback callback,
-                             gpointer user_data)
-{
-	g_return_if_fail (NM_IS_CLIENT (client));
-	g_return_if_fail (interface_name);
-	g_return_if_fail (property_name);
-	g_return_if_fail (value);
-
-	_nm_client_dbus_call (client,
-	                      client,
-	                      nm_client_dbus_set_property,
-	                      cancellable,
-	                      callback,
-	                      user_data,
-	                      object_path,
-	                      DBUS_INTERFACE_PROPERTIES,
-	                      "Set",
-	                      g_variant_new ("(ssv)",
-	                                     interface_name,
-	                                     property_name,
-	                                     value),
-	                      G_VARIANT_TYPE ("()"),
-	                      G_DBUS_CALL_FLAGS_NONE,
-	                        timeout_msec == -1
-	                      ? NM_DBUS_DEFAULT_TIMEOUT_MSEC
-	                      : timeout_msec,
-	                      nm_dbus_connection_call_finish_void_cb);
+nm_client_dbus_set_property(NMClient *          client,
+                            const char *        object_path,
+                            const char *        interface_name,
+                            const char *        property_name,
+                            GVariant *          value,
+                            int                 timeout_msec,
+                            GCancellable *      cancellable,
+                            GAsyncReadyCallback callback,
+                            gpointer            user_data)
+{
+    g_return_if_fail(NM_IS_CLIENT(client));
+    g_return_if_fail(interface_name);
+    g_return_if_fail(property_name);
+    g_return_if_fail(value);
+
+    _nm_client_dbus_call(client,
+                         client,
+                         nm_client_dbus_set_property,
+                         cancellable,
+                         callback,
+                         user_data,
+                         object_path,
+                         DBUS_INTERFACE_PROPERTIES,
+                         "Set",
+                         g_variant_new("(ssv)", interface_name, property_name, value),
+                         G_VARIANT_TYPE("()"),
+                         G_DBUS_CALL_FLAGS_NONE,
+                         timeout_msec == -1 ? NM_DBUS_DEFAULT_TIMEOUT_MSEC : timeout_msec,
+                         nm_dbus_connection_call_finish_void_cb);
 }
 
 /**
@@ -6804,922 +6807,915 @@ nm_client_dbus_set_property (NMClient *client,
  * Since: 1.24
  **/
 gboolean
-nm_client_dbus_set_property_finish (NMClient *client,
-                                    GAsyncResult *result,
-                                    GError **error)
+nm_client_dbus_set_property_finish(NMClient *client, GAsyncResult *result, GError **error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, client, nm_client_dbus_set_property), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(client), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, client, nm_client_dbus_set_property), FALSE);
 
-	return g_task_propagate_boolean (G_TASK (result), error);
+    return g_task_propagate_boolean(G_TASK(result), error);
 }
 
 /*****************************************************************************/
 
 static void
-_init_fetch_all (NMClient *self)
-{
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
-
-	dbus_context = nm_g_main_context_push_thread_default_if_necessary (priv->dbus_context);
-
-	NML_NMCLIENT_LOG_D (self, "fetch all");
-
-	nm_assert (!priv->get_managed_objects_cancellable);
-
-	priv->get_managed_objects_cancellable = g_cancellable_new ();
-
-	priv->dbsid_nm_object_manager = nm_dbus_connection_signal_subscribe_object_manager (priv->dbus_connection,
-	                                                                                    priv->name_owner,
-	                                                                                    "/org/freedesktop",
-	                                                                                    NULL,
-	                                                                                    _dbus_managed_objects_changed_cb,
-	                                                                                    self,
-	                                                                                    NULL);
-
-	priv->dbsid_dbus_properties_properties_changed = nm_dbus_connection_signal_subscribe_properties_changed (priv->dbus_connection,
-	                                                                                                         priv->name_owner,
-	                                                                                                         NULL,
-	                                                                                                         NULL,
-	                                                                                                         _dbus_properties_changed_cb,
-	                                                                                                         self,
-	                                                                                                         NULL);
-
-	priv->dbsid_nm_settings_connection_updated = g_dbus_connection_signal_subscribe (priv->dbus_connection,
-	                                                                                 priv->name_owner,
-	                                                                                 NM_DBUS_INTERFACE_SETTINGS_CONNECTION,
-	                                                                                 "Updated",
-	                                                                                 NULL,
-	                                                                                 NULL,
-	                                                                                 G_DBUS_SIGNAL_FLAGS_NONE,
-	                                                                                 _dbus_settings_updated_cb,
-	                                                                                 self,
-	                                                                                 NULL);
-
-	priv->dbsid_nm_connection_active_state_changed = g_dbus_connection_signal_subscribe (priv->dbus_connection,
-	                                                                                     priv->name_owner,
-	                                                                                     NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
-	                                                                                     "StateChanged",
-	                                                                                     NULL,
-	                                                                                     NULL,
-	                                                                                     G_DBUS_SIGNAL_FLAGS_NONE,
-	                                                                                     _dbus_nm_connection_active_state_changed_cb,
-	                                                                                     self,
-	                                                                                     NULL);
-
-	priv->dbsid_nm_vpn_connection_state_changed = g_dbus_connection_signal_subscribe (priv->dbus_connection,
-	                                                                                  priv->name_owner,
-	                                                                                  NM_DBUS_INTERFACE_VPN_CONNECTION,
-	                                                                                  "VpnStateChanged",
-	                                                                                  NULL,
-	                                                                                  NULL,
-	                                                                                  G_DBUS_SIGNAL_FLAGS_NONE,
-	                                                                                  _dbus_nm_vpn_connection_state_changed_cb,
-	                                                                                  self,
-	                                                                                  NULL);
-
-	priv->dbsid_nm_check_permissions = g_dbus_connection_signal_subscribe (priv->dbus_connection,
-	                                                                       priv->name_owner,
-	                                                                       NM_DBUS_INTERFACE,
-	                                                                       "CheckPermissions",
-	                                                                       NULL,
-	                                                                       NULL,
-	                                                                       G_DBUS_SIGNAL_FLAGS_NONE,
-	                                                                       _dbus_nm_check_permissions_cb,
-	                                                                       self,
-	                                                                       NULL);
-
-	g_dbus_connection_call (priv->dbus_connection,
-	                        priv->name_owner,
-	                        "/org/freedesktop",
-	                        DBUS_INTERFACE_OBJECT_MANAGER,
-	                        "GetManagedObjects",
-	                        NULL,
-	                        G_VARIANT_TYPE ("(a{oa{sa{sv}}})"),
-	                        G_DBUS_CALL_FLAGS_NO_AUTO_START,
-	                        NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                        priv->get_managed_objects_cancellable,
-	                        _dbus_get_managed_objects_cb,
-	                        nm_utils_user_data_pack (self, g_object_ref (priv->context_busy_watcher)));
-
-	_dbus_check_permissions_start (self);
+_init_fetch_all(NMClient *self)
+{
+    NMClientPrivate *        priv                       = NM_CLIENT_GET_PRIVATE(self);
+    nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
+
+    dbus_context = nm_g_main_context_push_thread_default_if_necessary(priv->dbus_context);
+
+    NML_NMCLIENT_LOG_D(self, "fetch all");
+
+    nm_assert(!priv->get_managed_objects_cancellable);
+
+    priv->get_managed_objects_cancellable = g_cancellable_new();
+
+    priv->dbsid_nm_object_manager =
+        nm_dbus_connection_signal_subscribe_object_manager(priv->dbus_connection,
+                                                           priv->name_owner,
+                                                           "/org/freedesktop",
+                                                           NULL,
+                                                           _dbus_managed_objects_changed_cb,
+                                                           self,
+                                                           NULL);
+
+    priv->dbsid_dbus_properties_properties_changed =
+        nm_dbus_connection_signal_subscribe_properties_changed(priv->dbus_connection,
+                                                               priv->name_owner,
+                                                               NULL,
+                                                               NULL,
+                                                               _dbus_properties_changed_cb,
+                                                               self,
+                                                               NULL);
+
+    priv->dbsid_nm_settings_connection_updated =
+        g_dbus_connection_signal_subscribe(priv->dbus_connection,
+                                           priv->name_owner,
+                                           NM_DBUS_INTERFACE_SETTINGS_CONNECTION,
+                                           "Updated",
+                                           NULL,
+                                           NULL,
+                                           G_DBUS_SIGNAL_FLAGS_NONE,
+                                           _dbus_settings_updated_cb,
+                                           self,
+                                           NULL);
+
+    priv->dbsid_nm_connection_active_state_changed =
+        g_dbus_connection_signal_subscribe(priv->dbus_connection,
+                                           priv->name_owner,
+                                           NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
+                                           "StateChanged",
+                                           NULL,
+                                           NULL,
+                                           G_DBUS_SIGNAL_FLAGS_NONE,
+                                           _dbus_nm_connection_active_state_changed_cb,
+                                           self,
+                                           NULL);
+
+    priv->dbsid_nm_vpn_connection_state_changed =
+        g_dbus_connection_signal_subscribe(priv->dbus_connection,
+                                           priv->name_owner,
+                                           NM_DBUS_INTERFACE_VPN_CONNECTION,
+                                           "VpnStateChanged",
+                                           NULL,
+                                           NULL,
+                                           G_DBUS_SIGNAL_FLAGS_NONE,
+                                           _dbus_nm_vpn_connection_state_changed_cb,
+                                           self,
+                                           NULL);
+
+    priv->dbsid_nm_check_permissions =
+        g_dbus_connection_signal_subscribe(priv->dbus_connection,
+                                           priv->name_owner,
+                                           NM_DBUS_INTERFACE,
+                                           "CheckPermissions",
+                                           NULL,
+                                           NULL,
+                                           G_DBUS_SIGNAL_FLAGS_NONE,
+                                           _dbus_nm_check_permissions_cb,
+                                           self,
+                                           NULL);
+
+    g_dbus_connection_call(priv->dbus_connection,
+                           priv->name_owner,
+                           "/org/freedesktop",
+                           DBUS_INTERFACE_OBJECT_MANAGER,
+                           "GetManagedObjects",
+                           NULL,
+                           G_VARIANT_TYPE("(a{oa{sa{sv}}})"),
+                           G_DBUS_CALL_FLAGS_NO_AUTO_START,
+                           NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                           priv->get_managed_objects_cancellable,
+                           _dbus_get_managed_objects_cb,
+                           nm_utils_user_data_pack(self, g_object_ref(priv->context_busy_watcher)));
+
+    _dbus_check_permissions_start(self);
 }
 
 static void
-_init_release_all (NMClient *self)
-{
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	CList **dbus_objects_lst_heads;
-	NMLDBusObject *dbobj;
-	int i;
-	gboolean permissions_state_changed = FALSE;
-
-	NML_NMCLIENT_LOG_D (self, "release all");
-
-	nm_clear_g_cancellable (&priv->permissions_cancellable);
-	nm_clear_g_cancellable (&priv->get_managed_objects_cancellable);
-
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->dbsid_nm_object_manager);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->dbsid_dbus_properties_properties_changed);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->dbsid_nm_settings_connection_updated);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->dbsid_nm_connection_active_state_changed);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->dbsid_nm_vpn_connection_state_changed);
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->dbsid_nm_check_permissions);
-
-	if (priv->permissions_state != NM_TERNARY_DEFAULT) {
-		priv->permissions_state = NM_TERNARY_DEFAULT;
-		permissions_state_changed = TRUE;
-	}
-
-	if (priv->permissions) {
-		gs_free guint8 *old_permissions = g_steal_pointer (&priv->permissions);
-
-		_emit_permissions_changed (self, old_permissions, NULL);
-	}
-
-	if (permissions_state_changed)
-		_notify (self, PROP_PERMISSIONS_STATE);
-
-	nm_assert (c_list_is_empty (&priv->obj_changed_lst_head));
-
-	dbus_objects_lst_heads = ((CList *[]) {
-		&priv->dbus_objects_lst_head_on_dbus,
-		&priv->dbus_objects_lst_head_with_nmobj_not_ready,
-		&priv->dbus_objects_lst_head_with_nmobj_ready,
-		NULL,
-	});
-	for (i = 0; dbus_objects_lst_heads[i]; i++) {
-		c_list_for_each_entry (dbobj, dbus_objects_lst_heads[i], dbus_objects_lst) {
-			NMLDBusObjIfaceData *db_iface_data;
-
-			nm_assert (c_list_is_empty (&dbobj->obj_changed_lst));
-			c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst)
-				db_iface_data->iface_removed = TRUE;
-			nml_dbus_object_obj_changed_link (self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_DBUS);
-		}
-	}
-
-	_dbus_handle_changes (self, "release-all", FALSE);
-
-	/* We require that when we remove all D-Bus interfaces, that all object will go
-	 * away. Note that a NMLDBusObject can be alive due to a NMLDBusObjWatcher, but
-	 * even those should be all cleaned up. */
-	nm_assert (c_list_is_empty (&priv->obj_changed_lst_head));
-	nm_assert (c_list_is_empty (&priv->dbus_objects_lst_head_watched_only));
-	nm_assert (c_list_is_empty (&priv->dbus_objects_lst_head_on_dbus));
-	nm_assert (c_list_is_empty (&priv->dbus_objects_lst_head_with_nmobj_not_ready));
-	nm_assert (c_list_is_empty (&priv->dbus_objects_lst_head_with_nmobj_ready));
-	nm_assert (g_hash_table_size (priv->dbus_objects) == 0);
+_init_release_all(NMClient *self)
+{
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+    CList **         dbus_objects_lst_heads;
+    NMLDBusObject *  dbobj;
+    int              i;
+    gboolean         permissions_state_changed = FALSE;
+
+    NML_NMCLIENT_LOG_D(self, "release all");
+
+    nm_clear_g_cancellable(&priv->permissions_cancellable);
+    nm_clear_g_cancellable(&priv->get_managed_objects_cancellable);
+
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->dbsid_nm_object_manager);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection,
+                                      &priv->dbsid_dbus_properties_properties_changed);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection,
+                                      &priv->dbsid_nm_settings_connection_updated);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection,
+                                      &priv->dbsid_nm_connection_active_state_changed);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection,
+                                      &priv->dbsid_nm_vpn_connection_state_changed);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->dbsid_nm_check_permissions);
+
+    if (priv->permissions_state != NM_TERNARY_DEFAULT) {
+        priv->permissions_state   = NM_TERNARY_DEFAULT;
+        permissions_state_changed = TRUE;
+    }
+
+    if (priv->permissions) {
+        gs_free guint8 *old_permissions = g_steal_pointer(&priv->permissions);
+
+        _emit_permissions_changed(self, old_permissions, NULL);
+    }
+
+    if (permissions_state_changed)
+        _notify(self, PROP_PERMISSIONS_STATE);
+
+    nm_assert(c_list_is_empty(&priv->obj_changed_lst_head));
+
+    dbus_objects_lst_heads = ((CList *[]){
+        &priv->dbus_objects_lst_head_on_dbus,
+        &priv->dbus_objects_lst_head_with_nmobj_not_ready,
+        &priv->dbus_objects_lst_head_with_nmobj_ready,
+        NULL,
+    });
+    for (i = 0; dbus_objects_lst_heads[i]; i++) {
+        c_list_for_each_entry (dbobj, dbus_objects_lst_heads[i], dbus_objects_lst) {
+            NMLDBusObjIfaceData *db_iface_data;
+
+            nm_assert(c_list_is_empty(&dbobj->obj_changed_lst));
+            c_list_for_each_entry (db_iface_data, &dbobj->iface_lst_head, iface_lst)
+                db_iface_data->iface_removed = TRUE;
+            nml_dbus_object_obj_changed_link(self, dbobj, NML_DBUS_OBJ_CHANGED_TYPE_DBUS);
+        }
+    }
+
+    _dbus_handle_changes(self, "release-all", FALSE);
+
+    /* We require that when we remove all D-Bus interfaces, that all object will go
+     * away. Note that a NMLDBusObject can be alive due to a NMLDBusObjWatcher, but
+     * even those should be all cleaned up. */
+    nm_assert(c_list_is_empty(&priv->obj_changed_lst_head));
+    nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_watched_only));
+    nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_on_dbus));
+    nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_with_nmobj_not_ready));
+    nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_with_nmobj_ready));
+    nm_assert(g_hash_table_size(priv->dbus_objects) == 0);
 }
 
 /*****************************************************************************/
 
 static void
-name_owner_changed (NMClient *self,
-                    const char *name_owner)
+name_owner_changed(NMClient *self, const char *name_owner)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	gboolean changed;
-	gs_free char *old_name_owner_free = NULL;
-	const char *old_name_owner;
-	nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
+    NMClientPrivate *        priv = NM_CLIENT_GET_PRIVATE(self);
+    gboolean                 changed;
+    gs_free char *           old_name_owner_free = NULL;
+    const char *             old_name_owner;
+    nm_auto_pop_gmaincontext GMainContext *dbus_context = NULL;
 
-	name_owner = nm_str_not_empty (name_owner);
+    name_owner = nm_str_not_empty(name_owner);
 
-	changed = !nm_streq0 (priv->name_owner, name_owner);
+    changed = !nm_streq0(priv->name_owner, name_owner);
 
-	if (   !name_owner
-	    && priv->main_context != priv->dbus_context) {
-		gs_unref_object GObject *old_context_busy_watcher = NULL;
+    if (!name_owner && priv->main_context != priv->dbus_context) {
+        gs_unref_object GObject *old_context_busy_watcher = NULL;
 
-		NML_NMCLIENT_LOG_D (self, "resync main context as we have no name owner");
+        NML_NMCLIENT_LOG_D(self, "resync main context as we have no name owner");
 
-		nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-		                                   &priv->name_owner_changed_id);
+        nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->name_owner_changed_id);
 
-		/* Our instance was initialized synchronously. Usually we must henceforth
-		 * stick to a internal main context. But now we have no name-owner...
-		 * at this point, we anyway are going to do a full resync. Swap the main
-		 * contexts again. */
+        /* Our instance was initialized synchronously. Usually we must henceforth
+         * stick to a internal main context. But now we have no name-owner...
+         * at this point, we anyway are going to do a full resync. Swap the main
+         * contexts again. */
 
-		old_context_busy_watcher = g_steal_pointer (&priv->context_busy_watcher);
-		priv->context_busy_watcher = g_object_ref (g_object_get_qdata (old_context_busy_watcher,
-		                                                               nm_context_busy_watcher_quark ()));
+        old_context_busy_watcher   = g_steal_pointer(&priv->context_busy_watcher);
+        priv->context_busy_watcher = g_object_ref(
+            g_object_get_qdata(old_context_busy_watcher, nm_context_busy_watcher_quark()));
 
-		g_main_context_ref (priv->main_context);
-		g_main_context_unref (priv->dbus_context);
-		priv->dbus_context = priv->main_context;
+        g_main_context_ref(priv->main_context);
+        g_main_context_unref(priv->dbus_context);
+        priv->dbus_context = priv->main_context;
 
-		dbus_context = nm_g_main_context_push_thread_default_if_necessary (priv->dbus_context);
+        dbus_context = nm_g_main_context_push_thread_default_if_necessary(priv->dbus_context);
 
-		/* we need to sync again... */
+        /* we need to sync again... */
 
-		_assert_main_context_is_current_thread_default (self, dbus_context);
+        _assert_main_context_is_current_thread_default(self, dbus_context);
 
-		priv->name_owner_changed_id = nm_dbus_connection_signal_subscribe_name_owner_changed (priv->dbus_connection,
-		                                                                                      NM_DBUS_SERVICE,
-		                                                                                      name_owner_changed_cb,
-		                                                                                      self,
-		                                                                                      NULL);
-		name_owner_get_call (self);
-	} else
-		dbus_context = nm_g_main_context_push_thread_default_if_necessary (priv->dbus_context);
+        priv->name_owner_changed_id =
+            nm_dbus_connection_signal_subscribe_name_owner_changed(priv->dbus_connection,
+                                                                   NM_DBUS_SERVICE,
+                                                                   name_owner_changed_cb,
+                                                                   self,
+                                                                   NULL);
+        name_owner_get_call(self);
+    } else
+        dbus_context = nm_g_main_context_push_thread_default_if_necessary(priv->dbus_context);
 
-	if (changed) {
-		NML_NMCLIENT_LOG_D (self, "name owner changed: %s%s%s -> %s%s%s",
-		                    NM_PRINT_FMT_QUOTE_STRING (priv->name_owner),
-		                    NM_PRINT_FMT_QUOTE_STRING (name_owner));
-		old_name_owner_free = priv->name_owner;
-		priv->name_owner = g_strdup (name_owner);
-		old_name_owner = old_name_owner_free;
-	} else
-		old_name_owner = priv->name_owner;
+    if (changed) {
+        NML_NMCLIENT_LOG_D(self,
+                           "name owner changed: %s%s%s -> %s%s%s",
+                           NM_PRINT_FMT_QUOTE_STRING(priv->name_owner),
+                           NM_PRINT_FMT_QUOTE_STRING(name_owner));
+        old_name_owner_free = priv->name_owner;
+        priv->name_owner    = g_strdup(name_owner);
+        old_name_owner      = old_name_owner_free;
+    } else
+        old_name_owner = priv->name_owner;
 
-	if (changed)
-		_notify (self, PROP_DBUS_NAME_OWNER);
+    if (changed)
+        _notify(self, PROP_DBUS_NAME_OWNER);
 
-	if (   changed
-	    && old_name_owner)
-		_init_release_all (self);
+    if (changed && old_name_owner)
+        _init_release_all(self);
 
-	if (   changed
-	    && priv->name_owner)
-		_init_fetch_all (self);
+    if (changed && priv->name_owner)
+        _init_fetch_all(self);
 
-	_set_nm_running (self);
+    _set_nm_running(self);
 
-	if (priv->init_data) {
-		nm_auto_pop_gmaincontext GMainContext *main_context = NULL;
+    if (priv->init_data) {
+        nm_auto_pop_gmaincontext GMainContext *main_context = NULL;
 
-		if (priv->main_context != priv->dbus_context)
-			main_context = nm_g_main_context_push_thread_default_if_necessary (priv->main_context);
-		_init_start_check_complete (self);
-	}
+        if (priv->main_context != priv->dbus_context)
+            main_context = nm_g_main_context_push_thread_default_if_necessary(priv->main_context);
+        _init_start_check_complete(self);
+    }
 }
 
 static void
-name_owner_changed_cb (GDBusConnection *connection,
-                       const char *sender_name,
-                       const char *object_path,
-                       const char *interface_name,
-                       const char *signal_name,
-                       GVariant *parameters,
-                       gpointer user_data)
+name_owner_changed_cb(GDBusConnection *connection,
+                      const char *     sender_name,
+                      const char *     object_path,
+                      const char *     interface_name,
+                      const char *     signal_name,
+                      GVariant *       parameters,
+                      gpointer         user_data)
 {
-	NMClient *self = user_data;
-	NMClientPrivate *priv;
-	const char *new_owner;
+    NMClient *       self = user_data;
+    NMClientPrivate *priv;
+    const char *     new_owner;
 
-	if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sss)")))
-		return;
+    if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(sss)")))
+        return;
 
-	priv = NM_CLIENT_GET_PRIVATE (self);
-	if (priv->name_owner_get_cancellable)
-		return;
+    priv = NM_CLIENT_GET_PRIVATE(self);
+    if (priv->name_owner_get_cancellable)
+        return;
 
-	g_variant_get (parameters,
-	               "(&s&s&s)",
-	               NULL,
-	               NULL,
-	               &new_owner);
+    g_variant_get(parameters, "(&s&s&s)", NULL, NULL, &new_owner);
 
-	name_owner_changed (self, new_owner);
+    name_owner_changed(self, new_owner);
 }
 
 static void
-name_owner_get_cb (GObject *source,
-                   GAsyncResult *result,
-                   gpointer user_data)
+name_owner_get_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	NMClient *self;
-	NMClientPrivate *priv;
-	gs_unref_object GObject *context_busy_watcher = NULL;
-	gs_unref_variant GVariant *ret = NULL;
-	gs_free_error GError *error = NULL;
-	const char *name_owner = NULL;
+    NMClient *       self;
+    NMClientPrivate *priv;
+    gs_unref_object GObject *context_busy_watcher = NULL;
+    gs_unref_variant GVariant *ret                = NULL;
+    gs_free_error GError *error                   = NULL;
+    const char *          name_owner              = NULL;
 
-	nm_utils_user_data_unpack (user_data, &self, &context_busy_watcher);
+    nm_utils_user_data_unpack(user_data, &self, &context_busy_watcher);
 
-	ret = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), result, &error);
+    ret = g_dbus_connection_call_finish(G_DBUS_CONNECTION(source), result, &error);
 
-	if (   !ret
-	    && nm_utils_error_is_cancelled (error))
-		return;
+    if (!ret && nm_utils_error_is_cancelled(error))
+        return;
 
-	priv = NM_CLIENT_GET_PRIVATE (self);
+    priv = NM_CLIENT_GET_PRIVATE(self);
 
-	g_clear_object (&priv->name_owner_get_cancellable);
+    g_clear_object(&priv->name_owner_get_cancellable);
 
-	if (ret)
-		g_variant_get (ret, "(&s)", &name_owner);
+    if (ret)
+        g_variant_get(ret, "(&s)", &name_owner);
 
-	name_owner_changed (self, name_owner);
+    name_owner_changed(self, name_owner);
 }
 
 static void
-name_owner_get_call (NMClient *self)
+name_owner_get_call(NMClient *self)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	nm_assert (!priv->name_owner_get_cancellable);
-	priv->name_owner_get_cancellable = g_cancellable_new ();
+    nm_assert(!priv->name_owner_get_cancellable);
+    priv->name_owner_get_cancellable = g_cancellable_new();
 
-	g_dbus_connection_call (priv->dbus_connection,
-	                        DBUS_SERVICE_DBUS,
-	                        DBUS_PATH_DBUS,
-	                        DBUS_INTERFACE_DBUS,
-	                        "GetNameOwner",
-	                        g_variant_new ("(s)", NM_DBUS_SERVICE),
-	                        G_VARIANT_TYPE ("(s)"),
-	                        G_DBUS_CALL_FLAGS_NONE,
-	                        NM_DBUS_DEFAULT_TIMEOUT_MSEC,
-	                        priv->name_owner_get_cancellable,
-	                        name_owner_get_cb,
-	                        nm_utils_user_data_pack (self, g_object_ref (priv->context_busy_watcher)));
+    g_dbus_connection_call(priv->dbus_connection,
+                           DBUS_SERVICE_DBUS,
+                           DBUS_PATH_DBUS,
+                           DBUS_INTERFACE_DBUS,
+                           "GetNameOwner",
+                           g_variant_new("(s)", NM_DBUS_SERVICE),
+                           G_VARIANT_TYPE("(s)"),
+                           G_DBUS_CALL_FLAGS_NONE,
+                           NM_DBUS_DEFAULT_TIMEOUT_MSEC,
+                           priv->name_owner_get_cancellable,
+                           name_owner_get_cb,
+                           nm_utils_user_data_pack(self, g_object_ref(priv->context_busy_watcher)));
 }
 
 /*****************************************************************************/
 
 static inline gboolean
-_nml_cleanup_context_busy_watcher_on_idle_cb (gpointer user_data)
+_nml_cleanup_context_busy_watcher_on_idle_cb(gpointer user_data)
 {
-	nm_auto_unref_gmaincontext GMainContext *context = NULL;
-	gs_unref_object GObject *context_busy_watcher = NULL;
+    nm_auto_unref_gmaincontext GMainContext *context = NULL;
+    gs_unref_object GObject *context_busy_watcher    = NULL;
 
-	nm_utils_user_data_unpack (user_data, &context, &context_busy_watcher);
+    nm_utils_user_data_unpack(user_data, &context, &context_busy_watcher);
 
-	nm_assert (context);
-	nm_assert (G_IS_OBJECT (context_busy_watcher));
-	return G_SOURCE_REMOVE;
+    nm_assert(context);
+    nm_assert(G_IS_OBJECT(context_busy_watcher));
+    return G_SOURCE_REMOVE;
 }
 
 void
-nml_cleanup_context_busy_watcher_on_idle (GObject *context_busy_watcher_take,
-                                          GMainContext *context)
-{
-	gs_unref_object GObject *context_busy_watcher = g_steal_pointer (&context_busy_watcher_take);
-	GSource *cleanup_source;
-
-	nm_assert (G_IS_OBJECT (context_busy_watcher));
-	nm_assert (context);
-
-	/* Technically, we cancelled all pending actions (and these actions
-	 * (GTask) keep the context_busy_watcher object alive). Also, we passed
-	 * no destroy notify to g_dbus_connection_signal_subscribe().
-	 * That means, there should be no other unaccounted GSource'es left.
-	 *
-	 * However, we really need to be sure that the context_busy_watcher's
-	 * lifetime matches the time that the context is busy. That is especially
-	 * important with synchronous initialization, where the context-busy-watcher
-	 * keeps the inner GMainContext integrated in the caller's.
-	 * We must not g_source_destroy() that integration too early.
-	 *
-	 * So to be really sure all this is given, always schedule one last
-	 * cleanup idle action with low priority. This should be the last
-	 * thing related to this instance that keeps the context busy.
-	 *
-	 * Note that we could also *not* take a reference on @context
-	 * and unref @context_busy_watcher via the GDestroyNotify. That would
-	 * allow for the context to be wrapped up early, and when the last user
-	 * gives up the reference to the context, the destroy notify could complete
-	 * without even invoke the idle handler. However, that destroy notify may
-	 * not be called in the right thread. So, we want to be sure that we unref
-	 * the context-busy-watcher in the right context. Hence, we always take an
-	 * additional reference and always cleanup in the idle handler. This means:
-	 * the user *MUST* always keep iterating the context after NMClient got destroyed.
-	 * But that is not a severe limitation, because the user anyway must be prepared
-	 * to do that. That is because in many cases it is necessary anyway (and the user
-	 * wouldn't know a priory when not). This way, it is just always necessary. */
-
-	cleanup_source = nm_g_idle_source_new (G_PRIORITY_LOW + 10,
-	                                       _nml_cleanup_context_busy_watcher_on_idle_cb,
-	                                       nm_utils_user_data_pack (g_main_context_ref (context),
-	                                                                g_steal_pointer (&context_busy_watcher)),
-	                                       NULL);
-	g_source_attach (cleanup_source, context);
-	g_source_unref (cleanup_source);
+nml_cleanup_context_busy_watcher_on_idle(GObject *context_busy_watcher_take, GMainContext *context)
+{
+    gs_unref_object GObject *context_busy_watcher = g_steal_pointer(&context_busy_watcher_take);
+    GSource *                cleanup_source;
+
+    nm_assert(G_IS_OBJECT(context_busy_watcher));
+    nm_assert(context);
+
+    /* Technically, we cancelled all pending actions (and these actions
+     * (GTask) keep the context_busy_watcher object alive). Also, we passed
+     * no destroy notify to g_dbus_connection_signal_subscribe().
+     * That means, there should be no other unaccounted GSource'es left.
+     *
+     * However, we really need to be sure that the context_busy_watcher's
+     * lifetime matches the time that the context is busy. That is especially
+     * important with synchronous initialization, where the context-busy-watcher
+     * keeps the inner GMainContext integrated in the caller's.
+     * We must not g_source_destroy() that integration too early.
+     *
+     * So to be really sure all this is given, always schedule one last
+     * cleanup idle action with low priority. This should be the last
+     * thing related to this instance that keeps the context busy.
+     *
+     * Note that we could also *not* take a reference on @context
+     * and unref @context_busy_watcher via the GDestroyNotify. That would
+     * allow for the context to be wrapped up early, and when the last user
+     * gives up the reference to the context, the destroy notify could complete
+     * without even invoke the idle handler. However, that destroy notify may
+     * not be called in the right thread. So, we want to be sure that we unref
+     * the context-busy-watcher in the right context. Hence, we always take an
+     * additional reference and always cleanup in the idle handler. This means:
+     * the user *MUST* always keep iterating the context after NMClient got destroyed.
+     * But that is not a severe limitation, because the user anyway must be prepared
+     * to do that. That is because in many cases it is necessary anyway (and the user
+     * wouldn't know a priory when not). This way, it is just always necessary. */
+
+    cleanup_source =
+        nm_g_idle_source_new(G_PRIORITY_LOW + 10,
+                             _nml_cleanup_context_busy_watcher_on_idle_cb,
+                             nm_utils_user_data_pack(g_main_context_ref(context),
+                                                     g_steal_pointer(&context_busy_watcher)),
+                             NULL);
+    g_source_attach(cleanup_source, context);
+    g_source_unref(cleanup_source);
 }
 
 /*****************************************************************************/
 
 static void
-_init_start_complete (NMClient *self,
-                      GError *error_take)
+_init_start_complete(NMClient *self, GError *error_take)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	NML_NMCLIENT_LOG_D (self, "%s init complete with %s%s%s",
-	                   priv->init_data->is_sync ? "sync" : "async",
-	                   NM_PRINT_FMT_QUOTED (error_take, "error: ", error_take->message, "", "success"));
+    NML_NMCLIENT_LOG_D(
+        self,
+        "%s init complete with %s%s%s",
+        priv->init_data->is_sync ? "sync" : "async",
+        NM_PRINT_FMT_QUOTED(error_take, "error: ", error_take->message, "", "success"));
 
-	nml_init_data_return (g_steal_pointer (&priv->init_data),
-	                      error_take);
+    nml_init_data_return(g_steal_pointer(&priv->init_data), error_take);
 }
 
 static void
-_init_start_check_complete (NMClient *self)
+_init_start_check_complete(NMClient *self)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	_assert_main_context_is_current_thread_default (self, main_context);
+    _assert_main_context_is_current_thread_default(self, main_context);
 
-	if (!priv->init_data)
-		return;
+    if (!priv->init_data)
+        return;
 
-	if (priv->get_managed_objects_cancellable) {
-		/* still initializing. Wait. */
-		return;
-	}
+    if (priv->get_managed_objects_cancellable) {
+        /* still initializing. Wait. */
+        return;
+    }
 
 #if NM_MORE_ASSERTS > 10
-	{
-		NMLDBusObject *dbobj;
-
-		c_list_for_each_entry (dbobj, &priv->dbus_objects_lst_head_with_nmobj_not_ready, dbus_objects_lst) {
-			NML_NMCLIENT_LOG_T (self, "init-start waiting for %s", dbobj->dbus_path->str);
-			break;
-		}
-	}
+    {
+        NMLDBusObject *dbobj;
+
+        c_list_for_each_entry (dbobj,
+                               &priv->dbus_objects_lst_head_with_nmobj_not_ready,
+                               dbus_objects_lst) {
+            NML_NMCLIENT_LOG_T(self, "init-start waiting for %s", dbobj->dbus_path->str);
+            break;
+        }
+    }
 #endif
 
-	if (!c_list_is_empty (&priv->dbus_objects_lst_head_with_nmobj_not_ready))
-		return;
+    if (!c_list_is_empty(&priv->dbus_objects_lst_head_with_nmobj_not_ready))
+        return;
 
-	_init_start_complete (self, NULL);
+    _init_start_complete(self, NULL);
 }
 
 static void
-_init_start_cancelled_cb (GCancellable *cancellable,
-                          gpointer user_data)
+_init_start_cancelled_cb(GCancellable *cancellable, gpointer user_data)
 {
-	NMClient *self = user_data;
-	GError *error;
+    NMClient *self = user_data;
+    GError *  error;
 
-	nm_assert (NM_IS_CLIENT (self));
-	nm_assert (NM_CLIENT_GET_PRIVATE (self)->init_data);
-	nm_assert (NM_CLIENT_GET_PRIVATE (self)->init_data->cancellable == cancellable);
+    nm_assert(NM_IS_CLIENT(self));
+    nm_assert(NM_CLIENT_GET_PRIVATE(self)->init_data);
+    nm_assert(NM_CLIENT_GET_PRIVATE(self)->init_data->cancellable == cancellable);
 
-	nm_utils_error_set_cancelled (&error, FALSE, NULL);
-	_init_start_complete (self, error);
+    nm_utils_error_set_cancelled(&error, FALSE, NULL);
+    _init_start_complete(self, error);
 }
 
 static gboolean
-_init_start_cancel_on_idle_cb (gpointer user_data)
+_init_start_cancel_on_idle_cb(gpointer user_data)
 {
-	NMClient *self = user_data;
-	GError *error;
+    NMClient *self = user_data;
+    GError *  error;
 
-	nm_utils_error_set_cancelled (&error, FALSE, NULL);
-	_init_start_complete (self, error);
-	return G_SOURCE_CONTINUE;
+    nm_utils_error_set_cancelled(&error, FALSE, NULL);
+    _init_start_complete(self, error);
+    return G_SOURCE_CONTINUE;
 }
 
 static void
-_init_start_with_bus (NMClient *self)
-{
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-
-	if (priv->init_data->cancellable) {
-		priv->init_data->cancelled_id = g_signal_connect (priv->init_data->cancellable,
-		                                                  "cancelled",
-		                                                  G_CALLBACK (_init_start_cancelled_cb),
-		                                                  self);
-		if (g_cancellable_is_cancelled (priv->init_data->cancellable)) {
-			priv->init_data->cancel_on_idle_source = g_idle_source_new ();
-			g_source_set_callback (priv->init_data->cancel_on_idle_source, _init_start_cancel_on_idle_cb, self, NULL);
-			g_source_attach (priv->init_data->cancel_on_idle_source, priv->main_context);
-			return;
-		}
-	}
-
-	_assert_main_context_is_current_thread_default (self, dbus_context);
-
-	priv->name_owner_changed_id = nm_dbus_connection_signal_subscribe_name_owner_changed (priv->dbus_connection,
-	                                                                                      NM_DBUS_SERVICE,
-	                                                                                      name_owner_changed_cb,
-	                                                                                      self,
-	                                                                                      NULL);
-	name_owner_get_call (self);
+_init_start_with_bus(NMClient *self)
+{
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+
+    if (priv->init_data->cancellable) {
+        priv->init_data->cancelled_id = g_signal_connect(priv->init_data->cancellable,
+                                                         "cancelled",
+                                                         G_CALLBACK(_init_start_cancelled_cb),
+                                                         self);
+        if (g_cancellable_is_cancelled(priv->init_data->cancellable)) {
+            priv->init_data->cancel_on_idle_source = g_idle_source_new();
+            g_source_set_callback(priv->init_data->cancel_on_idle_source,
+                                  _init_start_cancel_on_idle_cb,
+                                  self,
+                                  NULL);
+            g_source_attach(priv->init_data->cancel_on_idle_source, priv->main_context);
+            return;
+        }
+    }
+
+    _assert_main_context_is_current_thread_default(self, dbus_context);
+
+    priv->name_owner_changed_id =
+        nm_dbus_connection_signal_subscribe_name_owner_changed(priv->dbus_connection,
+                                                               NM_DBUS_SERVICE,
+                                                               name_owner_changed_cb,
+                                                               self,
+                                                               NULL);
+    name_owner_get_call(self);
 }
 
 static void
-_init_start_bus_get_cb (GObject *source, GAsyncResult *result, gpointer user_data)
+_init_start_bus_get_cb(GObject *source, GAsyncResult *result, gpointer user_data)
 {
-	NMClient *self = user_data;
-	NMClientPrivate *priv;
-	GDBusConnection *dbus_connection;
-	GError *error = NULL;
+    NMClient *       self = user_data;
+    NMClientPrivate *priv;
+    GDBusConnection *dbus_connection;
+    GError *         error = NULL;
 
-	nm_assert (NM_IS_CLIENT (self));
+    nm_assert(NM_IS_CLIENT(self));
 
-	dbus_connection = g_bus_get_finish (result, &error);
+    dbus_connection = g_bus_get_finish(result, &error);
 
-	if (!dbus_connection) {
-		_init_start_complete (self, error);
-		return;
-	}
+    if (!dbus_connection) {
+        _init_start_complete(self, error);
+        return;
+    }
 
-	priv = NM_CLIENT_GET_PRIVATE (self);
-	priv->dbus_connection = dbus_connection;
+    priv                  = NM_CLIENT_GET_PRIVATE(self);
+    priv->dbus_connection = dbus_connection;
 
-	_init_start_with_bus (self);
+    _init_start_with_bus(self);
 
-	_notify (self, PROP_DBUS_CONNECTION);
+    _notify(self, PROP_DBUS_CONNECTION);
 }
 
 static void
-_init_start (NMClient *self)
+_init_start(NMClient *self)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	NML_NMCLIENT_LOG_D (self, "starting %s initialization...",
-	                    priv->init_data->is_sync ? "sync" : "async");
+    NML_NMCLIENT_LOG_D(self,
+                       "starting %s initialization...",
+                       priv->init_data->is_sync ? "sync" : "async");
 
-	if (!priv->dbus_connection) {
-		g_bus_get (_nm_dbus_bus_type (),
-		           priv->init_data->cancellable,
-		           _init_start_bus_get_cb,
-		           self);
-		return;
-	}
+    if (!priv->dbus_connection) {
+        g_bus_get(_nm_dbus_bus_type(), priv->init_data->cancellable, _init_start_bus_get_cb, self);
+        return;
+    }
 
-	_init_start_with_bus (self);
+    _init_start_with_bus(self);
 }
 
 /*****************************************************************************/
 
 static void
-get_property (GObject *object, guint prop_id,
-              GValue *value, GParamSpec *pspec)
-{
-	NMClient *self = NM_CLIENT (object);
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (object);
-
-	switch (prop_id) {
-	case PROP_INSTANCE_FLAGS:
-		g_value_set_uint (value, priv->instance_flags);
-		break;
-	case PROP_DBUS_CONNECTION:
-		g_value_set_object (value, priv->dbus_connection);
-		break;
-	case PROP_DBUS_NAME_OWNER:
-		g_value_set_string (value, nm_client_get_dbus_name_owner (self));
-		break;
-	case PROP_NM_RUNNING:
-		g_value_set_boolean (value, nm_client_get_nm_running (self));
-		break;
-
-	/* Manager properties. */
-	case PROP_VERSION:
-		g_value_set_string (value, nm_client_get_version (self));
-		break;
-	case PROP_STATE:
-		g_value_set_enum (value, nm_client_get_state (self));
-		break;
-	case PROP_STARTUP:
-		g_value_set_boolean (value, nm_client_get_startup (self));
-		break;
-	case PROP_NETWORKING_ENABLED:
-		g_value_set_boolean (value, nm_client_networking_get_enabled (self));
-		break;
-	case PROP_WIRELESS_ENABLED:
-		g_value_set_boolean (value, nm_client_wireless_get_enabled (self));
-		break;
-	case PROP_WIRELESS_HARDWARE_ENABLED:
-		g_value_set_boolean (value, nm_client_wireless_hardware_get_enabled (self));
-		break;
-	case PROP_WWAN_ENABLED:
-		g_value_set_boolean (value, nm_client_wwan_get_enabled (self));
-		break;
-	case PROP_WWAN_HARDWARE_ENABLED:
-		g_value_set_boolean (value, nm_client_wwan_hardware_get_enabled (self));
-		break;
-	case PROP_WIMAX_ENABLED:
-		g_value_set_boolean (value, FALSE);
-		break;
-	case PROP_WIMAX_HARDWARE_ENABLED:
-		g_value_set_boolean (value, FALSE);
-		break;
-	case PROP_ACTIVE_CONNECTIONS:
-		g_value_take_boxed (value, _nm_utils_copy_object_array (nm_client_get_active_connections (self)));
-		break;
-	case PROP_CONNECTIVITY:
-		g_value_set_enum (value, nm_client_get_connectivity (self));
-		break;
-	case PROP_CONNECTIVITY_CHECK_AVAILABLE:
-		g_value_set_boolean (value, nm_client_connectivity_check_get_available (self));
-		break;
-	case PROP_CONNECTIVITY_CHECK_ENABLED:
-		g_value_set_boolean (value, nm_client_connectivity_check_get_enabled (self));
-		break;
-	case PROP_CONNECTIVITY_CHECK_URI:
-		g_value_set_string (value, nm_client_connectivity_check_get_uri (self));
-		break;
-	case PROP_PRIMARY_CONNECTION:
-		g_value_set_object (value, nm_client_get_primary_connection (self));
-		break;
-	case PROP_ACTIVATING_CONNECTION:
-		g_value_set_object (value, nm_client_get_activating_connection (self));
-		break;
-	case PROP_DEVICES:
-		g_value_take_boxed (value, _nm_utils_copy_object_array (nm_client_get_devices (self)));
-		break;
-	case PROP_METERED:
-		g_value_set_uint (value, nm_client_get_metered (self));
-		break;
-	case PROP_ALL_DEVICES:
-		g_value_take_boxed (value, _nm_utils_copy_object_array (nm_client_get_all_devices (self)));
-		break;
-	case PROP_CHECKPOINTS:
-		g_value_take_boxed (value, _nm_utils_copy_object_array (nm_client_get_checkpoints (self)));
-		break;
-	case PROP_CAPABILITIES: {
-			const guint32 *arr;
-			GArray *out;
-			gsize len;
-
-			arr = nm_client_get_capabilities (self, &len);
-			if (arr) {
-				out = g_array_new (TRUE, FALSE, sizeof (guint32));
-				g_array_append_vals (out, arr, len);
-			} else
-				out = NULL;
-			g_value_take_boxed (value, out);
-		}
-		break;
-	case PROP_PERMISSIONS_STATE:
-		g_value_set_enum (value, priv->permissions_state);
-		break;
-
-	/* Settings properties. */
-	case PROP_CONNECTIONS:
-		g_value_take_boxed (value, _nm_utils_copy_object_array (nm_client_get_connections (self)));
-		break;
-	case PROP_HOSTNAME:
-		g_value_set_string (value, priv->settings.hostname);
-		break;
-	case PROP_CAN_MODIFY:
-		g_value_set_boolean (value, priv->settings.can_modify);
-		break;
-
-	/* DNS properties */
-	case PROP_DNS_MODE:
-		g_value_set_string (value, nm_client_get_dns_mode (self));
-		break;
-	case PROP_DNS_RC_MANAGER:
-		g_value_set_string (value, nm_client_get_dns_rc_manager (self));
-		break;
-	case PROP_DNS_CONFIGURATION:
-		g_value_take_boxed (value, _nm_utils_copy_array (nm_client_get_dns_configuration (self),
-		                                                 (NMUtilsCopyFunc) nm_dns_entry_dup,
-		                                                 (GDestroyNotify) nm_dns_entry_unref));
-		break;
-
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-		break;
-	}
+get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+{
+    NMClient *       self = NM_CLIENT(object);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(object);
+
+    switch (prop_id) {
+    case PROP_INSTANCE_FLAGS:
+        g_value_set_uint(value, priv->instance_flags);
+        break;
+    case PROP_DBUS_CONNECTION:
+        g_value_set_object(value, priv->dbus_connection);
+        break;
+    case PROP_DBUS_NAME_OWNER:
+        g_value_set_string(value, nm_client_get_dbus_name_owner(self));
+        break;
+    case PROP_NM_RUNNING:
+        g_value_set_boolean(value, nm_client_get_nm_running(self));
+        break;
+
+    /* Manager properties. */
+    case PROP_VERSION:
+        g_value_set_string(value, nm_client_get_version(self));
+        break;
+    case PROP_STATE:
+        g_value_set_enum(value, nm_client_get_state(self));
+        break;
+    case PROP_STARTUP:
+        g_value_set_boolean(value, nm_client_get_startup(self));
+        break;
+    case PROP_NETWORKING_ENABLED:
+        g_value_set_boolean(value, nm_client_networking_get_enabled(self));
+        break;
+    case PROP_WIRELESS_ENABLED:
+        g_value_set_boolean(value, nm_client_wireless_get_enabled(self));
+        break;
+    case PROP_WIRELESS_HARDWARE_ENABLED:
+        g_value_set_boolean(value, nm_client_wireless_hardware_get_enabled(self));
+        break;
+    case PROP_WWAN_ENABLED:
+        g_value_set_boolean(value, nm_client_wwan_get_enabled(self));
+        break;
+    case PROP_WWAN_HARDWARE_ENABLED:
+        g_value_set_boolean(value, nm_client_wwan_hardware_get_enabled(self));
+        break;
+    case PROP_WIMAX_ENABLED:
+        g_value_set_boolean(value, FALSE);
+        break;
+    case PROP_WIMAX_HARDWARE_ENABLED:
+        g_value_set_boolean(value, FALSE);
+        break;
+    case PROP_ACTIVE_CONNECTIONS:
+        g_value_take_boxed(value,
+                           _nm_utils_copy_object_array(nm_client_get_active_connections(self)));
+        break;
+    case PROP_CONNECTIVITY:
+        g_value_set_enum(value, nm_client_get_connectivity(self));
+        break;
+    case PROP_CONNECTIVITY_CHECK_AVAILABLE:
+        g_value_set_boolean(value, nm_client_connectivity_check_get_available(self));
+        break;
+    case PROP_CONNECTIVITY_CHECK_ENABLED:
+        g_value_set_boolean(value, nm_client_connectivity_check_get_enabled(self));
+        break;
+    case PROP_CONNECTIVITY_CHECK_URI:
+        g_value_set_string(value, nm_client_connectivity_check_get_uri(self));
+        break;
+    case PROP_PRIMARY_CONNECTION:
+        g_value_set_object(value, nm_client_get_primary_connection(self));
+        break;
+    case PROP_ACTIVATING_CONNECTION:
+        g_value_set_object(value, nm_client_get_activating_connection(self));
+        break;
+    case PROP_DEVICES:
+        g_value_take_boxed(value, _nm_utils_copy_object_array(nm_client_get_devices(self)));
+        break;
+    case PROP_METERED:
+        g_value_set_uint(value, nm_client_get_metered(self));
+        break;
+    case PROP_ALL_DEVICES:
+        g_value_take_boxed(value, _nm_utils_copy_object_array(nm_client_get_all_devices(self)));
+        break;
+    case PROP_CHECKPOINTS:
+        g_value_take_boxed(value, _nm_utils_copy_object_array(nm_client_get_checkpoints(self)));
+        break;
+    case PROP_CAPABILITIES:
+    {
+        const guint32 *arr;
+        GArray *       out;
+        gsize          len;
+
+        arr = nm_client_get_capabilities(self, &len);
+        if (arr) {
+            out = g_array_new(TRUE, FALSE, sizeof(guint32));
+            g_array_append_vals(out, arr, len);
+        } else
+            out = NULL;
+        g_value_take_boxed(value, out);
+    } break;
+    case PROP_PERMISSIONS_STATE:
+        g_value_set_enum(value, priv->permissions_state);
+        break;
+
+    /* Settings properties. */
+    case PROP_CONNECTIONS:
+        g_value_take_boxed(value, _nm_utils_copy_object_array(nm_client_get_connections(self)));
+        break;
+    case PROP_HOSTNAME:
+        g_value_set_string(value, priv->settings.hostname);
+        break;
+    case PROP_CAN_MODIFY:
+        g_value_set_boolean(value, priv->settings.can_modify);
+        break;
+
+    /* DNS properties */
+    case PROP_DNS_MODE:
+        g_value_set_string(value, nm_client_get_dns_mode(self));
+        break;
+    case PROP_DNS_RC_MANAGER:
+        g_value_set_string(value, nm_client_get_dns_rc_manager(self));
+        break;
+    case PROP_DNS_CONFIGURATION:
+        g_value_take_boxed(value,
+                           _nm_utils_copy_array(nm_client_get_dns_configuration(self),
+                                                (NMUtilsCopyFunc) nm_dns_entry_dup,
+                                                (GDestroyNotify) nm_dns_entry_unref));
+        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)
-{
-	NMClient *self = NM_CLIENT (object);
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
-	gboolean b;
-	guint v_uint;
-
-	switch (prop_id) {
-
-	case PROP_INSTANCE_FLAGS:
-		/* construct */
-
-		v_uint = g_value_get_uint (value);
-		g_return_if_fail (!NM_FLAGS_ANY (v_uint, ~((guint) NM_CLIENT_INSTANCE_FLAGS_ALL)));
-		v_uint &= ((guint) NM_CLIENT_INSTANCE_FLAGS_ALL);
-
-		if (!priv->instance_flags_constructed) {
-			priv->instance_flags_constructed = TRUE;
-			priv->instance_flags = v_uint;
-			nm_assert ((guint) priv->instance_flags == v_uint);
-		} else {
-			NMClientInstanceFlags flags = v_uint;
-
-			/* After object construction, we only allow to toggle certain flags and
-			 * ignore all other flags. */
-
-			if ((priv->instance_flags ^ flags) & NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS) {
-				if (NM_FLAGS_HAS (flags, NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS))
-					priv->instance_flags |= NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS;
-				else
-					priv->instance_flags &= ~NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS;
-				if (priv->dbsid_nm_check_permissions != 0)
-					_dbus_check_permissions_start (self);
-			}
-		}
-		break;
-
-	case PROP_DBUS_CONNECTION:
-		/* construct-only */
-		priv->dbus_connection = g_value_dup_object (value);
-		break;
-
-	case PROP_NETWORKING_ENABLED:
-		b = g_value_get_boolean (value);
-		if (priv->nm.networking_enabled != b) {
-			nm_client_networking_set_enabled (self,
-			                                  b,
-			                                  NULL);
-			/* Let the property value flip when we get the change signal from NM */
-		}
-		break;
-	case PROP_WIRELESS_ENABLED:
-		b = g_value_get_boolean (value);
-		if (priv->nm.wireless_enabled != b) {
-			nm_client_wireless_set_enabled (self, b);
-			/* Let the property value flip when we get the change signal from NM */
-		}
-		break;
-	case PROP_WWAN_ENABLED:
-		b = g_value_get_boolean (value);
-		if (priv->nm.wwan_enabled != b) {
-			nm_client_wwan_set_enabled (self, b);
-			/* Let the property value flip when we get the change signal from NM */
-		}
-		break;
-	case PROP_CONNECTIVITY_CHECK_ENABLED:
-		b = g_value_get_boolean (value);
-		if (priv->nm.connectivity_check_enabled != b) {
-			nm_client_connectivity_check_set_enabled (self, b);
-			/* Let the property value flip when we get the change signal from NM */
-		}
-		break;
-	case PROP_WIMAX_ENABLED:
-		break;
-	default:
-		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-		break;
-	}
+set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+{
+    NMClient *       self = NM_CLIENT(object);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
+    gboolean         b;
+    guint            v_uint;
+
+    switch (prop_id) {
+    case PROP_INSTANCE_FLAGS:
+        /* construct */
+
+        v_uint = g_value_get_uint(value);
+        g_return_if_fail(!NM_FLAGS_ANY(v_uint, ~((guint) NM_CLIENT_INSTANCE_FLAGS_ALL)));
+        v_uint &= ((guint) NM_CLIENT_INSTANCE_FLAGS_ALL);
+
+        if (!priv->instance_flags_constructed) {
+            priv->instance_flags_constructed = TRUE;
+            priv->instance_flags             = v_uint;
+            nm_assert((guint) priv->instance_flags == v_uint);
+        } else {
+            NMClientInstanceFlags flags = v_uint;
+
+            /* After object construction, we only allow to toggle certain flags and
+             * ignore all other flags. */
+
+            if ((priv->instance_flags ^ flags)
+                & NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS) {
+                if (NM_FLAGS_HAS(flags, NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS))
+                    priv->instance_flags |= NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS;
+                else
+                    priv->instance_flags &= ~NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS;
+                if (priv->dbsid_nm_check_permissions != 0)
+                    _dbus_check_permissions_start(self);
+            }
+        }
+        break;
+
+    case PROP_DBUS_CONNECTION:
+        /* construct-only */
+        priv->dbus_connection = g_value_dup_object(value);
+        break;
+
+    case PROP_NETWORKING_ENABLED:
+        b = g_value_get_boolean(value);
+        if (priv->nm.networking_enabled != b) {
+            nm_client_networking_set_enabled(self, b, NULL);
+            /* Let the property value flip when we get the change signal from NM */
+        }
+        break;
+    case PROP_WIRELESS_ENABLED:
+        b = g_value_get_boolean(value);
+        if (priv->nm.wireless_enabled != b) {
+            nm_client_wireless_set_enabled(self, b);
+            /* Let the property value flip when we get the change signal from NM */
+        }
+        break;
+    case PROP_WWAN_ENABLED:
+        b = g_value_get_boolean(value);
+        if (priv->nm.wwan_enabled != b) {
+            nm_client_wwan_set_enabled(self, b);
+            /* Let the property value flip when we get the change signal from NM */
+        }
+        break;
+    case PROP_CONNECTIVITY_CHECK_ENABLED:
+        b = g_value_get_boolean(value);
+        if (priv->nm.connectivity_check_enabled != b) {
+            nm_client_connectivity_check_set_enabled(self, b);
+            /* Let the property value flip when we get the change signal from NM */
+        }
+        break;
+    case PROP_WIMAX_ENABLED:
+        break;
+    default:
+        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+        break;
+    }
 }
 
 /*****************************************************************************/
 
 static gboolean
-init_sync (GInitable *initable, GCancellable *cancellable, GError **error)
-{
-	gs_unref_object NMClient *self = NULL;
-	NMClientPrivate *priv;
-	GMainContext *dbus_context;
-	GError *local_error = NULL;
-	GMainLoop *main_loop;
-	GObject *parent_context_busy_watcher;
-
-	g_return_val_if_fail (NM_IS_CLIENT (initable), FALSE);
-
-	self = g_object_ref (NM_CLIENT (initable)); /* keep instance alive. */
-
-	priv = NM_CLIENT_GET_PRIVATE (self);
-
-	g_return_val_if_fail (!priv->dbus_context, FALSE);
-
-	/* when using init_sync(), we use a separate internal GMainContext for
-	 * all D-Bus operations and use our regular async-init code. That means,
-	 * also in sync-init, we don't actually block waiting for our D-Bus requests,
-	 * instead, we only block (g_main_loop_run()) for the overall result.
-	 *
-	 * Doing this has a performance overhead. Also, we cannot ever fall back
-	 * to the regular main-context (not unless we lose the main-owner and
-	 * need to re-initialize). The reason is that we receive events on our
-	 * dbus_context, and this cannot be brought in sync -- short of full
-	 * reinitalizing. Therefor, using sync init not only is slower during
-	 * construction of the object, but NMClient will stick to the dual GMainContext
-	 * mode.
-	 *
-	 * Aside from this downside, the solution is good:
-	 *
-	 * - we don't duplicate the implementation of async-init.
-	 * - we don't iterate the main-context of the caller while waiting for
-	 *   initialization to happen
-	 * - we still invoke all changes under the main_context of the caller.
-	 * - all D-Bus events strictly go through dbus_context and are in order.
-	 */
-
-	dbus_context = g_main_context_new ();
-	priv->dbus_context = g_main_context_ref (dbus_context);
-
-	/* We have an inner context. Note that if we loose the name owner, we have a chance
-	 * to resync and drop the inner context. That means, requests made against the inner
-	 * context have a different lifetime. Hence, we create a separate tracking
-	 * object. This "wraps" the outer context-busy-watcher and references it, so
-	 * that the work together. Grep for nm_context_busy_watcher_quark() to
-	 * see how this works. */
-	parent_context_busy_watcher = g_steal_pointer (&priv->context_busy_watcher);
-	priv->context_busy_watcher = g_object_new (G_TYPE_OBJECT, NULL);
-	g_object_set_qdata_full (priv->context_busy_watcher,
-	                         nm_context_busy_watcher_quark (),
-	                         parent_context_busy_watcher,
-	                         g_object_unref);
-
-	g_main_context_push_thread_default (dbus_context);
-
-	main_loop = g_main_loop_new (dbus_context, FALSE);
-
-	priv->init_data = nml_init_data_new_sync (cancellable, main_loop, &local_error);
-
-	_init_start (self);
-
-	g_main_loop_run (main_loop);
-
-	g_main_loop_unref (main_loop);
-
-	g_main_context_pop_thread_default (dbus_context);
-
-	if (priv->main_context != priv->dbus_context) {
-		nm_context_busy_watcher_integrate_source (priv->main_context,
-		                                          priv->dbus_context,
-		                                          priv->context_busy_watcher);
-	}
-
-	g_main_context_unref (dbus_context);
-
-	if (local_error) {
-		g_propagate_error (error, local_error);
-		return FALSE;
-	}
-	return TRUE;
+init_sync(GInitable *initable, GCancellable *cancellable, GError **error)
+{
+    gs_unref_object NMClient *self = NULL;
+    NMClientPrivate *         priv;
+    GMainContext *            dbus_context;
+    GError *                  local_error = NULL;
+    GMainLoop *               main_loop;
+    GObject *                 parent_context_busy_watcher;
+
+    g_return_val_if_fail(NM_IS_CLIENT(initable), FALSE);
+
+    self = g_object_ref(NM_CLIENT(initable)); /* keep instance alive. */
+
+    priv = NM_CLIENT_GET_PRIVATE(self);
+
+    g_return_val_if_fail(!priv->dbus_context, FALSE);
+
+    /* when using init_sync(), we use a separate internal GMainContext for
+     * all D-Bus operations and use our regular async-init code. That means,
+     * also in sync-init, we don't actually block waiting for our D-Bus requests,
+     * instead, we only block (g_main_loop_run()) for the overall result.
+     *
+     * Doing this has a performance overhead. Also, we cannot ever fall back
+     * to the regular main-context (not unless we lose the main-owner and
+     * need to re-initialize). The reason is that we receive events on our
+     * dbus_context, and this cannot be brought in sync -- short of full
+     * reinitalizing. Therefor, using sync init not only is slower during
+     * construction of the object, but NMClient will stick to the dual GMainContext
+     * mode.
+     *
+     * Aside from this downside, the solution is good:
+     *
+     * - we don't duplicate the implementation of async-init.
+     * - we don't iterate the main-context of the caller while waiting for
+     *   initialization to happen
+     * - we still invoke all changes under the main_context of the caller.
+     * - all D-Bus events strictly go through dbus_context and are in order.
+     */
+
+    dbus_context       = g_main_context_new();
+    priv->dbus_context = g_main_context_ref(dbus_context);
+
+    /* We have an inner context. Note that if we loose the name owner, we have a chance
+     * to resync and drop the inner context. That means, requests made against the inner
+     * context have a different lifetime. Hence, we create a separate tracking
+     * object. This "wraps" the outer context-busy-watcher and references it, so
+     * that the work together. Grep for nm_context_busy_watcher_quark() to
+     * see how this works. */
+    parent_context_busy_watcher = g_steal_pointer(&priv->context_busy_watcher);
+    priv->context_busy_watcher  = g_object_new(G_TYPE_OBJECT, NULL);
+    g_object_set_qdata_full(priv->context_busy_watcher,
+                            nm_context_busy_watcher_quark(),
+                            parent_context_busy_watcher,
+                            g_object_unref);
+
+    g_main_context_push_thread_default(dbus_context);
+
+    main_loop = g_main_loop_new(dbus_context, FALSE);
+
+    priv->init_data = nml_init_data_new_sync(cancellable, main_loop, &local_error);
+
+    _init_start(self);
+
+    g_main_loop_run(main_loop);
+
+    g_main_loop_unref(main_loop);
+
+    g_main_context_pop_thread_default(dbus_context);
+
+    if (priv->main_context != priv->dbus_context) {
+        nm_context_busy_watcher_integrate_source(priv->main_context,
+                                                 priv->dbus_context,
+                                                 priv->context_busy_watcher);
+    }
+
+    g_main_context_unref(dbus_context);
+
+    if (local_error) {
+        g_propagate_error(error, local_error);
+        return FALSE;
+    }
+    return TRUE;
 }
 
 /*****************************************************************************/
 
 static void
-init_async (GAsyncInitable *initable,
-            int io_priority,
-            GCancellable *cancellable,
-            GAsyncReadyCallback callback,
-            gpointer user_data)
+init_async(GAsyncInitable *    initable,
+           int                 io_priority,
+           GCancellable *      cancellable,
+           GAsyncReadyCallback callback,
+           gpointer            user_data)
 {
-	NMClientPrivate *priv;
-	NMClient *self;
-	nm_auto_pop_gmaincontext GMainContext *context = NULL;
-	GTask *task;
+    NMClientPrivate *        priv;
+    NMClient *               self;
+    nm_auto_pop_gmaincontext GMainContext *context = NULL;
+    GTask *                                task;
 
-	g_return_if_fail (NM_IS_CLIENT (initable));
+    g_return_if_fail(NM_IS_CLIENT(initable));
 
-	self = NM_CLIENT (initable);
-	priv = NM_CLIENT_GET_PRIVATE (self);
+    self = NM_CLIENT(initable);
+    priv = NM_CLIENT_GET_PRIVATE(self);
 
-	g_return_if_fail (!priv->dbus_context);
+    g_return_if_fail(!priv->dbus_context);
 
-	priv->dbus_context = g_main_context_ref (priv->main_context);
+    priv->dbus_context = g_main_context_ref(priv->main_context);
 
-	context = nm_g_main_context_push_thread_default_if_necessary (priv->main_context);
+    context = nm_g_main_context_push_thread_default_if_necessary(priv->main_context);
 
-	task = nm_g_task_new (self, cancellable, init_async, callback, user_data);
-	g_task_set_priority (task, io_priority);
+    task = nm_g_task_new(self, cancellable, init_async, callback, user_data);
+    g_task_set_priority(task, io_priority);
 
-	priv->init_data = nml_init_data_new_async (cancellable, g_steal_pointer (&task));
+    priv->init_data = nml_init_data_new_async(cancellable, g_steal_pointer(&task));
 
-	_init_start (self);
+    _init_start(self);
 }
 
 static gboolean
-init_finish (GAsyncInitable *initable, GAsyncResult *result, GError **error)
+init_finish(GAsyncInitable *initable, GAsyncResult *result, GError **error)
 {
-	g_return_val_if_fail (NM_IS_CLIENT (initable), FALSE);
-	g_return_val_if_fail (nm_g_task_is_valid (result, initable, init_async), FALSE);
+    g_return_val_if_fail(NM_IS_CLIENT(initable), FALSE);
+    g_return_val_if_fail(nm_g_task_is_valid(result, initable, init_async), FALSE);
 
-	return g_task_propagate_boolean (G_TASK (result), error);
+    return g_task_propagate_boolean(G_TASK(result), error);
 }
 
 /*****************************************************************************/
 
 static void
-nm_client_init (NMClient *self)
+nm_client_init(NMClient *self)
 {
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	priv->permissions_state = NM_TERNARY_DEFAULT;
+    priv->permissions_state = NM_TERNARY_DEFAULT;
 
-	priv->context_busy_watcher = g_object_new (G_TYPE_OBJECT, NULL);
+    priv->context_busy_watcher = g_object_new(G_TYPE_OBJECT, NULL);
 
-	c_list_init (&self->obj_base.queue_notify_lst);
-	c_list_init (&priv->queue_notify_lst_head);
-	c_list_init (&priv->notify_event_lst_head);
+    c_list_init(&self->obj_base.queue_notify_lst);
+    c_list_init(&priv->queue_notify_lst_head);
+    c_list_init(&priv->notify_event_lst_head);
 
-	priv->dbus_objects = g_hash_table_new (nm_pdirect_hash, nm_pdirect_equal);
-	c_list_init (&priv->dbus_objects_lst_head_watched_only);
-	c_list_init (&priv->dbus_objects_lst_head_on_dbus);
-	c_list_init (&priv->dbus_objects_lst_head_with_nmobj_not_ready);
-	c_list_init (&priv->dbus_objects_lst_head_with_nmobj_ready);
-	c_list_init (&priv->obj_changed_lst_head);
+    priv->dbus_objects = g_hash_table_new(nm_pdirect_hash, nm_pdirect_equal);
+    c_list_init(&priv->dbus_objects_lst_head_watched_only);
+    c_list_init(&priv->dbus_objects_lst_head_on_dbus);
+    c_list_init(&priv->dbus_objects_lst_head_with_nmobj_not_ready);
+    c_list_init(&priv->dbus_objects_lst_head_with_nmobj_ready);
+    c_list_init(&priv->obj_changed_lst_head);
 }
 
 /**
@@ -7736,11 +7732,9 @@ nm_client_init (NMClient *self)
  * Returns: a new #NMClient or NULL on an error
  **/
 NMClient *
-nm_client_new (GCancellable  *cancellable,
-               GError       **error)
+nm_client_new(GCancellable *cancellable, GError **error)
 {
-	return g_initable_new (NM_TYPE_CLIENT, cancellable, error,
-	                       NULL);
+    return g_initable_new(NM_TYPE_CLIENT, cancellable, error, NULL);
 }
 
 /**
@@ -7755,16 +7749,14 @@ nm_client_new (GCancellable  *cancellable,
  * the callback can be invoked with two first parameters as NULL.
  **/
 void
-nm_client_new_async (GCancellable *cancellable,
-                     GAsyncReadyCallback callback,
-                     gpointer user_data)
+nm_client_new_async(GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
 {
-	g_async_initable_new_async (NM_TYPE_CLIENT,
-	                            G_PRIORITY_DEFAULT,
-	                            cancellable,
-	                            callback,
-	                            user_data,
-	                            NULL);
+    g_async_initable_new_async(NM_TYPE_CLIENT,
+                               G_PRIORITY_DEFAULT,
+                               cancellable,
+                               callback,
+                               user_data,
+                               NULL);
 }
 
 /**
@@ -7777,776 +7769,899 @@ nm_client_new_async (GCancellable *cancellable,
  * Returns: a new #NMClient, or %NULL on error
  **/
 NMClient *
-nm_client_new_finish (GAsyncResult *result, GError **error)
+nm_client_new_finish(GAsyncResult *result, GError **error)
 {
-	gs_unref_object GObject *source_object = NULL;
-	GObject *object;
+    gs_unref_object GObject *source_object = NULL;
+    GObject *                object;
 
-	source_object = g_async_result_get_source_object (result);
-	g_return_val_if_fail (source_object, NULL);
+    source_object = g_async_result_get_source_object(result);
+    g_return_val_if_fail(source_object, NULL);
 
-	object = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object),
-	                                      result,
-	                                      error);
-	g_return_val_if_fail (!object || NM_IS_CLIENT (object), FALSE);
+    object = g_async_initable_new_finish(G_ASYNC_INITABLE(source_object), result, error);
+    g_return_val_if_fail(!object || NM_IS_CLIENT(object), FALSE);
 
-	return NM_CLIENT (object);
+    return NM_CLIENT(object);
 }
 
 static void
-constructed (GObject *object)
+constructed(GObject *object)
 {
-	NMClient *self = NM_CLIENT (object);
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClient *       self = NM_CLIENT(object);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	priv->main_context = g_main_context_ref_thread_default ();
+    priv->main_context = g_main_context_ref_thread_default();
 
-	G_OBJECT_CLASS (nm_client_parent_class)->constructed (object);
+    G_OBJECT_CLASS(nm_client_parent_class)->constructed(object);
 
-	NML_NMCLIENT_LOG_D (self, "new NMClient instance");
+    NML_NMCLIENT_LOG_D(self, "new NMClient instance");
 }
 
 static void
-dispose (GObject *object)
+dispose(GObject *object)
 {
-	NMClient *self = NM_CLIENT (object);
-	NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE (self);
+    NMClient *       self = NM_CLIENT(object);
+    NMClientPrivate *priv = NM_CLIENT_GET_PRIVATE(self);
 
-	nm_assert (!priv->init_data);
+    nm_assert(!priv->init_data);
 
-	self->obj_base.is_disposing = TRUE;
+    self->obj_base.is_disposing = TRUE;
 
-	nm_clear_g_cancellable (&priv->name_owner_get_cancellable);
+    nm_clear_g_cancellable(&priv->name_owner_get_cancellable);
 
-	nm_clear_g_dbus_connection_signal (priv->dbus_connection,
-	                                   &priv->name_owner_changed_id);
-
-	nm_clear_g_free (&priv->name_owner);
-
-	_init_release_all (self);
-
-	nm_assert (c_list_is_empty (&priv->dbus_objects_lst_head_watched_only));
-	nm_assert (c_list_is_empty (&priv->dbus_objects_lst_head_on_dbus));
-	nm_assert (c_list_is_empty (&priv->dbus_objects_lst_head_with_nmobj_not_ready));
-	nm_assert (c_list_is_empty (&priv->dbus_objects_lst_head_with_nmobj_ready));
-
-	nm_assert (c_list_is_empty (&priv->queue_notify_lst_head));
-	nm_assert (c_list_is_empty (&priv->notify_event_lst_head));
-	nm_assert (c_list_is_empty (&self->obj_base.queue_notify_lst));
-	nm_assert (!priv->dbus_objects || g_hash_table_size (priv->dbus_objects) == 0);
-
-	nml_dbus_property_o_clear_many (priv->nm.property_o, G_N_ELEMENTS (priv->nm.property_o), NULL);
-	nml_dbus_property_ao_clear_many (priv->nm.property_ao, G_N_ELEMENTS (priv->nm.property_ao), NULL);
-
-	nm_clear_g_free (&priv->nm.connectivity_check_uri);
-	nm_clear_g_free (&priv->nm.version);
-
-	nml_dbus_property_ao_clear (&priv->settings.connections, NULL);
-	nm_clear_g_free (&priv->settings.hostname);
-
-	nm_clear_pointer (&priv->dns_manager.configuration, g_ptr_array_unref);
-	nm_clear_g_free (&priv->dns_manager.mode);
-	nm_clear_g_free (&priv->dns_manager.rc_manager);
-
-	nm_clear_pointer (&priv->dbus_objects, g_hash_table_destroy);
-
-	G_OBJECT_CLASS (nm_client_parent_class)->dispose (object);
-
-	nm_clear_pointer (&priv->udev, udev_unref);
-
-	if (   priv->context_busy_watcher
-	    && priv->dbus_context) {
-		nml_cleanup_context_busy_watcher_on_idle (g_steal_pointer (&priv->context_busy_watcher),
-		                                          priv->dbus_context);
-	}
-
-	nm_clear_pointer (&priv->dbus_context, g_main_context_unref);
-	nm_clear_pointer (&priv->main_context, g_main_context_unref);
-
-	nm_clear_g_free (&priv->permissions);
-
-	g_clear_object (&priv->dbus_connection);
-
-	g_clear_object (&priv->context_busy_watcher);
-
-	nm_clear_g_free (&priv->name_owner);
-
-	priv->nm.capabilities_len = 0;
-	nm_clear_g_free (&priv->nm.capabilities_arr);
-
-	NML_NMCLIENT_LOG_D (self, "disposed");
-}
-
-const NMLDBusMetaIface _nml_dbus_meta_iface_nm_agentmanager = NML_DBUS_META_IFACE_INIT (
-	NM_DBUS_INTERFACE_AGENT_MANAGER,
-	NULL,
-	NML_DBUS_META_INTERFACE_PRIO_NONE,
-);
-
-const NMLDBusMetaIface _nml_dbus_meta_iface_nm = NML_DBUS_META_IFACE_INIT_PROP (
-	NM_DBUS_INTERFACE,
-	nm_client_get_type,
-	NML_DBUS_META_INTERFACE_PRIO_NMCLIENT,
-	NML_DBUS_META_IFACE_DBUS_PROPERTIES (
-		NML_DBUS_META_PROPERTY_INIT_O_PROP  ("ActivatingConnection",       PROP_ACTIVATING_CONNECTION,        NMClient, _priv.nm.property_o[PROPERTY_O_IDX_NM_ACTIVATING_CONNECTION], nm_active_connection_get_type                                                                         ),
-		NML_DBUS_META_PROPERTY_INIT_AO_PROP ("ActiveConnections",          PROP_ACTIVE_CONNECTIONS,           NMClient, _priv.nm.property_ao[PROPERTY_AO_IDX_ACTIVE_CONNECTIONS],     nm_active_connection_get_type, .notify_changed_ao = _property_ao_notify_changed_active_connections_cb ),
-		NML_DBUS_META_PROPERTY_INIT_AO_PROP ("AllDevices",                 PROP_ALL_DEVICES,                  NMClient, _priv.nm.property_ao[PROPERTY_AO_IDX_ALL_DEVICES],            nm_device_get_type,            .notify_changed_ao = _property_ao_notify_changed_all_devices_cb        ),
-		NML_DBUS_META_PROPERTY_INIT_FCN     ("Capabilities",               PROP_CAPABILITIES,                 "au",     _notify_update_prop_nm_capabilities,                                                                                                                                ),
-		NML_DBUS_META_PROPERTY_INIT_AO_PROP ("Checkpoints",                PROP_CHECKPOINTS,                  NMClient, _priv.nm.property_ao[PROPERTY_AO_IDX_CHECKPOINTS],            nm_checkpoint_get_type                                                                                ),
-		NML_DBUS_META_PROPERTY_INIT_U       ("Connectivity",               PROP_CONNECTIVITY,                 NMClient, _priv.nm.connectivity                                                                                                                                               ),
-		NML_DBUS_META_PROPERTY_INIT_B       ("ConnectivityCheckAvailable", PROP_CONNECTIVITY_CHECK_AVAILABLE, NMClient, _priv.nm.connectivity_check_available                                                                                                                               ),
-		NML_DBUS_META_PROPERTY_INIT_B       ("ConnectivityCheckEnabled",   PROP_CONNECTIVITY_CHECK_ENABLED,   NMClient, _priv.nm.connectivity_check_enabled                                                                                                                                 ),
-		NML_DBUS_META_PROPERTY_INIT_S       ("ConnectivityCheckUri",       PROP_CONNECTIVITY_CHECK_URI,       NMClient, _priv.nm.connectivity_check_uri                                                                                                                                     ),
-		NML_DBUS_META_PROPERTY_INIT_AO_PROP ("Devices",                    PROP_DEVICES,                      NMClient, _priv.nm.property_ao[PROPERTY_AO_IDX_DEVICES],                nm_device_get_type,            .notify_changed_ao = _property_ao_notify_changed_devices_cb            ),
-		NML_DBUS_META_PROPERTY_INIT_IGNORE  ("GlobalDnsConfiguration",     "a{sv}"                                                                                                                                                                                                          ),
-		NML_DBUS_META_PROPERTY_INIT_U       ("Metered",                    PROP_METERED,                      NMClient, _priv.nm.metered                                                                                                                                                    ),
-		NML_DBUS_META_PROPERTY_INIT_B       ("NetworkingEnabled",          PROP_NETWORKING_ENABLED,           NMClient, _priv.nm.networking_enabled                                                                                                                                         ),
-		NML_DBUS_META_PROPERTY_INIT_O_PROP  ("PrimaryConnection",          PROP_PRIMARY_CONNECTION,           NMClient, _priv.nm.property_o[PROPERTY_O_IDX_NM_PRIMAY_CONNECTION],     nm_active_connection_get_type                                                                         ),
-		NML_DBUS_META_PROPERTY_INIT_IGNORE  ("PrimaryConnectionType",      "s"                                                                                                                                                                                                              ),
-		NML_DBUS_META_PROPERTY_INIT_B       ("Startup",                    PROP_STARTUP,                      NMClient, _priv.nm.startup                                                                                                                                                    ),
-		NML_DBUS_META_PROPERTY_INIT_U       ("State",                      PROP_STATE,                        NMClient, _priv.nm.state                                                                                                                                                      ),
-		NML_DBUS_META_PROPERTY_INIT_S       ("Version",                    PROP_VERSION,                      NMClient, _priv.nm.version                                                                                                                                                    ),
-		NML_DBUS_META_PROPERTY_INIT_IGNORE  ("WimaxEnabled",               "b"                                                                                                                                                                                                              ),
-		NML_DBUS_META_PROPERTY_INIT_IGNORE  ("WimaxHardwareEnabled",       "b"                                                                                                                                                                                                              ),
-		NML_DBUS_META_PROPERTY_INIT_B       ("WirelessEnabled",            PROP_WIRELESS_ENABLED,             NMClient, _priv.nm.wireless_enabled                                                                                                                                           ),
-		NML_DBUS_META_PROPERTY_INIT_B       ("WirelessHardwareEnabled",    PROP_WIRELESS_HARDWARE_ENABLED,    NMClient, _priv.nm.wireless_hardware_enabled                                                                                                                                  ),
-		NML_DBUS_META_PROPERTY_INIT_B       ("WwanEnabled",                PROP_WWAN_ENABLED,                 NMClient, _priv.nm.wwan_enabled                                                                                                                                               ),
-		NML_DBUS_META_PROPERTY_INIT_B       ("WwanHardwareEnabled",        PROP_WWAN_HARDWARE_ENABLED,        NMClient, _priv.nm.wwan_hardware_enabled                                                                                                                                      ),
-	),
-);
-
-const NMLDBusMetaIface _nml_dbus_meta_iface_nm_settings = NML_DBUS_META_IFACE_INIT_PROP (
-	NM_DBUS_INTERFACE_SETTINGS,
-	nm_client_get_type,
-	NML_DBUS_META_INTERFACE_PRIO_NMCLIENT,
-	NML_DBUS_META_IFACE_DBUS_PROPERTIES (
-		NML_DBUS_META_PROPERTY_INIT_B       ("CanModify",   PROP_CAN_MODIFY,  NMClient, _priv.settings.can_modify                                                                                                                                                                                          ),
-		NML_DBUS_META_PROPERTY_INIT_AO_PROP ("Connections", PROP_CONNECTIONS, NMClient, _priv.settings.connections, nm_remote_connection_get_type, .notify_changed_ao = _property_ao_notify_changed_connections_cb, .check_nmobj_visible_fcn = (gboolean (*) (GObject *)) nm_remote_connection_get_visible ),
-		NML_DBUS_META_PROPERTY_INIT_S       ("Hostname",    PROP_HOSTNAME,    NMClient, _priv.settings.hostname                                                                                                                                                                                            ),
-	),
-);
-
-const NMLDBusMetaIface _nml_dbus_meta_iface_nm_dnsmanager = NML_DBUS_META_IFACE_INIT_PROP (
-	NM_DBUS_INTERFACE_DNS_MANAGER,
-	nm_client_get_type,
-	NML_DBUS_META_INTERFACE_PRIO_NMCLIENT,
-	NML_DBUS_META_IFACE_DBUS_PROPERTIES (
-		NML_DBUS_META_PROPERTY_INIT_FCN ("Configuration", PROP_DNS_CONFIGURATION, "aa{sv}", _notify_update_prop_dns_manager_configuration ),
-		NML_DBUS_META_PROPERTY_INIT_S   ("Mode",          PROP_DNS_MODE,          NMClient, _priv.dns_manager.mode                        ),
-		NML_DBUS_META_PROPERTY_INIT_S   ("RcManager",     PROP_DNS_RC_MANAGER,    NMClient, _priv.dns_manager.rc_manager                  ),
-	),
-);
+    nm_clear_g_dbus_connection_signal(priv->dbus_connection, &priv->name_owner_changed_id);
+
+    nm_clear_g_free(&priv->name_owner);
+
+    _init_release_all(self);
+
+    nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_watched_only));
+    nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_on_dbus));
+    nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_with_nmobj_not_ready));
+    nm_assert(c_list_is_empty(&priv->dbus_objects_lst_head_with_nmobj_ready));
+
+    nm_assert(c_list_is_empty(&priv->queue_notify_lst_head));
+    nm_assert(c_list_is_empty(&priv->notify_event_lst_head));
+    nm_assert(c_list_is_empty(&self->obj_base.queue_notify_lst));
+    nm_assert(!priv->dbus_objects || g_hash_table_size(priv->dbus_objects) == 0);
+
+    nml_dbus_property_o_clear_many(priv->nm.property_o, G_N_ELEMENTS(priv->nm.property_o), NULL);
+    nml_dbus_property_ao_clear_many(priv->nm.property_ao, G_N_ELEMENTS(priv->nm.property_ao), NULL);
+
+    nm_clear_g_free(&priv->nm.connectivity_check_uri);
+    nm_clear_g_free(&priv->nm.version);
+
+    nml_dbus_property_ao_clear(&priv->settings.connections, NULL);
+    nm_clear_g_free(&priv->settings.hostname);
+
+    nm_clear_pointer(&priv->dns_manager.configuration, g_ptr_array_unref);
+    nm_clear_g_free(&priv->dns_manager.mode);
+    nm_clear_g_free(&priv->dns_manager.rc_manager);
+
+    nm_clear_pointer(&priv->dbus_objects, g_hash_table_destroy);
+
+    G_OBJECT_CLASS(nm_client_parent_class)->dispose(object);
+
+    nm_clear_pointer(&priv->udev, udev_unref);
+
+    if (priv->context_busy_watcher && priv->dbus_context) {
+        nml_cleanup_context_busy_watcher_on_idle(g_steal_pointer(&priv->context_busy_watcher),
+                                                 priv->dbus_context);
+    }
+
+    nm_clear_pointer(&priv->dbus_context, g_main_context_unref);
+    nm_clear_pointer(&priv->main_context, g_main_context_unref);
+
+    nm_clear_g_free(&priv->permissions);
+
+    g_clear_object(&priv->dbus_connection);
+
+    g_clear_object(&priv->context_busy_watcher);
+
+    nm_clear_g_free(&priv->name_owner);
+
+    priv->nm.capabilities_len = 0;
+    nm_clear_g_free(&priv->nm.capabilities_arr);
+
+    NML_NMCLIENT_LOG_D(self, "disposed");
+}
+
+const NMLDBusMetaIface _nml_dbus_meta_iface_nm_agentmanager =
+    NML_DBUS_META_IFACE_INIT(NM_DBUS_INTERFACE_AGENT_MANAGER,
+                             NULL,
+                             NML_DBUS_META_INTERFACE_PRIO_NONE, );
+
+const NMLDBusMetaIface _nml_dbus_meta_iface_nm = NML_DBUS_META_IFACE_INIT_PROP(
+    NM_DBUS_INTERFACE,
+    nm_client_get_type,
+    NML_DBUS_META_INTERFACE_PRIO_NMCLIENT,
+    NML_DBUS_META_IFACE_DBUS_PROPERTIES(
+        NML_DBUS_META_PROPERTY_INIT_O_PROP(
+            "ActivatingConnection",
+            PROP_ACTIVATING_CONNECTION,
+            NMClient,
+            _priv.nm.property_o[PROPERTY_O_IDX_NM_ACTIVATING_CONNECTION],
+            nm_active_connection_get_type),
+        NML_DBUS_META_PROPERTY_INIT_AO_PROP(
+            "ActiveConnections",
+            PROP_ACTIVE_CONNECTIONS,
+            NMClient,
+            _priv.nm.property_ao[PROPERTY_AO_IDX_ACTIVE_CONNECTIONS],
+            nm_active_connection_get_type,
+            .notify_changed_ao = _property_ao_notify_changed_active_connections_cb),
+        NML_DBUS_META_PROPERTY_INIT_AO_PROP("AllDevices",
+                                            PROP_ALL_DEVICES,
+                                            NMClient,
+                                            _priv.nm.property_ao[PROPERTY_AO_IDX_ALL_DEVICES],
+                                            nm_device_get_type,
+                                            .notify_changed_ao =
+                                                _property_ao_notify_changed_all_devices_cb),
+        NML_DBUS_META_PROPERTY_INIT_FCN("Capabilities",
+                                        PROP_CAPABILITIES,
+                                        "au",
+                                        _notify_update_prop_nm_capabilities, ),
+        NML_DBUS_META_PROPERTY_INIT_AO_PROP("Checkpoints",
+                                            PROP_CHECKPOINTS,
+                                            NMClient,
+                                            _priv.nm.property_ao[PROPERTY_AO_IDX_CHECKPOINTS],
+                                            nm_checkpoint_get_type),
+        NML_DBUS_META_PROPERTY_INIT_U("Connectivity",
+                                      PROP_CONNECTIVITY,
+                                      NMClient,
+                                      _priv.nm.connectivity),
+        NML_DBUS_META_PROPERTY_INIT_B("ConnectivityCheckAvailable",
+                                      PROP_CONNECTIVITY_CHECK_AVAILABLE,
+                                      NMClient,
+                                      _priv.nm.connectivity_check_available),
+        NML_DBUS_META_PROPERTY_INIT_B("ConnectivityCheckEnabled",
+                                      PROP_CONNECTIVITY_CHECK_ENABLED,
+                                      NMClient,
+                                      _priv.nm.connectivity_check_enabled),
+        NML_DBUS_META_PROPERTY_INIT_S("ConnectivityCheckUri",
+                                      PROP_CONNECTIVITY_CHECK_URI,
+                                      NMClient,
+                                      _priv.nm.connectivity_check_uri),
+        NML_DBUS_META_PROPERTY_INIT_AO_PROP("Devices",
+                                            PROP_DEVICES,
+                                            NMClient,
+                                            _priv.nm.property_ao[PROPERTY_AO_IDX_DEVICES],
+                                            nm_device_get_type,
+                                            .notify_changed_ao =
+                                                _property_ao_notify_changed_devices_cb),
+        NML_DBUS_META_PROPERTY_INIT_IGNORE("GlobalDnsConfiguration", "a{sv}"),
+        NML_DBUS_META_PROPERTY_INIT_U("Metered", PROP_METERED, NMClient, _priv.nm.metered),
+        NML_DBUS_META_PROPERTY_INIT_B("NetworkingEnabled",
+                                      PROP_NETWORKING_ENABLED,
+                                      NMClient,
+                                      _priv.nm.networking_enabled),
+        NML_DBUS_META_PROPERTY_INIT_O_PROP("PrimaryConnection",
+                                           PROP_PRIMARY_CONNECTION,
+                                           NMClient,
+                                           _priv.nm.property_o[PROPERTY_O_IDX_NM_PRIMAY_CONNECTION],
+                                           nm_active_connection_get_type),
+        NML_DBUS_META_PROPERTY_INIT_IGNORE("PrimaryConnectionType", "s"),
+        NML_DBUS_META_PROPERTY_INIT_B("Startup", PROP_STARTUP, NMClient, _priv.nm.startup),
+        NML_DBUS_META_PROPERTY_INIT_U("State", PROP_STATE, NMClient, _priv.nm.state),
+        NML_DBUS_META_PROPERTY_INIT_S("Version", PROP_VERSION, NMClient, _priv.nm.version),
+        NML_DBUS_META_PROPERTY_INIT_IGNORE("WimaxEnabled", "b"),
+        NML_DBUS_META_PROPERTY_INIT_IGNORE("WimaxHardwareEnabled", "b"),
+        NML_DBUS_META_PROPERTY_INIT_B("WirelessEnabled",
+                                      PROP_WIRELESS_ENABLED,
+                                      NMClient,
+                                      _priv.nm.wireless_enabled),
+        NML_DBUS_META_PROPERTY_INIT_B("WirelessHardwareEnabled",
+                                      PROP_WIRELESS_HARDWARE_ENABLED,
+                                      NMClient,
+                                      _priv.nm.wireless_hardware_enabled),
+        NML_DBUS_META_PROPERTY_INIT_B("WwanEnabled",
+                                      PROP_WWAN_ENABLED,
+                                      NMClient,
+                                      _priv.nm.wwan_enabled),
+        NML_DBUS_META_PROPERTY_INIT_B("WwanHardwareEnabled",
+                                      PROP_WWAN_HARDWARE_ENABLED,
+                                      NMClient,
+                                      _priv.nm.wwan_hardware_enabled), ), );
+
+const NMLDBusMetaIface _nml_dbus_meta_iface_nm_settings = NML_DBUS_META_IFACE_INIT_PROP(
+    NM_DBUS_INTERFACE_SETTINGS,
+    nm_client_get_type,
+    NML_DBUS_META_INTERFACE_PRIO_NMCLIENT,
+    NML_DBUS_META_IFACE_DBUS_PROPERTIES(
+        NML_DBUS_META_PROPERTY_INIT_B("CanModify",
+                                      PROP_CAN_MODIFY,
+                                      NMClient,
+                                      _priv.settings.can_modify),
+        NML_DBUS_META_PROPERTY_INIT_AO_PROP(
+            "Connections",
+            PROP_CONNECTIONS,
+            NMClient,
+            _priv.settings.connections,
+            nm_remote_connection_get_type,
+            .notify_changed_ao       = _property_ao_notify_changed_connections_cb,
+            .check_nmobj_visible_fcn = (gboolean(*)(GObject *)) nm_remote_connection_get_visible),
+        NML_DBUS_META_PROPERTY_INIT_S("Hostname",
+                                      PROP_HOSTNAME,
+                                      NMClient,
+                                      _priv.settings.hostname), ), );
+
+const NMLDBusMetaIface _nml_dbus_meta_iface_nm_dnsmanager = NML_DBUS_META_IFACE_INIT_PROP(
+    NM_DBUS_INTERFACE_DNS_MANAGER,
+    nm_client_get_type,
+    NML_DBUS_META_INTERFACE_PRIO_NMCLIENT,
+    NML_DBUS_META_IFACE_DBUS_PROPERTIES(
+        NML_DBUS_META_PROPERTY_INIT_FCN("Configuration",
+                                        PROP_DNS_CONFIGURATION,
+                                        "aa{sv}",
+                                        _notify_update_prop_dns_manager_configuration),
+        NML_DBUS_META_PROPERTY_INIT_S("Mode", PROP_DNS_MODE, NMClient, _priv.dns_manager.mode),
+        NML_DBUS_META_PROPERTY_INIT_S("RcManager",
+                                      PROP_DNS_RC_MANAGER,
+                                      NMClient,
+                                      _priv.dns_manager.rc_manager), ), );
 
 static void
-nm_client_class_init (NMClientClass *client_class)
-{
-	GObjectClass *object_class = G_OBJECT_CLASS (client_class);
-
-	_dbus_path_nm          = nm_ref_string_new (NM_DBUS_PATH);
-	_dbus_path_settings    = nm_ref_string_new (NM_DBUS_PATH_SETTINGS);
-	_dbus_path_dns_manager = nm_ref_string_new (NM_DBUS_PATH_DNS_MANAGER);
-
-	object_class->get_property = get_property;
-	object_class->set_property = set_property;
-	object_class->constructed  = constructed;
-	object_class->dispose      = dispose;
-
-	/**
-	 * NMClient:dbus-connection:
-	 *
-	 * The #GDBusConnection to use.
-	 *
-	 * If this is not set during object construction, the D-Bus connection will
-	 * automatically be chosen during async/sync initalization via g_bus_get().
-	 *
-	 * Since: 1.22
-	 */
-	obj_properties[PROP_DBUS_CONNECTION] =
-	    g_param_spec_object (NM_CLIENT_DBUS_CONNECTION, "", "",
-	                         G_TYPE_DBUS_CONNECTION,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_WRITABLE |
-	                         G_PARAM_CONSTRUCT_ONLY |
-	                         G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:instance-flags:
-	 *
-	 * #NMClientInstanceFlags for the instance. These affect behavior of #NMClient.
-	 * This is a construct property and you may only set most flags only during
-	 * construction.
-	 *
-	 * The flag %NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS can be toggled any time,
-	 * even after constructing the instance. Note that you may want to watch NMClient:permissions-state
-	 * property to know whether permissions are ready. Note that permissions are only fetched
-	 * when NMClient has a D-Bus name owner.
-	 *
-	 * Since: 1.24
-	 */
-	obj_properties[PROP_INSTANCE_FLAGS] =
-	    g_param_spec_uint (NM_CLIENT_INSTANCE_FLAGS, "", "",
-	                       0,
-	                       G_MAXUINT32,
-	                       0,
-	                       G_PARAM_READABLE |
-	                       G_PARAM_WRITABLE |
-	                       G_PARAM_CONSTRUCT |
-	                       G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:dbus-name-owner:
-	 *
-	 * The name owner of the NetworkManager D-Bus service.
-	 *
-	 * Since: 1.22
-	 **/
-	obj_properties[PROP_DBUS_NAME_OWNER] =
-	    g_param_spec_string (NM_CLIENT_DBUS_NAME_OWNER, "", "",
-	                         NULL,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:version:
-	 *
-	 * The NetworkManager version.
-	 **/
-	obj_properties[PROP_VERSION] =
-	    g_param_spec_string (NM_CLIENT_VERSION, "", "",
-	                         NULL,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:state:
-	 *
-	 * The current daemon state.
-	 **/
-	obj_properties[PROP_STATE] =
-	    g_param_spec_enum (NM_CLIENT_STATE, "", "",
-	                       NM_TYPE_STATE,
-	                       NM_STATE_UNKNOWN,
-	                       G_PARAM_READABLE |
-	                       G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:startup:
-	 *
-	 * Whether the daemon is still starting up.
-	 **/
-	obj_properties[PROP_STARTUP] =
-	    g_param_spec_boolean (NM_CLIENT_STARTUP, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:nm-running:
-	 *
-	 * Whether the daemon is running.
-	 **/
-	obj_properties[PROP_NM_RUNNING] =
-	    g_param_spec_boolean (NM_CLIENT_NM_RUNNING, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:networking-enabled:
-	 *
-	 * Whether networking is enabled.
-	 *
-	 * The property setter is a synchronous D-Bus call. This is deprecated since 1.22.
-	 */
-	obj_properties[PROP_NETWORKING_ENABLED] =
-	    g_param_spec_boolean (NM_CLIENT_NETWORKING_ENABLED, "", "",
-	                          FALSE,
-	                          G_PARAM_READWRITE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:wireless-enabled:
-	 *
-	 * Whether wireless is enabled.
-	 *
-	 * The property setter is a synchronous D-Bus call. This is deprecated since 1.22.
-	 **/
-	obj_properties[PROP_WIRELESS_ENABLED] =
-	    g_param_spec_boolean (NM_CLIENT_WIRELESS_ENABLED, "", "",
-	                          FALSE,
-	                          G_PARAM_READWRITE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:wireless-hardware-enabled:
-	 *
-	 * Whether the wireless hardware is enabled.
-	 **/
-	obj_properties[PROP_WIRELESS_HARDWARE_ENABLED] =
-	    g_param_spec_boolean (NM_CLIENT_WIRELESS_HARDWARE_ENABLED, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:wwan-enabled:
-	 *
-	 * Whether WWAN functionality is enabled.
-	 *
-	 * The property setter is a synchronous D-Bus call. This is deprecated since 1.22.
-	 */
-	obj_properties[PROP_WWAN_ENABLED] =
-	    g_param_spec_boolean (NM_CLIENT_WWAN_ENABLED, "", "",
-	                          FALSE,
-	                          G_PARAM_READWRITE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:wwan-hardware-enabled:
-	 *
-	 * Whether the WWAN hardware is enabled.
-	 **/
-	obj_properties[PROP_WWAN_HARDWARE_ENABLED] =
-	    g_param_spec_boolean (NM_CLIENT_WWAN_HARDWARE_ENABLED, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:wimax-enabled:
-	 *
-	 * Whether WiMAX functionality is enabled.
-	 *
-	 * Deprecated: 1.22: WiMAX is no longer supported and this always returns FALSE. The setter has no effect.
-	 */
-	obj_properties[PROP_WIMAX_ENABLED] =
-	    g_param_spec_boolean (NM_CLIENT_WIMAX_ENABLED, "", "",
-	                          FALSE,
-	                          G_PARAM_READWRITE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:wimax-hardware-enabled:
-	 *
-	 * Whether the WiMAX hardware is enabled.
-	 *
-	 * Deprecated: 1.22: WiMAX is no longer supported and this always returns FALSE.
-	 **/
-	obj_properties[PROP_WIMAX_HARDWARE_ENABLED] =
-	    g_param_spec_boolean (NM_CLIENT_WIMAX_HARDWARE_ENABLED, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:active-connections: (type GPtrArray(NMActiveConnection))
-	 *
-	 * The active connections.
-	 **/
-	obj_properties[PROP_ACTIVE_CONNECTIONS] =
-	    g_param_spec_boxed (NM_CLIENT_ACTIVE_CONNECTIONS, "", "",
-	                        G_TYPE_PTR_ARRAY,
-	                        G_PARAM_READABLE |
-	                        G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:connectivity:
-	 *
-	 * The network connectivity state.
-	 */
-	obj_properties[PROP_CONNECTIVITY] =
-	    g_param_spec_enum (NM_CLIENT_CONNECTIVITY, "", "",
-	                       NM_TYPE_CONNECTIVITY_STATE,
-	                       NM_CONNECTIVITY_UNKNOWN,
-	                       G_PARAM_READABLE |
-	                       G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient::connectivity-check-available
-	 *
-	 * Whether a connectivity checking service has been configured.
-	 *
-	 * Since: 1.10
-	 */
-	obj_properties[PROP_CONNECTIVITY_CHECK_AVAILABLE] =
-	    g_param_spec_boolean (NM_CLIENT_CONNECTIVITY_CHECK_AVAILABLE, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient::connectivity-check-enabled
-	 *
-	 * Whether a connectivity checking service has been enabled.
-	 *
-	 * Since: 1.10
-	 *
-	 * The property setter is a synchronous D-Bus call. This is deprecated since 1.22.
-	 */
-	obj_properties[PROP_CONNECTIVITY_CHECK_ENABLED] =
-	    g_param_spec_boolean (NM_CLIENT_CONNECTIVITY_CHECK_ENABLED, "", "",
-	                          FALSE,
-	                          G_PARAM_READWRITE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:connectivity-check-uri:
-	 *
-	 * The used URI for connectivity checking.
-	 *
-	 * Since: 1.22
-	 **/
-	obj_properties[PROP_CONNECTIVITY_CHECK_URI] =
-	    g_param_spec_string (NM_CLIENT_CONNECTIVITY_CHECK_URI, "", "",
-	                         NULL,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:primary-connection:
-	 *
-	 * The #NMActiveConnection of the device with the default route;
-	 * see nm_client_get_primary_connection() for more details.
-	 **/
-	obj_properties[PROP_PRIMARY_CONNECTION] =
-	    g_param_spec_object (NM_CLIENT_PRIMARY_CONNECTION, "", "",
-	                         NM_TYPE_ACTIVE_CONNECTION,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:activating-connection:
-	 *
-	 * The #NMActiveConnection of the activating connection that is
-	 * likely to become the new #NMClient:primary-connection.
-	 **/
-	obj_properties[PROP_ACTIVATING_CONNECTION] =
-	    g_param_spec_object (NM_CLIENT_ACTIVATING_CONNECTION, "", "",
-	                         NM_TYPE_ACTIVE_CONNECTION,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:devices: (type GPtrArray(NMDevice))
-	 *
-	 * List of real network devices.  Does not include placeholder devices.
-	 **/
-	obj_properties[PROP_DEVICES] =
-	    g_param_spec_boxed (NM_CLIENT_DEVICES, "", "",
-	                        G_TYPE_PTR_ARRAY,
-	                        G_PARAM_READABLE |
-	                        G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:all-devices: (type GPtrArray(NMDevice))
-	 *
-	 * List of both real devices and device placeholders.
-	 * Since: 1.2
-	 **/
-	obj_properties[PROP_ALL_DEVICES] =
-	    g_param_spec_boxed (NM_CLIENT_ALL_DEVICES, "", "",
-	                        G_TYPE_PTR_ARRAY,
-	                        G_PARAM_READABLE |
-	                        G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:connections: (type GPtrArray(NMRemoteConnection))
-	 *
-	 * The list of configured connections that are available to the user. (Note
-	 * that this differs from the underlying D-Bus property, which may also
-	 * contain the object paths of connections that the user does not have
-	 * permission to read the details of.)
-	 */
-	obj_properties[PROP_CONNECTIONS] =
-	    g_param_spec_boxed (NM_CLIENT_CONNECTIONS, "", "",
-	                        G_TYPE_PTR_ARRAY,
-	                        G_PARAM_READABLE |
-	                        G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:hostname:
-	 *
-	 * The machine hostname stored in persistent configuration. This can be
-	 * modified by calling nm_client_save_hostname().
-	 */
-	obj_properties[PROP_HOSTNAME] =
-	    g_param_spec_string (NM_CLIENT_HOSTNAME, "", "",
-	                         NULL,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:can-modify:
-	 *
-	 * If %TRUE, adding and modifying connections is supported.
-	 */
-	obj_properties[PROP_CAN_MODIFY] =
-	    g_param_spec_boolean (NM_CLIENT_CAN_MODIFY, "", "",
-	                          FALSE,
-	                          G_PARAM_READABLE |
-	                          G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:metered:
-	 *
-	 * Whether the connectivity is metered.
-	 *
-	 * Since: 1.2
-	 **/
-	obj_properties[PROP_METERED] =
-	    g_param_spec_uint (NM_CLIENT_METERED, "", "",
-	                       0, G_MAXUINT32, NM_METERED_UNKNOWN,
-	                       G_PARAM_READABLE |
-	                       G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:dns-mode:
-	 *
-	 * The current DNS processing mode.
-	 *
-	 * Since: 1.6
-	 **/
-	obj_properties[PROP_DNS_MODE] =
-	    g_param_spec_string (NM_CLIENT_DNS_MODE, "", "",
-	                         NULL,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:dns-rc-manager:
-	 *
-	 * The current resolv.conf management mode.
-	 *
-	 * Since: 1.6
-	 **/
-	obj_properties[PROP_DNS_RC_MANAGER] =
-	    g_param_spec_string (NM_CLIENT_DNS_RC_MANAGER, "", "",
-	                         NULL,
-	                         G_PARAM_READABLE |
-	                         G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:dns-configuration: (type GPtrArray(NMDnsEntry))
-	 *
-	 * The current DNS configuration, represented as an array
-	 * of #NMDnsEntry objects.
-	 *
-	 * Since: 1.6
-	 **/
-	obj_properties[PROP_DNS_CONFIGURATION] =
-	    g_param_spec_boxed (NM_CLIENT_DNS_CONFIGURATION, "", "",
-	                        G_TYPE_PTR_ARRAY,
-	                        G_PARAM_READABLE |
-	                        G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:checkpoints: (type GPtrArray(NMCheckpoint))
-	 *
-	 * The list of active checkpoints.
-	 *
-	 * Since: 1.12
-	 */
-	obj_properties[PROP_CHECKPOINTS] =
-	    g_param_spec_boxed (NM_CLIENT_CHECKPOINTS, "", "",
-	                        G_TYPE_PTR_ARRAY,
-	                        G_PARAM_READABLE |
-	                        G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:capabilities: (type GArray(guint32))
-	 *
-	 * The list of capabilities numbers as guint32 or %NULL if
-	 * there are no capabitilies. The numeric value correspond
-	 * to %NMCapability enum.
-	 *
-	 * Since: 1.24
-	 */
-	obj_properties[PROP_CAPABILITIES] =
-	    g_param_spec_boxed (NM_CLIENT_CAPABILITIES, "", "",
-	                        G_TYPE_ARRAY,
-	                        G_PARAM_READABLE |
-	                        G_PARAM_STATIC_STRINGS);
-
-	/**
-	 * NMClient:permissions-state:
-	 *
-	 * The state of the cached permissions. The value %NM_TERNARY_DEFAULT
-	 * means that no permissions are yet received (or not yet requested).
-	 * %NM_TERNARY_TRUE means that permissions are received, cached and up
-	 * to date. %NM_TERNARY_FALSE means that permissions were received and are
-	 * cached, but in the meantime a "CheckPermissions" signal was received
-	 * that invalidated the cached permissions.
-	 * Note that NMClient will always emit a notify::permissions-state signal
-	 * when a "CheckPermissions" signal got received or after new permissions
-	 * got received (that is regardless whether the value of the permission state
-	 * actually changed). With this you can watch the permissions-state property
-	 * to know whether the permissions are ready. Note that while NMClient has
-	 * no D-Bus name owner, no permissions are fetched (and this property won't
-	 * change).
-	 *
-	 * Since: 1.24
-	 */
-	obj_properties[PROP_PERMISSIONS_STATE] =
-	    g_param_spec_enum (NM_CLIENT_PERMISSIONS_STATE, "", "",
-	                       NM_TYPE_TERNARY,
-	                       NM_TERNARY_DEFAULT,
-	                       G_PARAM_READABLE |
-	                       G_PARAM_STATIC_STRINGS);
-
-	_nml_dbus_meta_class_init_with_properties (object_class, &_nml_dbus_meta_iface_nm,
-	                                                         &_nml_dbus_meta_iface_nm_settings,
-	                                                         &_nml_dbus_meta_iface_nm_dnsmanager);
-
-	/**
-	 * NMClient::device-added:
-	 * @client: the client that received the signal
-	 * @device: (type NMDevice): the new device
-	 *
-	 * Notifies that a #NMDevice is added.  This signal is not emitted for
-	 * placeholder devices.
-	 **/
-	signals[DEVICE_ADDED] =
-	    g_signal_new (NM_CLIENT_DEVICE_ADDED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_FIRST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1,
-	                  G_TYPE_OBJECT);
-
-	/**
-	 * NMClient::device-removed:
-	 * @client: the client that received the signal
-	 * @device: (type NMDevice): the removed device
-	 *
-	 * Notifies that a #NMDevice is removed.  This signal is not emitted for
-	 * placeholder devices.
-	 **/
-	signals[DEVICE_REMOVED] =
-	    g_signal_new (NM_CLIENT_DEVICE_REMOVED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_FIRST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1,
-	                  G_TYPE_OBJECT);
-
-	/**
-	 * NMClient::any-device-added:
-	 * @client: the client that received the signal
-	 * @device: (type NMDevice): the new device
-	 *
-	 * Notifies that a #NMDevice is added.  This signal is emitted for both
-	 * regular devices and placeholder devices.
-	 **/
-	signals[ANY_DEVICE_ADDED] =
-	    g_signal_new (NM_CLIENT_ANY_DEVICE_ADDED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_FIRST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1,
-	                  G_TYPE_OBJECT);
-
-	/**
-	 * NMClient::any-device-removed:
-	 * @client: the client that received the signal
-	 * @device: (type NMDevice): the removed device
-	 *
-	 * Notifies that a #NMDevice is removed.  This signal is emitted for both
-	 * regular devices and placeholder devices.
-	 **/
-	signals[ANY_DEVICE_REMOVED] =
-	    g_signal_new (NM_CLIENT_ANY_DEVICE_REMOVED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_FIRST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1,
-	                  G_TYPE_OBJECT);
-
-	/**
-	 * NMClient::permission-changed:
-	 * @client: the client that received the signal
-	 * @permission: a permission from #NMClientPermission
-	 * @result: the permission's result, one of #NMClientPermissionResult
-	 *
-	 * Notifies that a permission has changed
-	 **/
-	signals[PERMISSION_CHANGED] =
-	    g_signal_new (NM_CLIENT_PERMISSION_CHANGED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_FIRST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
-	/**
-	 * NMClient::connection-added:
-	 * @client: the settings object that received the signal
-	 * @connection: the new connection
-	 *
-	 * Notifies that a #NMConnection has been added.
-	 **/
-	signals[CONNECTION_ADDED] =
-	    g_signal_new (NM_CLIENT_CONNECTION_ADDED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_FIRST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1,
-	                  NM_TYPE_REMOTE_CONNECTION);
-
-	/**
-	 * NMClient::connection-removed:
-	 * @client: the settings object that received the signal
-	 * @connection: the removed connection
-	 *
-	 * Notifies that a #NMConnection has been removed.
-	 **/
-	signals[CONNECTION_REMOVED] =
-	    g_signal_new (NM_CLIENT_CONNECTION_REMOVED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_FIRST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1,
-	                  NM_TYPE_REMOTE_CONNECTION);
-
-	/**
-	 * NMClient::active-connection-added:
-	 * @client: the settings object that received the signal
-	 * @active_connection: the new active connection
-	 *
-	 * Notifies that a #NMActiveConnection has been added.
-	 **/
-	signals[ACTIVE_CONNECTION_ADDED] =
-	    g_signal_new (NM_CLIENT_ACTIVE_CONNECTION_ADDED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_FIRST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1,
-	                  NM_TYPE_ACTIVE_CONNECTION);
-
-	/**
-	 * NMClient::active-connection-removed:
-	 * @client: the settings object that received the signal
-	 * @active_connection: the removed active connection
-	 *
-	 * Notifies that a #NMActiveConnection has been removed.
-	 **/
-	signals[ACTIVE_CONNECTION_REMOVED] =
-	    g_signal_new (NM_CLIENT_ACTIVE_CONNECTION_REMOVED,
-	                  G_OBJECT_CLASS_TYPE (object_class),
-	                  G_SIGNAL_RUN_FIRST,
-	                  0, NULL, NULL, NULL,
-	                  G_TYPE_NONE, 1,
-	                  NM_TYPE_ACTIVE_CONNECTION);
+nm_client_class_init(NMClientClass *client_class)
+{
+    GObjectClass *object_class = G_OBJECT_CLASS(client_class);
+
+    _dbus_path_nm          = nm_ref_string_new(NM_DBUS_PATH);
+    _dbus_path_settings    = nm_ref_string_new(NM_DBUS_PATH_SETTINGS);
+    _dbus_path_dns_manager = nm_ref_string_new(NM_DBUS_PATH_DNS_MANAGER);
+
+    object_class->get_property = get_property;
+    object_class->set_property = set_property;
+    object_class->constructed  = constructed;
+    object_class->dispose      = dispose;
+
+    /**
+     * NMClient:dbus-connection:
+     *
+     * The #GDBusConnection to use.
+     *
+     * If this is not set during object construction, the D-Bus connection will
+     * automatically be chosen during async/sync initalization via g_bus_get().
+     *
+     * Since: 1.22
+     */
+    obj_properties[PROP_DBUS_CONNECTION] = g_param_spec_object(
+        NM_CLIENT_DBUS_CONNECTION,
+        "",
+        "",
+        G_TYPE_DBUS_CONNECTION,
+        G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:instance-flags:
+     *
+     * #NMClientInstanceFlags for the instance. These affect behavior of #NMClient.
+     * This is a construct property and you may only set most flags only during
+     * construction.
+     *
+     * The flag %NM_CLIENT_INSTANCE_FLAGS_NO_AUTO_FETCH_PERMISSIONS can be toggled any time,
+     * even after constructing the instance. Note that you may want to watch NMClient:permissions-state
+     * property to know whether permissions are ready. Note that permissions are only fetched
+     * when NMClient has a D-Bus name owner.
+     *
+     * Since: 1.24
+     */
+    obj_properties[PROP_INSTANCE_FLAGS] = g_param_spec_uint(
+        NM_CLIENT_INSTANCE_FLAGS,
+        "",
+        "",
+        0,
+        G_MAXUINT32,
+        0,
+        G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:dbus-name-owner:
+     *
+     * The name owner of the NetworkManager D-Bus service.
+     *
+     * Since: 1.22
+     **/
+    obj_properties[PROP_DBUS_NAME_OWNER] =
+        g_param_spec_string(NM_CLIENT_DBUS_NAME_OWNER,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:version:
+     *
+     * The NetworkManager version.
+     **/
+    obj_properties[PROP_VERSION] = g_param_spec_string(NM_CLIENT_VERSION,
+                                                       "",
+                                                       "",
+                                                       NULL,
+                                                       G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:state:
+     *
+     * The current daemon state.
+     **/
+    obj_properties[PROP_STATE] = g_param_spec_enum(NM_CLIENT_STATE,
+                                                   "",
+                                                   "",
+                                                   NM_TYPE_STATE,
+                                                   NM_STATE_UNKNOWN,
+                                                   G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:startup:
+     *
+     * Whether the daemon is still starting up.
+     **/
+    obj_properties[PROP_STARTUP] = g_param_spec_boolean(NM_CLIENT_STARTUP,
+                                                        "",
+                                                        "",
+                                                        FALSE,
+                                                        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:nm-running:
+     *
+     * Whether the daemon is running.
+     **/
+    obj_properties[PROP_NM_RUNNING] =
+        g_param_spec_boolean(NM_CLIENT_NM_RUNNING,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:networking-enabled:
+     *
+     * Whether networking is enabled.
+     *
+     * The property setter is a synchronous D-Bus call. This is deprecated since 1.22.
+     */
+    obj_properties[PROP_NETWORKING_ENABLED] =
+        g_param_spec_boolean(NM_CLIENT_NETWORKING_ENABLED,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:wireless-enabled:
+     *
+     * Whether wireless is enabled.
+     *
+     * The property setter is a synchronous D-Bus call. This is deprecated since 1.22.
+     **/
+    obj_properties[PROP_WIRELESS_ENABLED] =
+        g_param_spec_boolean(NM_CLIENT_WIRELESS_ENABLED,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:wireless-hardware-enabled:
+     *
+     * Whether the wireless hardware is enabled.
+     **/
+    obj_properties[PROP_WIRELESS_HARDWARE_ENABLED] =
+        g_param_spec_boolean(NM_CLIENT_WIRELESS_HARDWARE_ENABLED,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:wwan-enabled:
+     *
+     * Whether WWAN functionality is enabled.
+     *
+     * The property setter is a synchronous D-Bus call. This is deprecated since 1.22.
+     */
+    obj_properties[PROP_WWAN_ENABLED] =
+        g_param_spec_boolean(NM_CLIENT_WWAN_ENABLED,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:wwan-hardware-enabled:
+     *
+     * Whether the WWAN hardware is enabled.
+     **/
+    obj_properties[PROP_WWAN_HARDWARE_ENABLED] =
+        g_param_spec_boolean(NM_CLIENT_WWAN_HARDWARE_ENABLED,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:wimax-enabled:
+     *
+     * Whether WiMAX functionality is enabled.
+     *
+     * Deprecated: 1.22: WiMAX is no longer supported and this always returns FALSE. The setter has no effect.
+     */
+    obj_properties[PROP_WIMAX_ENABLED] =
+        g_param_spec_boolean(NM_CLIENT_WIMAX_ENABLED,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:wimax-hardware-enabled:
+     *
+     * Whether the WiMAX hardware is enabled.
+     *
+     * Deprecated: 1.22: WiMAX is no longer supported and this always returns FALSE.
+     **/
+    obj_properties[PROP_WIMAX_HARDWARE_ENABLED] =
+        g_param_spec_boolean(NM_CLIENT_WIMAX_HARDWARE_ENABLED,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:active-connections: (type GPtrArray(NMActiveConnection))
+     *
+     * The active connections.
+     **/
+    obj_properties[PROP_ACTIVE_CONNECTIONS] =
+        g_param_spec_boxed(NM_CLIENT_ACTIVE_CONNECTIONS,
+                           "",
+                           "",
+                           G_TYPE_PTR_ARRAY,
+                           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:connectivity:
+     *
+     * The network connectivity state.
+     */
+    obj_properties[PROP_CONNECTIVITY] =
+        g_param_spec_enum(NM_CLIENT_CONNECTIVITY,
+                          "",
+                          "",
+                          NM_TYPE_CONNECTIVITY_STATE,
+                          NM_CONNECTIVITY_UNKNOWN,
+                          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient::connectivity-check-available
+     *
+     * Whether a connectivity checking service has been configured.
+     *
+     * Since: 1.10
+     */
+    obj_properties[PROP_CONNECTIVITY_CHECK_AVAILABLE] =
+        g_param_spec_boolean(NM_CLIENT_CONNECTIVITY_CHECK_AVAILABLE,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient::connectivity-check-enabled
+     *
+     * Whether a connectivity checking service has been enabled.
+     *
+     * Since: 1.10
+     *
+     * The property setter is a synchronous D-Bus call. This is deprecated since 1.22.
+     */
+    obj_properties[PROP_CONNECTIVITY_CHECK_ENABLED] =
+        g_param_spec_boolean(NM_CLIENT_CONNECTIVITY_CHECK_ENABLED,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:connectivity-check-uri:
+     *
+     * The used URI for connectivity checking.
+     *
+     * Since: 1.22
+     **/
+    obj_properties[PROP_CONNECTIVITY_CHECK_URI] =
+        g_param_spec_string(NM_CLIENT_CONNECTIVITY_CHECK_URI,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:primary-connection:
+     *
+     * The #NMActiveConnection of the device with the default route;
+     * see nm_client_get_primary_connection() for more details.
+     **/
+    obj_properties[PROP_PRIMARY_CONNECTION] =
+        g_param_spec_object(NM_CLIENT_PRIMARY_CONNECTION,
+                            "",
+                            "",
+                            NM_TYPE_ACTIVE_CONNECTION,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:activating-connection:
+     *
+     * The #NMActiveConnection of the activating connection that is
+     * likely to become the new #NMClient:primary-connection.
+     **/
+    obj_properties[PROP_ACTIVATING_CONNECTION] =
+        g_param_spec_object(NM_CLIENT_ACTIVATING_CONNECTION,
+                            "",
+                            "",
+                            NM_TYPE_ACTIVE_CONNECTION,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:devices: (type GPtrArray(NMDevice))
+     *
+     * List of real network devices.  Does not include placeholder devices.
+     **/
+    obj_properties[PROP_DEVICES] = g_param_spec_boxed(NM_CLIENT_DEVICES,
+                                                      "",
+                                                      "",
+                                                      G_TYPE_PTR_ARRAY,
+                                                      G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:all-devices: (type GPtrArray(NMDevice))
+     *
+     * List of both real devices and device placeholders.
+     * Since: 1.2
+     **/
+    obj_properties[PROP_ALL_DEVICES] =
+        g_param_spec_boxed(NM_CLIENT_ALL_DEVICES,
+                           "",
+                           "",
+                           G_TYPE_PTR_ARRAY,
+                           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:connections: (type GPtrArray(NMRemoteConnection))
+     *
+     * The list of configured connections that are available to the user. (Note
+     * that this differs from the underlying D-Bus property, which may also
+     * contain the object paths of connections that the user does not have
+     * permission to read the details of.)
+     */
+    obj_properties[PROP_CONNECTIONS] =
+        g_param_spec_boxed(NM_CLIENT_CONNECTIONS,
+                           "",
+                           "",
+                           G_TYPE_PTR_ARRAY,
+                           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:hostname:
+     *
+     * The machine hostname stored in persistent configuration. This can be
+     * modified by calling nm_client_save_hostname().
+     */
+    obj_properties[PROP_HOSTNAME] = g_param_spec_string(NM_CLIENT_HOSTNAME,
+                                                        "",
+                                                        "",
+                                                        NULL,
+                                                        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:can-modify:
+     *
+     * If %TRUE, adding and modifying connections is supported.
+     */
+    obj_properties[PROP_CAN_MODIFY] =
+        g_param_spec_boolean(NM_CLIENT_CAN_MODIFY,
+                             "",
+                             "",
+                             FALSE,
+                             G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:metered:
+     *
+     * Whether the connectivity is metered.
+     *
+     * Since: 1.2
+     **/
+    obj_properties[PROP_METERED] = g_param_spec_uint(NM_CLIENT_METERED,
+                                                     "",
+                                                     "",
+                                                     0,
+                                                     G_MAXUINT32,
+                                                     NM_METERED_UNKNOWN,
+                                                     G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:dns-mode:
+     *
+     * The current DNS processing mode.
+     *
+     * Since: 1.6
+     **/
+    obj_properties[PROP_DNS_MODE] = g_param_spec_string(NM_CLIENT_DNS_MODE,
+                                                        "",
+                                                        "",
+                                                        NULL,
+                                                        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:dns-rc-manager:
+     *
+     * The current resolv.conf management mode.
+     *
+     * Since: 1.6
+     **/
+    obj_properties[PROP_DNS_RC_MANAGER] =
+        g_param_spec_string(NM_CLIENT_DNS_RC_MANAGER,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:dns-configuration: (type GPtrArray(NMDnsEntry))
+     *
+     * The current DNS configuration, represented as an array
+     * of #NMDnsEntry objects.
+     *
+     * Since: 1.6
+     **/
+    obj_properties[PROP_DNS_CONFIGURATION] =
+        g_param_spec_boxed(NM_CLIENT_DNS_CONFIGURATION,
+                           "",
+                           "",
+                           G_TYPE_PTR_ARRAY,
+                           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:checkpoints: (type GPtrArray(NMCheckpoint))
+     *
+     * The list of active checkpoints.
+     *
+     * Since: 1.12
+     */
+    obj_properties[PROP_CHECKPOINTS] =
+        g_param_spec_boxed(NM_CLIENT_CHECKPOINTS,
+                           "",
+                           "",
+                           G_TYPE_PTR_ARRAY,
+                           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:capabilities: (type GArray(guint32))
+     *
+     * The list of capabilities numbers as guint32 or %NULL if
+     * there are no capabilities. The numeric value correspond
+     * to %NMCapability enum.
+     *
+     * Since: 1.24
+     */
+    obj_properties[PROP_CAPABILITIES] =
+        g_param_spec_boxed(NM_CLIENT_CAPABILITIES,
+                           "",
+                           "",
+                           G_TYPE_ARRAY,
+                           G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMClient:permissions-state:
+     *
+     * The state of the cached permissions. The value %NM_TERNARY_DEFAULT
+     * means that no permissions are yet received (or not yet requested).
+     * %NM_TERNARY_TRUE means that permissions are received, cached and up
+     * to date. %NM_TERNARY_FALSE means that permissions were received and are
+     * cached, but in the meantime a "CheckPermissions" signal was received
+     * that invalidated the cached permissions.
+     * Note that NMClient will always emit a notify::permissions-state signal
+     * when a "CheckPermissions" signal got received or after new permissions
+     * got received (that is regardless whether the value of the permission state
+     * actually changed). With this you can watch the permissions-state property
+     * to know whether the permissions are ready. Note that while NMClient has
+     * no D-Bus name owner, no permissions are fetched (and this property won't
+     * change).
+     *
+     * Since: 1.24
+     */
+    obj_properties[PROP_PERMISSIONS_STATE] =
+        g_param_spec_enum(NM_CLIENT_PERMISSIONS_STATE,
+                          "",
+                          "",
+                          NM_TYPE_TERNARY,
+                          NM_TERNARY_DEFAULT,
+                          G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    _nml_dbus_meta_class_init_with_properties(object_class,
+                                              &_nml_dbus_meta_iface_nm,
+                                              &_nml_dbus_meta_iface_nm_settings,
+                                              &_nml_dbus_meta_iface_nm_dnsmanager);
+
+    /**
+     * NMClient::device-added:
+     * @client: the client that received the signal
+     * @device: (type NMDevice): the new device
+     *
+     * Notifies that a #NMDevice is added.  This signal is not emitted for
+     * placeholder devices.
+     **/
+    signals[DEVICE_ADDED] = g_signal_new(NM_CLIENT_DEVICE_ADDED,
+                                         G_OBJECT_CLASS_TYPE(object_class),
+                                         G_SIGNAL_RUN_FIRST,
+                                         0,
+                                         NULL,
+                                         NULL,
+                                         NULL,
+                                         G_TYPE_NONE,
+                                         1,
+                                         G_TYPE_OBJECT);
+
+    /**
+     * NMClient::device-removed:
+     * @client: the client that received the signal
+     * @device: (type NMDevice): the removed device
+     *
+     * Notifies that a #NMDevice is removed.  This signal is not emitted for
+     * placeholder devices.
+     **/
+    signals[DEVICE_REMOVED] = g_signal_new(NM_CLIENT_DEVICE_REMOVED,
+                                           G_OBJECT_CLASS_TYPE(object_class),
+                                           G_SIGNAL_RUN_FIRST,
+                                           0,
+                                           NULL,
+                                           NULL,
+                                           NULL,
+                                           G_TYPE_NONE,
+                                           1,
+                                           G_TYPE_OBJECT);
+
+    /**
+     * NMClient::any-device-added:
+     * @client: the client that received the signal
+     * @device: (type NMDevice): the new device
+     *
+     * Notifies that a #NMDevice is added.  This signal is emitted for both
+     * regular devices and placeholder devices.
+     **/
+    signals[ANY_DEVICE_ADDED] = g_signal_new(NM_CLIENT_ANY_DEVICE_ADDED,
+                                             G_OBJECT_CLASS_TYPE(object_class),
+                                             G_SIGNAL_RUN_FIRST,
+                                             0,
+                                             NULL,
+                                             NULL,
+                                             NULL,
+                                             G_TYPE_NONE,
+                                             1,
+                                             G_TYPE_OBJECT);
+
+    /**
+     * NMClient::any-device-removed:
+     * @client: the client that received the signal
+     * @device: (type NMDevice): the removed device
+     *
+     * Notifies that a #NMDevice is removed.  This signal is emitted for both
+     * regular devices and placeholder devices.
+     **/
+    signals[ANY_DEVICE_REMOVED] = g_signal_new(NM_CLIENT_ANY_DEVICE_REMOVED,
+                                               G_OBJECT_CLASS_TYPE(object_class),
+                                               G_SIGNAL_RUN_FIRST,
+                                               0,
+                                               NULL,
+                                               NULL,
+                                               NULL,
+                                               G_TYPE_NONE,
+                                               1,
+                                               G_TYPE_OBJECT);
+
+    /**
+     * NMClient::permission-changed:
+     * @client: the client that received the signal
+     * @permission: a permission from #NMClientPermission
+     * @result: the permission's result, one of #NMClientPermissionResult
+     *
+     * Notifies that a permission has changed
+     **/
+    signals[PERMISSION_CHANGED] = g_signal_new(NM_CLIENT_PERMISSION_CHANGED,
+                                               G_OBJECT_CLASS_TYPE(object_class),
+                                               G_SIGNAL_RUN_FIRST,
+                                               0,
+                                               NULL,
+                                               NULL,
+                                               NULL,
+                                               G_TYPE_NONE,
+                                               2,
+                                               G_TYPE_UINT,
+                                               G_TYPE_UINT);
+    /**
+     * NMClient::connection-added:
+     * @client: the settings object that received the signal
+     * @connection: the new connection
+     *
+     * Notifies that a #NMConnection has been added.
+     **/
+    signals[CONNECTION_ADDED] = g_signal_new(NM_CLIENT_CONNECTION_ADDED,
+                                             G_OBJECT_CLASS_TYPE(object_class),
+                                             G_SIGNAL_RUN_FIRST,
+                                             0,
+                                             NULL,
+                                             NULL,
+                                             NULL,
+                                             G_TYPE_NONE,
+                                             1,
+                                             NM_TYPE_REMOTE_CONNECTION);
+
+    /**
+     * NMClient::connection-removed:
+     * @client: the settings object that received the signal
+     * @connection: the removed connection
+     *
+     * Notifies that a #NMConnection has been removed.
+     **/
+    signals[CONNECTION_REMOVED] = g_signal_new(NM_CLIENT_CONNECTION_REMOVED,
+                                               G_OBJECT_CLASS_TYPE(object_class),
+                                               G_SIGNAL_RUN_FIRST,
+                                               0,
+                                               NULL,
+                                               NULL,
+                                               NULL,
+                                               G_TYPE_NONE,
+                                               1,
+                                               NM_TYPE_REMOTE_CONNECTION);
+
+    /**
+     * NMClient::active-connection-added:
+     * @client: the settings object that received the signal
+     * @active_connection: the new active connection
+     *
+     * Notifies that a #NMActiveConnection has been added.
+     **/
+    signals[ACTIVE_CONNECTION_ADDED] = g_signal_new(NM_CLIENT_ACTIVE_CONNECTION_ADDED,
+                                                    G_OBJECT_CLASS_TYPE(object_class),
+                                                    G_SIGNAL_RUN_FIRST,
+                                                    0,
+                                                    NULL,
+                                                    NULL,
+                                                    NULL,
+                                                    G_TYPE_NONE,
+                                                    1,
+                                                    NM_TYPE_ACTIVE_CONNECTION);
+
+    /**
+     * NMClient::active-connection-removed:
+     * @client: the settings object that received the signal
+     * @active_connection: the removed active connection
+     *
+     * Notifies that a #NMActiveConnection has been removed.
+     **/
+    signals[ACTIVE_CONNECTION_REMOVED] = g_signal_new(NM_CLIENT_ACTIVE_CONNECTION_REMOVED,
+                                                      G_OBJECT_CLASS_TYPE(object_class),
+                                                      G_SIGNAL_RUN_FIRST,
+                                                      0,
+                                                      NULL,
+                                                      NULL,
+                                                      NULL,
+                                                      G_TYPE_NONE,
+                                                      1,
+                                                      NM_TYPE_ACTIVE_CONNECTION);
 }
 
 static void
-nm_client_initable_iface_init (GInitableIface *iface)
+nm_client_initable_iface_init(GInitableIface *iface)
 {
-	iface->init = init_sync;
+    iface->init = init_sync;
 }
 
 static void
-nm_client_async_initable_iface_init (GAsyncInitableIface *iface)
+nm_client_async_initable_iface_init(GAsyncInitableIface *iface)
 {
-	iface->init_async = init_async;
-	iface->init_finish = init_finish;
+    iface->init_async  = init_async;
+    iface->init_finish = init_finish;
 }
 
 /*****************************************************************************
@@ -8567,35 +8682,65 @@ nm_client_async_initable_iface_init (GAsyncInitableIface *iface)
  * a 1.0.4 user can upgrade to 1.2.0 ABI.
  *****************************************************************************/
 
-NM_BACKPORT_SYMBOL (libnm_1_0_4, NMSettingConnectionAutoconnectSlaves, nm_setting_connection_get_autoconnect_slaves, (NMSettingConnection *setting), (setting));
-
-NM_BACKPORT_SYMBOL (libnm_1_0_4, GType, nm_setting_connection_autoconnect_slaves_get_type, (void), ());
-
-NM_BACKPORT_SYMBOL (libnm_1_0_6, NMMetered, nm_setting_connection_get_metered, (NMSettingConnection *setting), (setting));
-
-NM_BACKPORT_SYMBOL (libnm_1_0_6, GType, nm_metered_get_type, (void), ());
-
-NM_BACKPORT_SYMBOL (libnm_1_0_6, NMSettingWiredWakeOnLan, nm_setting_wired_get_wake_on_lan,
-                    (NMSettingWired *setting), (setting));
-
-NM_BACKPORT_SYMBOL (libnm_1_0_6, const char *, nm_setting_wired_get_wake_on_lan_password,
-                    (NMSettingWired *setting), (setting));
-
-NM_BACKPORT_SYMBOL (libnm_1_0_6, GType, nm_setting_wired_wake_on_lan_get_type, (void), ());
-
-NM_BACKPORT_SYMBOL (libnm_1_0_6, const guint *, nm_utils_wifi_2ghz_freqs, (void), ());
-
-NM_BACKPORT_SYMBOL (libnm_1_0_6, const guint *, nm_utils_wifi_5ghz_freqs, (void), ());
-
-NM_BACKPORT_SYMBOL (libnm_1_0_6, char *, nm_utils_enum_to_str,
-                    (GType type, int value), (type, value));
-
-NM_BACKPORT_SYMBOL (libnm_1_0_6, gboolean, nm_utils_enum_from_str,
-                    (GType type, const char *str, int *out_value, char **err_token),
-                    (type, str, out_value, err_token));
-
-NM_BACKPORT_SYMBOL (libnm_1_2_4, int, nm_setting_ip_config_get_dns_priority, (NMSettingIPConfig *setting), (setting));
-
-NM_BACKPORT_SYMBOL (libnm_1_10_14, NMSettingConnectionMdns, nm_setting_connection_get_mdns,
-                    (NMSettingConnection *setting), (setting));
-NM_BACKPORT_SYMBOL (libnm_1_10_14, GType, nm_setting_connection_mdns_get_type, (void), ());
+NM_BACKPORT_SYMBOL(libnm_1_0_4,
+                   NMSettingConnectionAutoconnectSlaves,
+                   nm_setting_connection_get_autoconnect_slaves,
+                   (NMSettingConnection * setting),
+                   (setting));
+
+NM_BACKPORT_SYMBOL(libnm_1_0_4,
+                   GType,
+                   nm_setting_connection_autoconnect_slaves_get_type,
+                   (void),
+                   ());
+
+NM_BACKPORT_SYMBOL(libnm_1_0_6,
+                   NMMetered,
+                   nm_setting_connection_get_metered,
+                   (NMSettingConnection * setting),
+                   (setting));
+
+NM_BACKPORT_SYMBOL(libnm_1_0_6, GType, nm_metered_get_type, (void), ());
+
+NM_BACKPORT_SYMBOL(libnm_1_0_6,
+                   NMSettingWiredWakeOnLan,
+                   nm_setting_wired_get_wake_on_lan,
+                   (NMSettingWired * setting),
+                   (setting));
+
+NM_BACKPORT_SYMBOL(libnm_1_0_6,
+                   const char *,
+                   nm_setting_wired_get_wake_on_lan_password,
+                   (NMSettingWired * setting),
+                   (setting));
+
+NM_BACKPORT_SYMBOL(libnm_1_0_6, GType, nm_setting_wired_wake_on_lan_get_type, (void), ());
+
+NM_BACKPORT_SYMBOL(libnm_1_0_6, const guint *, nm_utils_wifi_2ghz_freqs, (void), ());
+
+NM_BACKPORT_SYMBOL(libnm_1_0_6, const guint *, nm_utils_wifi_5ghz_freqs, (void), ());
+
+NM_BACKPORT_SYMBOL(libnm_1_0_6,
+                   char *,
+                   nm_utils_enum_to_str,
+                   (GType type, int value),
+                   (type, value));
+
+NM_BACKPORT_SYMBOL(libnm_1_0_6,
+                   gboolean,
+                   nm_utils_enum_from_str,
+                   (GType type, const char *str, int *out_value, char **err_token),
+                   (type, str, out_value, err_token));
+
+NM_BACKPORT_SYMBOL(libnm_1_2_4,
+                   int,
+                   nm_setting_ip_config_get_dns_priority,
+                   (NMSettingIPConfig * setting),
+                   (setting));
+
+NM_BACKPORT_SYMBOL(libnm_1_10_14,
+                   NMSettingConnectionMdns,
+                   nm_setting_connection_get_mdns,
+                   (NMSettingConnection * setting),
+                   (setting));
+NM_BACKPORT_SYMBOL(libnm_1_10_14, GType, nm_setting_connection_mdns_get_type, (void), ());