summary refs log tree commit diff
path: root/clients/common/nm-meta-setting-desc.h
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2020-10-05 22:27:18 +0200
committerMichael Biebl <biebl@debian.org>2020-10-05 22:27:18 +0200
commitaafc1dbe4712c86189bbc1d4d54ad8cb4c69be7e (patch)
treea2a9bb4d007339a0b1304540388230ccedac32bd /clients/common/nm-meta-setting-desc.h
parente7b44ef4c80907346ec7492a09c45277459924fc (diff)
New upstream version 1.27.90 upstream/1.27.90
Diffstat (limited to 'clients/common/nm-meta-setting-desc.h')
-rw-r--r--clients/common/nm-meta-setting-desc.h729
1 files changed, 368 insertions, 361 deletions
diff --git a/clients/common/nm-meta-setting-desc.h b/clients/common/nm-meta-setting-desc.h
index 68c03d05..3afd7686 100644
--- a/clients/common/nm-meta-setting-desc.h
+++ b/clients/common/nm-meta-setting-desc.h
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2010 - 2018 Red Hat, Inc.
  */
@@ -15,157 +15,170 @@ struct _NMDevice;
 #define NM_META_TEXT_HIDDEN N_("<hidden>")
 
 #define NM_META_TEXT_PROMPT_ADSL_PROTO N_("Protocol")
-#define NM_META_TEXT_PROMPT_ADSL_PROTO_CHOICES "(" NM_SETTING_ADSL_PROTOCOL_PPPOA "/" NM_SETTING_ADSL_PROTOCOL_PPPOE "/" NM_SETTING_ADSL_PROTOCOL_IPOATM ")"
+#define NM_META_TEXT_PROMPT_ADSL_PROTO_CHOICES                            \
+    "(" NM_SETTING_ADSL_PROTOCOL_PPPOA "/" NM_SETTING_ADSL_PROTOCOL_PPPOE \
+    "/" NM_SETTING_ADSL_PROTOCOL_IPOATM ")"
 
 #define NM_META_TEXT_PROMPT_ADSL_ENCAP N_("ADSL encapsulation")
-#define NM_META_TEXT_PROMPT_ADSL_ENCAP_CHOICES "(" NM_SETTING_ADSL_ENCAPSULATION_VCMUX "/" NM_SETTING_ADSL_ENCAPSULATION_LLC ") [none]"
+#define NM_META_TEXT_PROMPT_ADSL_ENCAP_CHOICES \
+    "(" NM_SETTING_ADSL_ENCAPSULATION_VCMUX "/" NM_SETTING_ADSL_ENCAPSULATION_LLC ") [none]"
 
-#define NM_META_TEXT_PROMPT_CON_TYPE    N_("Connection type")
-#define NM_META_TEXT_PROMPT_IFNAME      N_("Interface name [*]")
-#define NM_META_TEXT_PROMPT_VPN_TYPE    N_("VPN type")
-#define NM_META_TEXT_PROMPT_MASTER      N_("Master")
+#define NM_META_TEXT_PROMPT_CON_TYPE N_("Connection type")
+#define NM_META_TEXT_PROMPT_IFNAME   N_("Interface name [*]")
+#define NM_META_TEXT_PROMPT_VPN_TYPE N_("VPN type")
+#define NM_META_TEXT_PROMPT_MASTER   N_("Master")
 
-#define NM_META_TEXT_PROMPT_IB_MODE     N_("Transport mode")
+#define NM_META_TEXT_PROMPT_IB_MODE N_("Transport mode")
 #define NM_META_TEXT_WORD_DATAGRAM  "datagram"
 #define NM_META_TEXT_WORD_CONNECTED "connected"
-#define NM_META_TEXT_PROMPT_IB_MODE_CHOICES "(" NM_META_TEXT_WORD_DATAGRAM "/" NM_META_TEXT_WORD_CONNECTED ") [" NM_META_TEXT_WORD_DATAGRAM "]"
+#define NM_META_TEXT_PROMPT_IB_MODE_CHOICES                        \
+    "(" NM_META_TEXT_WORD_DATAGRAM "/" NM_META_TEXT_WORD_CONNECTED \
+    ") [" NM_META_TEXT_WORD_DATAGRAM "]"
 
 #define NM_META_TEXT_PROMPT_BT_TYPE N_("Bluetooth type")
 #define NM_META_TEXT_WORD_PANU      "panu"
 #define NM_META_TEXT_WORD_NAP       "nap"
 #define NM_META_TEXT_WORD_DUN_GSM   "dun-gsm"
 #define NM_META_TEXT_WORD_DUN_CDMA  "dun-cdma"
-#define NM_META_TEXT_PROMPT_BT_TYPE_CHOICES "(" NM_META_TEXT_WORD_PANU "/" NM_META_TEXT_WORD_NAP "/" NM_META_TEXT_WORD_DUN_GSM "/" NM_META_TEXT_WORD_DUN_CDMA ") [" NM_META_TEXT_WORD_PANU "]"
+#define NM_META_TEXT_PROMPT_BT_TYPE_CHOICES                                            \
+    "(" NM_META_TEXT_WORD_PANU "/" NM_META_TEXT_WORD_NAP "/" NM_META_TEXT_WORD_DUN_GSM \
+    "/" NM_META_TEXT_WORD_DUN_CDMA ") [" NM_META_TEXT_WORD_PANU "]"
 
 #define NM_META_TEXT_PROMPT_BOND_MODE N_("Bonding mode")
 
 #define NM_META_TEXT_PROMPT_BOND_MON_MODE N_("Bonding monitoring mode")
