summary refs log tree commit diff
path: root/src/libnm-core-impl/nm-setting-wireless-security.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-core-impl/nm-setting-wireless-security.c')
-rw-r--r--src/libnm-core-impl/nm-setting-wireless-security.c43
1 files changed, 27 insertions, 16 deletions
diff --git a/src/libnm-core-impl/nm-setting-wireless-security.c b/src/libnm-core-impl/nm-setting-wireless-security.c
index 9e3c8d81..0bfc30c8 100644
--- a/src/libnm-core-impl/nm-setting-wireless-security.c
+++ b/src/libnm-core-impl/nm-setting-wireless-security.c
@@ -1290,13 +1290,19 @@ set_secret_flags(NMSetting *          setting,
         ->set_secret_flags(setting, secret_name, flags, error);
 }
 
-/* NMSettingWirelessSecurity:wep-key-type is an enum, but needs to be marshalled
- * as 'u', not 'i', for backward-compatibility.
- */
 static GVariant *
-wep_key_type_to_dbus(const GValue *from)
+wep_key_type_to_dbus(_NM_SETT_INFO_PROP_TO_DBUS_FCN_ARGS _nm_nil)
 {
-    return g_variant_new_uint32(g_value_get_enum(from));
+    NMWepKeyType t;
+
+    t = nm_setting_wireless_security_get_wep_key_type(NM_SETTING_WIRELESS_SECURITY(setting));
+    if (t == NM_WEP_KEY_TYPE_UNKNOWN)
+        return NULL;
+
+    /* NMSettingWirelessSecurity:wep-key-type is an enum, but needs to be marshalled
+     * as 'u', not 'i', for backward-compatibility.
+     */
+    return g_variant_new_uint32(t);
 }
 
 /*****************************************************************************/
@@ -1397,15 +1403,15 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
         break;
     case PROP_PROTO:
         g_slist_free_full(priv->proto, g_free);
-        priv->proto = _nm_utils_strv_to_slist(g_value_get_boxed(value), TRUE);
+        priv->proto = nm_strv_to_gslist(g_value_get_boxed(value), TRUE);
         break;
     case PROP_PAIRWISE:
         g_slist_free_full(priv->pairwise, g_free);
-        priv->pairwise = _nm_utils_strv_to_slist(g_value_get_boxed(value), TRUE);
+        priv->pairwise = nm_strv_to_gslist(g_value_get_boxed(value), TRUE);
         break;
     case PROP_GROUP:
         g_slist_free_full(priv->group, g_free);
-        priv->group = _nm_utils_strv_to_slist(g_value_get_boxed(value), TRUE);
+        priv->group = nm_strv_to_gslist(g_value_get_boxed(value), TRUE);
         break;
     case PROP_PMF:
         priv->pmf = g_value_get_int(value);
@@ -1924,10 +1930,14 @@ nm_setting_wireless_security_class_init(NMSettingWirelessSecurityClass *klass)
                           NM_TYPE_WEP_KEY_TYPE,
                           NM_WEP_KEY_TYPE_UNKNOWN,
                           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
-    _nm_properties_override_gobj(properties_override,
-                                 obj_properties[PROP_WEP_KEY_TYPE],
-                                 &nm_sett_info_propert_type_plain_u,
-                                 .to_dbus_data.gprop_to_dbus_fcn = wep_key_type_to_dbus, );
+    _nm_properties_override_gobj(
+        properties_override,
+        obj_properties[PROP_WEP_KEY_TYPE],
+        NM_SETT_INFO_PROPERT_TYPE_DBUS(G_VARIANT_TYPE_UINT32,
+                                       .to_dbus_fcn   = wep_key_type_to_dbus,
+                                       .compare_fcn   = _nm_setting_property_compare_fcn_default,
+                                       .from_dbus_fcn = _nm_setting_property_from_dbus_fcn_gprop,
+                                       .from_dbus_is_full = TRUE));
 
     /**
      * NMSettingWirelessSecurity:wps-method:
@@ -1993,8 +2003,9 @@ nm_setting_wireless_security_class_init(NMSettingWirelessSecurityClass *klass)
 
     g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties);
 
-    _nm_setting_class_commit_full(setting_class,
-                                  NM_META_SETTING_TYPE_WIRELESS_SECURITY,
-                                  NULL,
-                                  properties_override);
+    _nm_setting_class_commit(setting_class,
+                             NM_META_SETTING_TYPE_WIRELESS_SECURITY,
+                             NULL,
+                             properties_override,
+                             NM_SETT_INFO_PRIVATE_OFFSET_FROM_CLASS);
 }