-#define NM_META_TEXT_WORD_MIIMON "miimon"
-#define NM_META_TEXT_WORD_ARP    "arp"
-#define NM_META_TEXT_PROMPT_BOND_MON_MODE_CHOICES "(" NM_META_TEXT_WORD_MIIMON "/" NM_META_TEXT_WORD_ARP ") [" NM_META_TEXT_WORD_MIIMON "]"
+#define NM_META_TEXT_WORD_MIIMON          "miimon"
+#define NM_META_TEXT_WORD_ARP             "arp"
+#define NM_META_TEXT_PROMPT_BOND_MON_MODE_CHOICES \
+    "(" NM_META_TEXT_WORD_MIIMON "/" NM_META_TEXT_WORD_ARP ") [" NM_META_TEXT_WORD_MIIMON "]"
 
 #define NM_META_TEXT_PROMPT_WIFI_MODE N_("Wi-Fi mode")
-#define NM_META_TEXT_WORD_INFRA  "infrastructure"
-#define NM_META_TEXT_WORD_AP     "ap"
-#define NM_META_TEXT_WORD_ADHOC  "adhoc"
-#define NM_META_TEXT_WORD_MESH   "mesh"
-#define NM_META_TEXT_PROMPT_WIFI_MODE_CHOICES "(" NM_META_TEXT_WORD_INFRA "/" NM_META_TEXT_WORD_AP "/" NM_META_TEXT_WORD_ADHOC "/" NM_META_TEXT_WORD_MESH ") [" NM_META_TEXT_WORD_INFRA "]"
+#define NM_META_TEXT_WORD_INFRA       "infrastructure"
+#define NM_META_TEXT_WORD_AP          "ap"
+#define NM_META_TEXT_WORD_ADHOC       "adhoc"
+#define NM_META_TEXT_WORD_MESH        "mesh"
+#define NM_META_TEXT_PROMPT_WIFI_MODE_CHOICES                                        \
+    "(" NM_META_TEXT_WORD_INFRA "/" NM_META_TEXT_WORD_AP "/" NM_META_TEXT_WORD_ADHOC \
+    "/" NM_META_TEXT_WORD_MESH ") [" NM_META_TEXT_WORD_INFRA "]"
 
 #define NM_META_TEXT_PROMPT_TUN_MODE N_("Tun mode")
-#define NM_META_TEXT_WORD_TUN  "tun"
-#define NM_META_TEXT_WORD_TAP  "tap"
-#define NM_META_TEXT_PROMPT_TUN_MODE_CHOICES "(" NM_META_TEXT_WORD_TUN "/" NM_META_TEXT_WORD_TAP ") [" NM_META_TEXT_WORD_TUN "]"
+#define NM_META_TEXT_WORD_TUN        "tun"
+#define NM_META_TEXT_WORD_TAP        "tap"
+#define NM_META_TEXT_PROMPT_TUN_MODE_CHOICES \
+    "(" NM_META_TEXT_WORD_TUN "/" NM_META_TEXT_WORD_TAP ") [" NM_META_TEXT_WORD_TUN "]"
 
 #define NM_META_TEXT_PROMPT_IP_TUNNEL_MODE N_("IP Tunnel mode")
 
 #define NM_META_TEXT_PROMPT_MACVLAN_MODE N_("MACVLAN mode")
 
 #define NM_META_TEXT_PROMPT_MACSEC_MODE N_("MACsec mode")
-#define NM_META_TEXT_WORD_PSK "psk"
-#define NM_META_TEXT_WORD_EAP "eap"
-#define NM_META_TEXT_PROMPT_MACSEC_MODE_CHOICES "(" NM_META_TEXT_WORD_PSK "/" NM_META_TEXT_WORD_EAP ")"
+#define NM_META_TEXT_WORD_PSK           "psk"
+#define NM_META_TEXT_WORD_EAP           "eap"
+#define NM_META_TEXT_PROMPT_MACSEC_MODE_CHOICES \
+    "(" NM_META_TEXT_WORD_PSK "/" NM_META_TEXT_WORD_EAP ")"
 
 #define NM_META_TEXT_PROMPT_PROXY_METHOD N_("Proxy method")
-#define NM_META_TEXT_WORD_NONE "none"
-#define NM_META_TEXT_WORD_AUTO "auto"
-#define NM_META_TEXT_PROMPT_PROXY_METHOD_CHOICES "(" NM_META_TEXT_WORD_NONE "/" NM_META_TEXT_WORD_AUTO ") [" NM_META_TEXT_WORD_NONE "]"
+#define NM_META_TEXT_WORD_NONE           "none"
+#define NM_META_TEXT_WORD_AUTO           "auto"
+#define NM_META_TEXT_PROMPT_PROXY_METHOD_CHOICES \
+    "(" NM_META_TEXT_WORD_NONE "/" NM_META_TEXT_WORD_AUTO ") [" NM_META_TEXT_WORD_NONE "]"
 
 typedef enum {
-	NM_META_COLOR_NONE = 0,
-	NM_META_COLOR_CONNECTION_ACTIVATED,
-	NM_META_COLOR_CONNECTION_ACTIVATING,
-	NM_META_COLOR_CONNECTION_DISCONNECTING,
-	NM_META_COLOR_CONNECTION_INVISIBLE,
-	NM_META_COLOR_CONNECTION_EXTERNAL,
-	NM_META_COLOR_CONNECTION_UNKNOWN,
-	NM_META_COLOR_CONNECTIVITY_FULL,
-	NM_META_COLOR_CONNECTIVITY_LIMITED,
-	NM_META_COLOR_CONNECTIVITY_NONE,
-	NM_META_COLOR_CONNECTIVITY_PORTAL,
-	NM_META_COLOR_CONNECTIVITY_UNKNOWN,
-	NM_META_COLOR_DEVICE_ACTIVATED,
-	NM_META_COLOR_DEVICE_ACTIVATING,
-	NM_META_COLOR_DEVICE_DISCONNECTED,
-	NM_META_COLOR_DEVICE_FIRMWARE_MISSING,
-	NM_META_COLOR_DEVICE_PLUGIN_MISSING,
-	NM_META_COLOR_DEVICE_UNAVAILABLE,
-	NM_META_COLOR_DEVICE_DISABLED,
-	NM_META_COLOR_DEVICE_EXTERNAL,
-	NM_META_COLOR_DEVICE_UNKNOWN,
-	NM_META_COLOR_MANAGER_RUNNING,
-	NM_META_COLOR_MANAGER_STARTING,
-	NM_META_COLOR_MANAGER_STOPPED,
-	NM_META_COLOR_PERMISSION_AUTH,
-	NM_META_COLOR_PERMISSION_NO,
-	NM_META_COLOR_PERMISSION_UNKNOWN,
-	NM_META_COLOR_PERMISSION_YES,
-	NM_META_COLOR_PROMPT,
-	NM_META_COLOR_STATE_ASLEEP,
-	NM_META_COLOR_STATE_CONNECTED_GLOBAL,
-	NM_META_COLOR_STATE_CONNECTED_LOCAL,
-	NM_META_COLOR_STATE_CONNECTED_SITE,
-	NM_META_COLOR_STATE_CONNECTING,
-	NM_META_COLOR_STATE_DISCONNECTED,
-	NM_META_COLOR_STATE_DISCONNECTING,
-	NM_META_COLOR_STATE_UNKNOWN,
-	NM_META_COLOR_WIFI_SIGNAL_EXCELLENT,
-	NM_META_COLOR_WIFI_SIGNAL_FAIR,
-	NM_META_COLOR_WIFI_SIGNAL_GOOD,
-	NM_META_COLOR_WIFI_SIGNAL_POOR,
-	NM_META_COLOR_WIFI_SIGNAL_UNKNOWN,
-	NM_META_COLOR_DISABLED,
-	NM_META_COLOR_ENABLED,
-	_NM_META_COLOR_NUM
+    NM_META_COLOR_NONE = 0,
+    NM_META_COLOR_CONNECTION_ACTIVATED,
+    NM_META_COLOR_CONNECTION_ACTIVATING,
+    NM_META_COLOR_CONNECTION_DISCONNECTING,
+    NM_META_COLOR_CONNECTION_INVISIBLE,
+    NM_META_COLOR_CONNECTION_EXTERNAL,
+    NM_META_COLOR_CONNECTION_UNKNOWN,
+    NM_META_COLOR_CONNECTIVITY_FULL,
+    NM_META_COLOR_CONNECTIVITY_LIMITED,
+    NM_META_COLOR_CONNECTIVITY_NONE,
+    NM_META_COLOR_CONNECTIVITY_PORTAL,
+    NM_META_COLOR_CONNECTIVITY_UNKNOWN,
+    NM_META_COLOR_DEVICE_ACTIVATED,
+    NM_META_COLOR_DEVICE_ACTIVATING,
+    NM_META_COLOR_DEVICE_DISCONNECTED,
+    NM_META_COLOR_DEVICE_FIRMWARE_MISSING,
+    NM_META_COLOR_DEVICE_PLUGIN_MISSING,
+    NM_META_COLOR_DEVICE_UNAVAILABLE,
+    NM_META_COLOR_DEVICE_DISABLED,
+    NM_META_COLOR_DEVICE_EXTERNAL,
+    NM_META_COLOR_DEVICE_UNKNOWN,
+    NM_META_COLOR_MANAGER_RUNNING,
+    NM_META_COLOR_MANAGER_STARTING,
+    NM_META_COLOR_MANAGER_STOPPED,
+    NM_META_COLOR_PERMISSION_AUTH,
+    NM_META_COLOR_PERMISSION_NO,
+    NM_META_COLOR_PERMISSION_UNKNOWN,
+    NM_META_COLOR_PERMISSION_YES,
+    NM_META_COLOR_PROMPT,
+    NM_META_COLOR_STATE_ASLEEP,
+    NM_META_COLOR_STATE_CONNECTED_GLOBAL,
+    NM_META_COLOR_STATE_CONNECTED_LOCAL,
+    NM_META_COLOR_STATE_CONNECTED_SITE,
+    NM_META_COLOR_STATE_CONNECTING,
+    NM_META_COLOR_STATE_DISCONNECTED,
+    NM_META_COLOR_STATE_DISCONNECTING,
+    NM_META_COLOR_STATE_UNKNOWN,
+    NM_META_COLOR_WIFI_SIGNAL_EXCELLENT,
+    NM_META_COLOR_WIFI_SIGNAL_FAIR,
+    NM_META_COLOR_WIFI_SIGNAL_GOOD,
+    NM_META_COLOR_WIFI_SIGNAL_POOR,
+    NM_META_COLOR_WIFI_SIGNAL_UNKNOWN,
+    NM_META_COLOR_DISABLED,
+    NM_META_COLOR_ENABLED,
+    _NM_META_COLOR_NUM
 } NMMetaColor;
 
 typedef enum {
-	NM_META_ACCESSOR_MODIFIER_SET,
-	NM_META_ACCESSOR_MODIFIER_ADD,
-	NM_META_ACCESSOR_MODIFIER_DEL,
+    NM_META_ACCESSOR_MODIFIER_SET,
+    NM_META_ACCESSOR_MODIFIER_ADD,
+    NM_META_ACCESSOR_MODIFIER_DEL,
 } NMMetaAccessorModifier;
 
 typedef enum {
-	NM_META_ACCESSOR_GET_TYPE_PRETTY,
-	NM_META_ACCESSOR_GET_TYPE_PARSABLE,
-	NM_META_ACCESSOR_GET_TYPE_COLOR,
+    NM_META_ACCESSOR_GET_TYPE_PRETTY,
+    NM_META_ACCESSOR_GET_TYPE_PARSABLE,
+    NM_META_ACCESSOR_GET_TYPE_COLOR,
 } NMMetaAccessorGetType;
 
 typedef enum {
-	NM_META_ACCESSOR_SETTING_INIT_TYPE_DEFAULT,
-	NM_META_ACCESSOR_SETTING_INIT_TYPE_CLI,
+    NM_META_ACCESSOR_SETTING_INIT_TYPE_DEFAULT,
+    NM_META_ACCESSOR_SETTING_INIT_TYPE_CLI,
 } NMMetaAccessorSettingInitType;
 
 typedef enum {
-	NM_META_ACCESSOR_GET_FLAGS_NONE                                         = 0,
-	NM_META_ACCESSOR_GET_FLAGS_ACCEPT_STRV                                  = (1LL <<  0),
-	NM_META_ACCESSOR_GET_FLAGS_SHOW_SECRETS                                 = (1LL <<  1),
+    NM_META_ACCESSOR_GET_FLAGS_NONE         = 0,
+    NM_META_ACCESSOR_GET_FLAGS_ACCEPT_STRV  = (1LL << 0),
+    NM_META_ACCESSOR_GET_FLAGS_SHOW_SECRETS = (1LL << 1),
 } NMMetaAccessorGetFlags;
 
 typedef enum {
-	NM_META_ACCESSOR_GET_OUT_FLAGS_NONE                                     = 0,
-	NM_META_ACCESSOR_GET_OUT_FLAGS_STRV                                     = (1LL <<  0),
+    NM_META_ACCESSOR_GET_OUT_FLAGS_NONE = 0,
+    NM_META_ACCESSOR_GET_OUT_FLAGS_STRV = (1LL << 0),
 
-	/* the property allows to be hidden, if and only if, it's value is set to the
-	 * default. This should only be set by new properties, to preserve behavior
-	 * of old properties, which were always printed. */
-	NM_META_ACCESSOR_GET_OUT_FLAGS_HIDE                                     = (1LL <<  1),
+    /* the property allows to be hidden, if and only if, it's value is set to the
+     * default. This should only be set by new properties, to preserve behavior
+     * of old properties, which were always printed. */
+    NM_META_ACCESSOR_GET_OUT_FLAGS_HIDE = (1LL << 1),
 } NMMetaAccessorGetOutFlags;
 
 typedef enum {
-	NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_NUMERIC                       = (1LL <<  0),
-	NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_NUMERIC_HEX                   = (1LL <<  1),
-	NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT                          = (1LL <<  2),
-	NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT_L10N                     = (1LL <<  3),
-	NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_NUMERIC                     = (1LL <<  4),
-	NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_NUMERIC_HEX                 = (1LL <<  5),
-	NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_TEXT                        = (1LL <<  6),
+    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_NUMERIC       = (1LL << 0),
+    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_NUMERIC_HEX   = (1LL << 1),
+    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT          = (1LL << 2),
+    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT_L10N     = (1LL << 3),
+    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_NUMERIC     = (1LL << 4),
+    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_NUMERIC_HEX = (1LL << 5),
+    NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_TEXT        = (1LL << 6),
 } NMMetaPropertyTypFlags;
 
 typedef enum {
-	NM_META_PROPERTY_TYPE_MAC_MODE_DEFAULT,
-	NM_META_PROPERTY_TYPE_MAC_MODE_CLONED,
-	NM_META_PROPERTY_TYPE_MAC_MODE_INFINIBAND,
-	NM_META_PROPERTY_TYPE_MAC_MODE_WPAN,
+    NM_META_PROPERTY_TYPE_MAC_MODE_DEFAULT,
+    NM_META_PROPERTY_TYPE_MAC_MODE_CLONED,
+    NM_META_PROPERTY_TYPE_MAC_MODE_INFINIBAND,
+    NM_META_PROPERTY_TYPE_MAC_MODE_WPAN,
 } NMMetaPropertyTypeMacMode;
 
 typedef struct _NMMetaEnvironment           NMMetaEnvironment;
@@ -183,282 +196,274 @@ typedef struct _NMMetaPropertyTypDataNested NMMetaPropertyTypDataNested;
  * This command actually violates layering, and should be considered
  * a hack. In the future, try to replace its use. */
 struct _NMMetaOperationContext {
-	NMConnection *connection;
+    NMConnection *connection;
 };
 
 struct _NMMetaPropertyType {
-
-	/* should return a translated string */
-	const char *(*describe_fcn) (const NMMetaPropertyInfo *property_info,
-	                             char **out_to_free);
-
-	gconstpointer (*get_fcn) (const NMMetaPropertyInfo *property_info,
-	                          const NMMetaEnvironment *environment,
-	                          gpointer environment_user_data,
-	                          NMSetting *setting,
-	                          NMMetaAccessorGetType get_type,
-	                          NMMetaAccessorGetFlags get_flags,
-	                          NMMetaAccessorGetOutFlags *out_flags,
-	                          gboolean *out_is_default,
-	                          gpointer *out_to_free);
-	gboolean (*set_fcn) (const NMMetaPropertyInfo *property_info,
-	                     const NMMetaEnvironment *environment,
-	                     gpointer environment_user_data,
-	                     NMSetting *setting,
-	                     NMMetaAccessorModifier modifier,
-	                     const char *value,
-	                     GError **error);
-
-	const char *const*(*values_fcn) (const NMMetaPropertyInfo *property_info,
-	                                 char ***out_to_free);
-
-	const char *const*(*complete_fcn) (const NMMetaPropertyInfo *property_info,
-	                                   const NMMetaEnvironment *environment,
-	                                   gpointer environment_user_data,
-	                                   const NMMetaOperationContext *operation_context,
-	                                   const char *text,
-	                                   gboolean *out_complete_filename,
-	                                   char ***out_to_free);
-
-	/* Whether set_fcn() supports the '-' modifier. That is, whether the property
-	 * is a list type. */
-	bool set_supports_remove:1;
+    /* should return a translated string */
+    const char *(*describe_fcn)(const NMMetaPropertyInfo *property_info, char **out_to_free);
+
+    gconstpointer (*get_fcn)(const NMMetaPropertyInfo * property_info,
+                             const NMMetaEnvironment *  environment,
+                             gpointer                   environment_user_data,
+                             NMSetting *                setting,
+                             NMMetaAccessorGetType      get_type,
+                             NMMetaAccessorGetFlags     get_flags,
+                             NMMetaAccessorGetOutFlags *out_flags,
+                             gboolean *                 out_is_default,
+                             gpointer *                 out_to_free);
+    gboolean (*set_fcn)(const NMMetaPropertyInfo *property_info,
+                        const NMMetaEnvironment * environment,
+                        gpointer                  environment_user_data,
+                        NMSetting *               setting,
+                        NMMetaAccessorModifier    modifier,
+                        const char *              value,
+                        GError **                 error);
+
+    const char *const *(*values_fcn)(const NMMetaPropertyInfo *property_info, char ***out_to_free);
+
+    const char *const *(*complete_fcn)(const NMMetaPropertyInfo *    property_info,
+                                       const NMMetaEnvironment *     environment,
+                                       gpointer                      environment_user_data,
+                                       const NMMetaOperationContext *operation_context,
+                                       const char *                  text,
+                                       gboolean *                    out_complete_filename,
+                                       char ***                      out_to_free);
+
+    /* Whether set_fcn() supports the '-' modifier. That is, whether the property
+     * is a list type. */
+    bool set_supports_remove : 1;
 };
 
 struct _NMUtilsEnumValueInfo;
 
 typedef union {
-	gint64  i64;
-	guint64 u64;
+    gint64  i64;
+    guint64 u64;
 } NMMetaSignUnsignInt64;
 
 typedef struct {
-	const char *nick;
-	NMMetaSignUnsignInt64 value;
+    const char *          nick;
+    NMMetaSignUnsignInt64 value;
 } NMMetaUtilsIntValueInfo;
 
 struct _NMMetaPropertyTypData {
-	union {
-		struct {
-			GType (*get_gtype) (void);
-			int min;
-			int max;
-			const struct _NMUtilsEnumValueInfo *value_infos_get; /* nicks for get function */
-			const struct _NMUtilsEnumValueInfo *value_infos;     /* nicks for set function */
-			void (*pre_set_notify) (const NMMetaPropertyInfo *property_info,
-			                        const NMMetaEnvironment *environment,
-			                        gpointer environment_user_data,
-			                        NMSetting *setting,
-			                        int value);
-		} gobject_enum;
-		struct {
-			NMMetaSignUnsignInt64 min;
-			NMMetaSignUnsignInt64 max;
-			guint base;
-			const NMMetaUtilsIntValueInfo *value_infos;
-		} gobject_int;
-		struct {
-			const char *(*validate_fcn) (const char *value, char **out_to_free, GError **error);
-			bool handle_emptyunset:1;
-		} gobject_string;
-		struct {
-			bool legacy_format:1;
-		} gobject_bytes;
-		struct {
-			guint32 (*get_num_fcn_u32) (NMSetting *setting);
-			guint (*get_num_fcn_u) (NMSetting *setting);
-			void (*clear_all_fcn) (NMSetting *setting);
-
-			/* some multilist properties distinguish between an empty list and
-			 * and unset. If this function pointer is set, certain behaviors come
-			 * into action to handle that. */
-			void (*clear_emptyunset_fcn) (NMSetting *setting,
-			                              gboolean is_set /* or else set default */);
-
-			gboolean (*add_fcn) (NMSetting *setting,
-			                     const char *item);
-			void (*add2_fcn) (NMSetting *setting,
-			                  const char *item);
-			const char *(*validate_fcn) (const char *item, GError **error);
-			const char *(*validate2_fcn) (NMSetting *setting, const char *item, GError **error);
-			void (*remove_by_idx_fcn_u32) (NMSetting *setting, guint32 idx);
-			void (*remove_by_idx_fcn_u) (NMSetting *setting, guint idx);
-			void (*remove_by_idx_fcn_s) (NMSetting *setting, int idx);
-			gboolean (*remove_by_value_fcn) (NMSetting *setting, const char *item);
-			bool strsplit_plain:1;
-			bool strsplit_with_spaces:1;
-		} multilist;
-		struct {
-			guint (*get_num_fcn) (NMSetting *setting);
-			void (*obj_to_str_fcn) (NMMetaAccessorGetType get_type,
-			                        NMSetting *setting,
-			                        guint idx,
-			                        GString *str);
-			gboolean (*set_fcn) (NMSetting *setting,
-			                     gboolean do_add /* or else remove. */,
-			                     const char *value,
-			                     GError **error);
-			void (*clear_all_fcn) (NMSetting *setting);
-			void (*remove_by_idx_fcn_u) (NMSetting *setting, guint idx);
-			void (*remove_by_idx_fcn_s) (NMSetting *setting, int idx);
-			bool delimit_pretty_with_semicolon:1;
-			bool strsplit_plain:1;
-		} objlist;
-		struct {
-			gboolean (*set_fcn) (NMSetting *setting,
-			                     const char *option,
-			                     const char *value,
-			                     GError **error);
-			bool no_empty_value:1;
-		} optionlist;
-		struct {
-			guint32 (*get_fcn) (NMSetting *setting);
-		} mtu;
-		struct {
-			NMSetting8021xSchemeType scheme_type;
-		} cert_8021x;
-		struct {
-			NMMetaPropertyTypeMacMode mode;
-		} mac;
-		struct {
-			guint (*get_fcn) (NMSettingDcb *setting,
-			                  guint user_priority);
-			void (*set_fcn) (NMSettingDcb *setting,
-			                 guint id,
-			                 guint value);
-			guint max;
-			guint other;
-			bool is_percent:1;
-		} dcb;
-		struct {
-			gboolean (*get_fcn) (NMSettingDcb *s_dcb,
-			                     guint priority);
-			void (*set_fcn) (NMSettingDcb *setting,
-			                 guint user_priority,
-			                 gboolean enabled);
-			bool with_flow_control_flags:1;
-		} dcb_bool;
-		struct {
-			NMEthtoolID ethtool_id;
-		} ethtool;
-	} subtype;
-	gboolean (*is_default_fcn) (NMSetting *setting);
-	const char *const*values_static;
-	const NMMetaPropertyTypDataNested *nested;
-	NMMetaPropertyTypFlags typ_flags;
+    union {
+        struct {
+            GType (*get_gtype)(void);
+            int                                 min;
+            int                                 max;
+            const struct _NMUtilsEnumValueInfo *value_infos_get; /* nicks for get function */
+            const struct _NMUtilsEnumValueInfo *value_infos;     /* nicks for set function */
+            void (*pre_set_notify)(const NMMetaPropertyInfo *property_info,
+                                   const NMMetaEnvironment * environment,
+                                   gpointer                  environment_user_data,
+                                   NMSetting *               setting,
+                                   int                       value);
+        } gobject_enum;
+        struct {
+            NMMetaSignUnsignInt64          min;
+            NMMetaSignUnsignInt64          max;
+            guint                          base;
+            const NMMetaUtilsIntValueInfo *value_infos;
+        } gobject_int;
+        struct {
+            const char *(*validate_fcn)(const char *value, char **out_to_free, GError **error);
+            bool handle_emptyunset : 1;
+        } gobject_string;
+        struct {
+            bool legacy_format : 1;
+        } gobject_bytes;
+        struct {
+            guint32 (*get_num_fcn_u32)(NMSetting *setting);
+            guint (*get_num_fcn_u)(NMSetting *setting);
+            void (*clear_all_fcn)(NMSetting *setting);
+
+            /* some multilist properties distinguish between an empty list and
+             * and unset. If this function pointer is set, certain behaviors come
+             * into action to handle that. */
+            void (*clear_emptyunset_fcn)(NMSetting *setting,
+                                         gboolean   is_set /* or else set default */);
+
+            gboolean (*add_fcn)(NMSetting *setting, const char *item);
+            void (*add2_fcn)(NMSetting *setting, const char *item);
+            const char *(*validate_fcn)(const char *item, GError **error);
+            const char *(*validate2_fcn)(NMSetting *setting, const char *item, GError **error);
+            void (*remove_by_idx_fcn_u32)(NMSetting *setting, guint32 idx);
+            void (*remove_by_idx_fcn_u)(NMSetting *setting, guint idx);
+            void (*remove_by_idx_fcn_s)(NMSetting *setting, int idx);
+            gboolean (*remove_by_value_fcn)(NMSetting *setting, const char *item);
+            bool strsplit_plain : 1;
+            bool strsplit_with_spaces : 1;
+        } multilist;
+        struct {
+            guint (*get_num_fcn)(NMSetting *setting);
+            void (*obj_to_str_fcn)(NMMetaAccessorGetType get_type,
+                                   NMSetting *           setting,
+                                   guint                 idx,
+                                   GString *             str);
+            gboolean (*set_fcn)(NMSetting * setting,
+                                gboolean    do_add /* or else remove. */,
+                                const char *value,
+                                GError **   error);
+            void (*clear_all_fcn)(NMSetting *setting);
+            void (*remove_by_idx_fcn_u)(NMSetting *setting, guint idx);
+            void (*remove_by_idx_fcn_s)(NMSetting *setting, int idx);
+            bool delimit_pretty_with_semicolon : 1;
+            bool strsplit_plain : 1;
+        } objlist;
+        struct {
+            gboolean (*set_fcn)(NMSetting * setting,
+                                const char *option,
+                                const char *value,
+                                GError **   error);
+            bool no_empty_value : 1;
+        } optionlist;
+        struct {
+            guint32 (*get_fcn)(NMSetting *setting);
+        } mtu;
+        struct {
+            NMSetting8021xSchemeType scheme_type;
+        } cert_8021x;
+        struct {
+            NMMetaPropertyTypeMacMode mode;
+        } mac;
+        struct {
+            guint (*get_fcn)(NMSettingDcb *setting, guint user_priority);
+            void (*set_fcn)(NMSettingDcb *setting, guint id, guint value);
+            guint max;
+            guint other;
+            bool  is_percent : 1;
+        } dcb;
+        struct {
+            gboolean (*get_fcn)(NMSettingDcb *s_dcb, guint priority);
+            void (*set_fcn)(NMSettingDcb *setting, guint user_priority, gboolean enabled);
+            bool with_flow_control_flags : 1;
+        } dcb_bool;
+        struct {
+            NMEthtoolID ethtool_id;
+        } ethtool;
+    } subtype;
+    gboolean (*is_default_fcn)(NMSetting *setting);
+    const char *const *                values_static;
+    const NMMetaPropertyTypDataNested *nested;
+    NMMetaPropertyTypFlags             typ_flags;
 };
 
 typedef enum {
-	NM_META_PROPERTY_INF_FLAG_NONE                      = 0x00,
-	NM_META_PROPERTY_INF_FLAG_REQD                      = 0x01, /* Don't ask to ask. */
-	NM_META_PROPERTY_INF_FLAG_DONT_ASK                  = 0x02, /* Don't ask interactively by default */
-	NM_META_PROPERTY_INF_FLAG_MULTI                     = 0x04, /* Ask multiple times, do an append instead of set. */
+    NM_META_PROPERTY_INF_FLAG_NONE     = 0x00,
+    NM_META_PROPERTY_INF_FLAG_REQD     = 0x01, /* Don't ask to ask. */
+    NM_META_PROPERTY_INF_FLAG_DONT_ASK = 0x02, /* Don't ask interactively by default */
+    NM_META_PROPERTY_INF_FLAG_MULTI = 0x04, /* Ask multiple times, do an append instead of set. */
 } NMMetaPropertyInfFlags;
 
 enum {
-	_NM_META_PROPERTY_TYPE_VPN_SERVICE_TYPE                                 = 0,
-	_NM_META_PROPERTY_TYPE_CONNECTION_TYPE                                  = 3,
+    _NM_META_PROPERTY_TYPE_VPN_SERVICE_TYPE = 0,
+    _NM_META_PROPERTY_TYPE_CONNECTION_TYPE  = 3,
 };
 
-#define nm_meta_property_info_connection_type  (nm_meta_setting_infos_editor[NM_META_SETTING_TYPE_CONNECTION].properties[_NM_META_PROPERTY_TYPE_CONNECTION_TYPE])
-#define nm_meta_property_info_vpn_service_type (nm_meta_setting_infos_editor[NM_META_SETTING_TYPE_VPN].properties[_NM_META_PROPERTY_TYPE_VPN_SERVICE_TYPE])
+#define nm_meta_property_info_connection_type                      \
+    (nm_meta_setting_infos_editor[NM_META_SETTING_TYPE_CONNECTION] \
+         .properties[_NM_META_PROPERTY_TYPE_CONNECTION_TYPE])
+#define nm_meta_property_info_vpn_service_type              \
+    (nm_meta_setting_infos_editor[NM_META_SETTING_TYPE_VPN] \
+         .properties[_NM_META_PROPERTY_TYPE_VPN_SERVICE_TYPE])
 
 struct _NMMetaPropertyInfo {
-	union {
-		NMObjBaseInst parent;
-		const NMMetaType *meta_type;
-	};
+    union {
+        NMObjBaseInst     parent;
+        const NMMetaType *meta_type;
+    };
 
-	const NMMetaSettingInfoEditor *setting_info;
+    const NMMetaSettingInfoEditor *setting_info;
 
-	const char *property_name;
+    const char *property_name;
 
-	const char *property_alias;
+    const char *property_alias;
 
-	NMMetaPropertyInfFlags inf_flags;
-	bool is_secret:1;
+    NMMetaPropertyInfFlags inf_flags;
+    bool                   is_secret : 1;
 
-	bool is_cli_option:1;
-	bool hide_if_default:1;
+    bool is_cli_option : 1;
+    bool hide_if_default : 1;
 
-	const char *prompt;
+    const char *prompt;
 
-	const char *def_hint;
+    const char *def_hint;
 
-	const char *describe_doc;
+    const char *describe_doc;
 
-	/* a non-translated but translatable static description (marked with N_()). */
-	const char *describe_message;
+    /* a non-translated but translatable static description (marked with N_()). */
+    const char *describe_message;
 
-	const NMMetaPropertyType    *property_type;
-	const NMMetaPropertyTypData *property_typ_data;
+    const NMMetaPropertyType *   property_type;
+    const NMMetaPropertyTypData *property_typ_data;
 };
 
 typedef struct _NMMetaSettingValidPartItem {
-	const NMMetaSettingInfoEditor *setting_info;
-	bool mandatory;
+    const NMMetaSettingInfoEditor *setting_info;
+    bool                           mandatory;
 } NMMetaSettingValidPartItem;
 
 struct _NMMetaSettingInfoEditor {
-	union {
-		NMObjBaseInst parent;
-		const NMMetaType *meta_type;
-	};
-	const NMMetaSettingInfo *general;
-	const char *alias;
-	const char *pretty_name;
-	const NMMetaPropertyInfo *const*properties;
-	guint properties_num;
-
-	/* a NMConnection has a main type (connection.type), which is a
-	 * main NMSetting instance. Depending on the type, a connection
-	 * may have a list of other allowed settings.
-	 *
-	 * For example, a connection of type "vlan" may have settings
-	 * of type "connection", "vlan", and "wired".
-	 *
-	 * Some setting types a not a main type (NMSettingProxy). They
-	 * don't have valid_settings but are usually referenced by other
-	 * settings to be valid for them. */
-	const NMMetaSettingValidPartItem *const*valid_parts;
-
-	void (*setting_init_fcn) (const NMMetaSettingInfoEditor *setting_info,
-	                          NMSetting *setting,
-	                          NMMetaAccessorSettingInitType init_type);
+    union {
+        NMObjBaseInst     parent;
+        const NMMetaType *meta_type;
+    };
+    const NMMetaSettingInfo *        general;
+    const char *                     alias;
+    const char *                     pretty_name;
+    const NMMetaPropertyInfo *const *properties;
+    guint                            properties_num;
+
+    /* a NMConnection has a main type (connection.type), which is a
+     * main NMSetting instance. Depending on the type, a connection
+     * may have a list of other allowed settings.
+     *
+     * For example, a connection of type "vlan" may have settings
+     * of type "connection", "vlan", and "wired".
+     *
+     * Some setting types a not a main type (NMSettingProxy). They
+     * don't have valid_settings but are usually referenced by other
+     * settings to be valid for them. */
+    const NMMetaSettingValidPartItem *const *valid_parts;
+
+    void (*setting_init_fcn)(const NMMetaSettingInfoEditor *setting_info,
+                             NMSetting *                    setting,
+                             NMMetaAccessorSettingInitType  init_type);
 };
 
 struct _NMMetaType {
-	NMObjBaseClass parent;
-	const char *type_name;
-	const char *(*get_name) (const NMMetaAbstractInfo *abstract_info,
-	                         gboolean for_header);
-	const NMMetaAbstractInfo *const*(*get_nested) (const NMMetaAbstractInfo *abstract_info,
-	                                               guint *out_len,
-	                                               gpointer *out_to_free);
-	gconstpointer (*get_fcn) (const NMMetaAbstractInfo *info,
-	                          const NMMetaEnvironment *environment,
-	                          gpointer environment_user_data,
-	                          gpointer target,
-	                          gpointer target_data,
-	                          NMMetaAccessorGetType get_type,
-	                          NMMetaAccessorGetFlags get_flags,
-	                          NMMetaAccessorGetOutFlags *out_flags,
-	                          gboolean *out_is_default,
-	                          gpointer *out_to_free);
-	const char *const*(*complete_fcn) (const NMMetaAbstractInfo *info,
-	                                   const NMMetaEnvironment *environment,
-	                                   gpointer environment_user_data,
-	                                   const NMMetaOperationContext *operation_context,
-	                                   const char *text,
-	                                   gboolean *out_complete_filename,
-	                                   char ***out_to_free);
+    NMObjBaseClass parent;
+    const char *   type_name;
+    const char *(*get_name)(const NMMetaAbstractInfo *abstract_info, gboolean for_header);
+    const NMMetaAbstractInfo *const *(*get_nested)(const NMMetaAbstractInfo *abstract_info,
+                                                   guint *                   out_len,
+                                                   gpointer *                out_to_free);
+    gconstpointer (*get_fcn)(const NMMetaAbstractInfo * info,
+                             const NMMetaEnvironment *  environment,
+                             gpointer                   environment_user_data,
+                             gpointer                   target,
+                             gpointer                   target_data,
+                             NMMetaAccessorGetType      get_type,
+                             NMMetaAccessorGetFlags     get_flags,
+                             NMMetaAccessorGetOutFlags *out_flags,
+                             gboolean *                 out_is_default,
+                             gpointer *                 out_to_free);
+    const char *const *(*complete_fcn)(const NMMetaAbstractInfo *    info,
+                                       const NMMetaEnvironment *     environment,
+                                       gpointer                      environment_user_data,
+                                       const NMMetaOperationContext *operation_context,
+                                       const char *                  text,
+                                       gboolean *                    out_complete_filename,
+                                       char ***                      out_to_free);
 };
 
 struct _NMMetaAbstractInfo {
-	union {
-		NMObjBaseInst parent;
-		const NMMetaType *meta_type;
-	};
+    union {
+        NMObjBaseInst     parent;
+        const NMMetaType *meta_type;
+    };
 };
 
 extern const NMMetaType nm_meta_type_setting_info_editor;
@@ -468,13 +473,15 @@ extern const NMMetaSettingInfoEditor nm_meta_setting_infos_editor[_NM_META_SETTI
 
 extern const NMMetaSettingValidPartItem *const nm_meta_setting_info_valid_parts_default[];
 
-const NMMetaSettingValidPartItem *const*nm_meta_setting_info_valid_parts_for_slave_type (const char *slave_type, const char **out_slave_name);
+const NMMetaSettingValidPartItem *const *
+nm_meta_setting_info_valid_parts_for_slave_type(const char * slave_type,
+                                                const char **out_slave_name);
 
 /*****************************************************************************/
 
 typedef enum {
-	NM_META_ENV_WARN_LEVEL_INFO,
-	NM_META_ENV_WARN_LEVEL_WARN,
+    NM_META_ENV_WARN_LEVEL_INFO,
+    NM_META_ENV_WARN_LEVEL_WARN,
 } NMMetaEnvWarnLevel;
 
 /* the settings-meta data is supposed to be independent of an actual client
@@ -482,21 +489,21 @@ typedef enum {
  * The meta-data handlers may call back to the environment with certain
  * actions. */
 struct _NMMetaEnvironment {
-
-	void (*warn_fcn) (const NMMetaEnvironment *environment,
-	                  gpointer environment_user_data,
-	                  NMMetaEnvWarnLevel warn_level,
-	                  const char *fmt_l10n, /* the untranslated format string, but it is marked for translation using N_(). */
-	                  va_list ap);
-
-	struct _NMDevice *const*(*get_nm_devices) (const NMMetaEnvironment *environment,
-	                                           gpointer environment_user_data,
-	                                           guint *out_len);
-
-	struct _NMRemoteConnection *const*(*get_nm_connections) (const NMMetaEnvironment *environment,
-	                                                         gpointer environment_user_data,
-	                                                         guint *out_len);
-
+    void (*warn_fcn)(
+        const NMMetaEnvironment *environment,
+        gpointer                 environment_user_data,
+        NMMetaEnvWarnLevel       warn_level,
+        const char *
+            fmt_l10n, /* the untranslated format string, but it is marked for translation using N_(). */
+        va_list ap);
+
+    struct _NMDevice *const *(*get_nm_devices)(const NMMetaEnvironment *environment,
+                                               gpointer                 environment_user_data,
+                                               guint *                  out_len);
+
+    struct _NMRemoteConnection *const *(*get_nm_connections)(const NMMetaEnvironment *environment,
+                                                             gpointer environment_user_data,
+                                                             guint *  out_len);
 };
 
 /*****************************************************************************/
@@ -507,27 +514,27 @@ struct _NMMetaEnvironment {
 
 extern const NMMetaType nm_meta_type_nested_property_info;
 
-struct _NMMetaNestedPropertyInfo  {
-	union {
-		const NMMetaType *meta_type;
-		NMMetaPropertyInfo base;
-	};
-	const NMMetaPropertyInfo *parent_info;
+struct _NMMetaNestedPropertyInfo {
+    union {
+        const NMMetaType * meta_type;
+        NMMetaPropertyInfo base;
+    };
+    const NMMetaPropertyInfo *parent_info;
 };
 
-struct _NMMetaPropertyTypDataNested  {
-	const NMMetaNestedPropertyInfo *nested;
-	guint nested_len;
+struct _NMMetaPropertyTypDataNested {
+    const NMMetaNestedPropertyInfo *nested;
+    guint                           nested_len;
 };
 
 extern const NMMetaPropertyTypDataNested nm_meta_property_typ_data_bond;
 
 /*****************************************************************************/
 
-gboolean _nm_meta_setting_bond_add_option (NMSetting *setting,
-                                           const char *name,
-                                           const char *value,
-                                           GError **error);
+gboolean _nm_meta_setting_bond_add_option(NMSetting * setting,
+                                          const char *name,
+                                          const char *value,
+                                          GError **   error);
 
 /*****************************************************************************/