summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-12-28 10:50:05 +0100
committerThomas Haller <thaller@redhat.com>2021-12-28 21:15:27 +0100
commitc4d6d3b3a9404e04b90200859663ff5aae66ae3a (patch)
tree2b4349aad4bb38f75e4c5fef864c634ff38900b3
parentf683b2e4ea084c7e2197570c7a21c98988355be8 (diff)
libnm: refactor some NMSetting to use direct properties for uint32th/libnm-settings-properties-3
-rw-r--r--src/libnm-core-impl/nm-setting-gsm.c24
-rw-r--r--src/libnm-core-impl/nm-setting-ip-config.c33
-rw-r--r--src/libnm-core-impl/nm-setting-private.h2
-rw-r--r--src/libnm-core-impl/nm-setting-sriov.c26
-rw-r--r--src/libnm-core-impl/nm-setting-wired.c110
-rw-r--r--src/libnm-core-impl/nm-setting-wireless.c71
6 files changed, 119 insertions, 147 deletions
diff --git a/src/libnm-core-impl/nm-setting-gsm.c b/src/libnm-core-impl/nm-setting-gsm.c
index 8e53ec7b7d..fe1e6c6e85 100644
--- a/src/libnm-core-impl/nm-setting-gsm.c
+++ b/src/libnm-core-impl/nm-setting-gsm.c
@@ -519,9 +519,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
case PROP_SIM_OPERATOR_ID:
g_value_set_string(value, nm_setting_gsm_get_sim_operator_id(setting));
break;
- case PROP_MTU:
- g_value_set_uint(value, nm_setting_gsm_get_mtu(setting));
- break;
default:
_nm_setting_property_get_property_direct(object, prop_id, value, pspec);
break;
@@ -583,9 +580,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
g_free(priv->sim_operator_id);
priv->sim_operator_id = g_value_dup_string(value);
break;
- case PROP_MTU:
- priv->mtu = g_value_get_uint(value);
- break;
default:
_nm_setting_property_set_property_direct(object, prop_id, value, pspec);
break;
@@ -848,14 +842,16 @@ nm_setting_gsm_class_init(NMSettingGsmClass *klass)
*
* Since: 1.8
**/
- obj_properties[PROP_MTU] = g_param_spec_uint(NM_SETTING_GSM_MTU,
- "",
- "",
- 0,
- G_MAXUINT32,
- 0,
- G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE
- | G_PARAM_STATIC_STRINGS);
+ _nm_setting_property_define_direct_uint32(properties_override,
+ obj_properties,
+ NM_SETTING_GSM_MTU,
+ PROP_MTU,
+ 0,
+ G_MAXUINT32,
+ 0,
+ NM_SETTING_PARAM_FUZZY_IGNORE,
+ NMSettingGsmPrivate,
+ mtu);
/* Ignore incoming deprecated properties */
_nm_properties_override_dbus(properties_override,
diff --git a/src/libnm-core-impl/nm-setting-ip-config.c b/src/libnm-core-impl/nm-setting-ip-config.c
index 5bc6595812..1e4c340dfa 100644
--- a/src/libnm-core-impl/nm-setting-ip-config.c
+++ b/src/libnm-core-impl/nm-setting-ip-config.c
@@ -5555,9 +5555,10 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
return FALSE;
}
- if (!_nm_utils_validate_dhcp_hostname_flags(priv->dhcp_hostname_flags,
- NM_SETTING_IP_CONFIG_GET_FAMILY(setting),
- error)) {
+ if (priv->dhcp_hostname_flags != (NMDhcpHostnameFlags) priv->dhcp_hostname_flags
+ || !_nm_utils_validate_dhcp_hostname_flags(priv->dhcp_hostname_flags,
+ NM_SETTING_IP_CONFIG_GET_FAMILY(setting),
+ error)) {
g_prefix_error(error,
"%s.%s: ",
nm_setting_get_name(setting),
@@ -5826,6 +5827,13 @@ _nm_sett_info_property_override_create_array_ip_config(int addr_family)
_nm_properties_override_gobj(
properties_override,
+ obj_properties[PROP_ROUTE_TABLE],
+ &nm_sett_info_propert_type_direct_uint32,
+ .direct_offset =
+ NM_STRUCT_OFFSET_ENSURE_TYPE(guint32, NMSettingIPConfigPrivate, route_table));
+
+ _nm_properties_override_gobj(
+ properties_override,
obj_properties[PROP_IGNORE_AUTO_DNS],
&nm_sett_info_propert_type_direct_boolean,
.direct_offset =
@@ -5868,6 +5876,13 @@ _nm_sett_info_property_override_create_array_ip_config(int addr_family)
_nm_properties_override_gobj(
properties_override,
+ obj_properties[PROP_DHCP_HOSTNAME_FLAGS],
+ &nm_sett_info_propert_type_direct_uint32,
+ .direct_offset =
+ NM_STRUCT_OFFSET_ENSURE_TYPE(guint32, NMSettingIPConfigPrivate, dhcp_hostname_flags));
+
+ _nm_properties_override_gobj(
+ properties_override,
obj_properties[PROP_NEVER_DEFAULT],
&nm_sett_info_propert_type_direct_boolean,
.direct_offset =
@@ -5923,9 +5938,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
case PROP_ROUTE_METRIC:
g_value_set_int64(value, priv->route_metric);
break;
- case PROP_ROUTE_TABLE:
- g_value_set_uint(value, priv->route_table);
- break;
case PROP_IGNORE_AUTO_ROUTES:
g_value_set_boolean(value, nm_setting_ip_config_get_ignore_auto_routes(setting));
break;
@@ -5947,9 +5959,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
case PROP_DHCP_IAID:
g_value_set_string(value, nm_setting_ip_config_get_dhcp_iaid(setting));
break;
- case PROP_DHCP_HOSTNAME_FLAGS:
- g_value_set_uint(value, nm_setting_ip_config_get_dhcp_hostname_flags(setting));
- break;
case PROP_DHCP_REJECT_SERVERS:
g_value_set_boxed(value, nm_strvarray_get_strv_non_empty(priv->dhcp_reject_servers, NULL));
break;
@@ -6020,9 +6029,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
case PROP_ROUTE_METRIC:
priv->route_metric = g_value_get_int64(value);
break;
- case PROP_ROUTE_TABLE:
- priv->route_table = g_value_get_uint(value);
- break;
case PROP_IGNORE_AUTO_ROUTES:
priv->ignore_auto_routes = g_value_get_boolean(value);
break;
@@ -6046,9 +6052,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
g_free(priv->dhcp_iaid);
priv->dhcp_iaid = g_value_dup_string(value);
break;
- case PROP_DHCP_HOSTNAME_FLAGS:
- priv->dhcp_hostname_flags = g_value_get_uint(value);
- break;
case PROP_DHCP_REJECT_SERVERS:
nm_strvarray_set_strv(&priv->dhcp_reject_servers, g_value_get_boxed(value));
break;
diff --git a/src/libnm-core-impl/nm-setting-private.h b/src/libnm-core-impl/nm-setting-private.h
index 8ea0b4c2d4..342983076d 100644
--- a/src/libnm-core-impl/nm-setting-private.h
+++ b/src/libnm-core-impl/nm-setting-private.h
@@ -140,12 +140,12 @@ typedef struct {
char *dhcp_hostname;
char *dhcp_iaid;
gint64 route_metric;
- guint dhcp_hostname_flags;
gint32 required_timeout;
gint32 dad_timeout;
gint32 dhcp_timeout;
gint32 dns_priority;
guint32 route_table;
+ guint32 dhcp_hostname_flags;
bool ignore_auto_routes;
bool ignore_auto_dns;
bool dhcp_send_hostname;
diff --git a/src/libnm-core-impl/nm-setting-sriov.c b/src/libnm-core-impl/nm-setting-sriov.c
index c9195255de..3875992d08 100644
--- a/src/libnm-core-impl/nm-setting-sriov.c
+++ b/src/libnm-core-impl/nm-setting-sriov.c
@@ -30,8 +30,8 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMSettingSriov, PROP_TOTAL_VFS, PROP_VFS, PROP_AUTO
struct _NMSettingSriov {
NMSetting parent;
GPtrArray *vfs;
- guint total_vfs;
int autoprobe_drivers;
+ guint32 total_vfs;
};
struct _NMSettingSriovClass {
@@ -1138,9 +1138,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
NMSettingSriov *self = NM_SETTING_SRIOV(object);
switch (prop_id) {
- case PROP_TOTAL_VFS:
- g_value_set_uint(value, self->total_vfs);
- break;
case PROP_VFS:
g_value_take_boxed(value,
_nm_utils_copy_array(self->vfs,
@@ -1159,9 +1156,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
NMSettingSriov *self = NM_SETTING_SRIOV(object);
switch (prop_id) {
- case PROP_TOTAL_VFS:
- self->total_vfs = g_value_get_uint(value);
- break;
case PROP_VFS:
g_ptr_array_unref(self->vfs);
self->vfs = _nm_utils_copy_array(g_value_get_boxed(value),
@@ -1240,14 +1234,16 @@ nm_setting_sriov_class_init(NMSettingSriovClass *klass)
* example: SRIOV_TOTAL_VFS=16
* ---end---
*/
- obj_properties[PROP_TOTAL_VFS] = g_param_spec_uint(
- NM_SETTING_SRIOV_TOTAL_VFS,
- "",
- "",
- 0,
- G_MAXUINT32,
- 0,
- NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ _nm_setting_property_define_direct_uint32(properties_override,
+ obj_properties,
+ NM_SETTING_SRIOV_TOTAL_VFS,
+ PROP_TOTAL_VFS,
+ 0,
+ G_MAXUINT32,
+ 0,
+ NM_SETTING_PARAM_FUZZY_IGNORE,
+ NMSettingSriov,
+ total_vfs);
/**
* NMSettingSriov:vfs: (type GPtrArray(NMSriovVF))
diff --git a/src/libnm-core-impl/nm-setting-wired.c b/src/libnm-core-impl/nm-setting-wired.c
index 262ce66a91..6e443ab493 100644
--- a/src/libnm-core-impl/nm-setting-wired.c
+++ b/src/libnm-core-impl/nm-setting-wired.c
@@ -53,20 +53,20 @@ typedef struct {
guint len;
guint n_alloc;
} s390_options;
- GArray *mac_address_blacklist;
- char **s390_subchannels;
- char *port;
- char *duplex;
- char *device_mac_address;
- char *cloned_mac_address;
- char *generate_mac_address_mask;
- char *s390_nettype;
- char *wol_password;
- int accept_all_mac_addresses;
- NMSettingWiredWakeOnLan wol;
- guint32 speed;
- guint32 mtu;
- bool auto_negotiate;
+ GArray *mac_address_blacklist;
+ char **s390_subchannels;
+ char *port;
+ char *duplex;
+ char *device_mac_address;
+ char *cloned_mac_address;
+ char *generate_mac_address_mask;
+ char *s390_nettype;
+ char *wol_password;
+ int accept_all_mac_addresses;
+ guint32 wake_on_lan;
+ guint32 speed;
+ guint32 mtu;
+ bool auto_negotiate;
} NMSettingWiredPrivate;
/**
@@ -731,7 +731,7 @@ nm_setting_wired_get_wake_on_lan(NMSettingWired *setting)
{
g_return_val_if_fail(NM_IS_SETTING_WIRED(setting), NM_SETTING_WIRED_WAKE_ON_LAN_NONE);
- return NM_SETTING_WIRED_GET_PRIVATE(setting)->wol;
+ return NM_SETTING_WIRED_GET_PRIVATE(setting)->wake_on_lan;
}
/**
@@ -919,8 +919,8 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
return FALSE;
}
- if (NM_FLAGS_ANY(priv->wol, NM_SETTING_WIRED_WAKE_ON_LAN_EXCLUSIVE_FLAGS)
- && !nm_utils_is_power_of_two(priv->wol)) {
+ if (NM_FLAGS_ANY(priv->wake_on_lan, NM_SETTING_WIRED_WAKE_ON_LAN_EXCLUSIVE_FLAGS)
+ && !nm_utils_is_power_of_two(priv->wake_on_lan)) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
@@ -932,7 +932,8 @@ verify(NMSetting *setting, NMConnection *connection, GError **error)
return FALSE;
}
- if (priv->wol_password && !NM_FLAGS_HAS(priv->wol, NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC)) {
+ if (priv->wol_password
+ && !NM_FLAGS_HAS(priv->wake_on_lan, NM_SETTING_WIRED_WAKE_ON_LAN_MAGIC)) {
g_set_error_literal(error,
NM_CONNECTION_ERROR,
NM_CONNECTION_ERROR_INVALID_PROPERTY,
@@ -1005,9 +1006,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
case PROP_PORT:
g_value_set_string(value, nm_setting_wired_get_port(setting));
break;
- case PROP_SPEED:
- g_value_set_uint(value, nm_setting_wired_get_speed(setting));
- break;
case PROP_DUPLEX:
g_value_set_string(value, nm_setting_wired_get_duplex(setting));
break;
@@ -1026,9 +1024,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
case PROP_MAC_ADDRESS_BLACKLIST:
g_value_set_boxed(value, (char **) priv->mac_address_blacklist->data);
break;
- case PROP_MTU:
- g_value_set_uint(value, nm_setting_wired_get_mtu(setting));
- break;
case PROP_S390_SUBCHANNELS:
g_value_set_boxed(value, priv->s390_subchannels);
break;
@@ -1044,9 +1039,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
}
g_value_take_boxed(value, hash);
break;
- case PROP_WAKE_ON_LAN:
- g_value_set_uint(value, priv->wol);
- break;
case PROP_WAKE_ON_LAN_PASSWORD:
g_value_set_string(value, priv->wol_password);
break;
@@ -1068,9 +1060,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
g_free(priv->port);
priv->port = g_value_dup_string(value);
break;
- case PROP_SPEED:
- priv->speed = g_value_get_uint(value);
- break;
case PROP_DUPLEX:
g_free(priv->duplex);
priv->duplex = g_value_dup_string(value);
@@ -1104,9 +1093,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
}
}
break;
- case PROP_MTU:
- priv->mtu = g_value_get_uint(value);
- break;
case PROP_S390_SUBCHANNELS:
if (priv->s390_subchannels)
g_strfreev(priv->s390_subchannels);
@@ -1178,9 +1164,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
g_return_if_fail(!invalid_content);
}
} break;
- case PROP_WAKE_ON_LAN:
- priv->wol = g_value_get_uint(value);
- break;
case PROP_WAKE_ON_LAN_PASSWORD:
g_free(priv->wol_password);
priv->wol_password = g_value_dup_string(value);
@@ -1201,8 +1184,6 @@ nm_setting_wired_init(NMSettingWired *setting)
/* We use GArray rather than GPtrArray so it will automatically be NULL-terminated */
priv->mac_address_blacklist = g_array_new(TRUE, FALSE, sizeof(char *));
g_array_set_clear_func(priv->mac_address_blacklist, (GDestroyNotify) clear_blacklist_item);
-
- priv->wol = NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT;
}
/**
@@ -1295,13 +1276,16 @@ nm_setting_wired_class_init(NMSettingWiredClass *klass)
* parameter in the ETHTOOL_OPTS variable.
* ---end---
*/
- obj_properties[PROP_SPEED] = g_param_spec_uint(NM_SETTING_WIRED_SPEED,
- "",
- "",
- 0,
- G_MAXUINT32,
- 0,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ _nm_setting_property_define_direct_uint32(properties_override,
+ obj_properties,
+ NM_SETTING_WIRED_SPEED,
+ PROP_SPEED,
+ 0,
+ G_MAXUINT32,
+ 0,
+ NM_SETTING_PARAM_NONE,
+ NMSettingWiredPrivate,
+ speed);
/**
* NMSettingWired:duplex:
@@ -1559,14 +1543,16 @@ nm_setting_wired_class_init(NMSettingWiredClass *klass)
* description: MTU of the interface.
* ---end---
*/
- obj_properties[PROP_MTU] = g_param_spec_uint(NM_SETTING_WIRED_MTU,
- "",
- "",
- 0,
- G_MAXUINT32,
- 0,
- G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE
- | G_PARAM_STATIC_STRINGS);
+ _nm_setting_property_define_direct_uint32(properties_override,
+ obj_properties,
+ NM_SETTING_WIRED_MTU,
+ PROP_MTU,
+ 0,
+ G_MAXUINT32,
+ 0,
+ NM_SETTING_PARAM_FUZZY_IGNORE,
+ NMSettingWiredPrivate,
+ mtu);
/**
* NMSettingWired:s390-subchannels:
@@ -1667,14 +1653,16 @@ nm_setting_wired_class_init(NMSettingWiredClass *klass)
* in the ethtool manual page.
* ---end---
*/
- obj_properties[PROP_WAKE_ON_LAN] =
- g_param_spec_uint(NM_SETTING_WIRED_WAKE_ON_LAN,
- "",
- "",
- 0,
- G_MAXUINT32,
- NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ _nm_setting_property_define_direct_uint32(properties_override,
+ obj_properties,
+ NM_SETTING_WIRED_WAKE_ON_LAN,
+ PROP_WAKE_ON_LAN,
+ 0,
+ G_MAXUINT32,
+ NM_SETTING_WIRED_WAKE_ON_LAN_DEFAULT,
+ NM_SETTING_PARAM_NONE,
+ NMSettingWiredPrivate,
+ wake_on_lan);
/**
* NMSettingWired:wake-on-lan-password:
diff --git a/src/libnm-core-impl/nm-setting-wireless.c b/src/libnm-core-impl/nm-setting-wireless.c
index 8d183ac1af..a2f8b2a4be 100644
--- a/src/libnm-core-impl/nm-setting-wireless.c
+++ b/src/libnm-core-impl/nm-setting-wireless.c
@@ -1162,15 +1162,6 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
case PROP_BAND:
g_value_set_string(value, nm_setting_wireless_get_band(setting));
break;
- case PROP_CHANNEL:
- g_value_set_uint(value, nm_setting_wireless_get_channel(setting));
- break;
- case PROP_RATE:
- g_value_set_uint(value, nm_setting_wireless_get_rate(setting));
- break;
- case PROP_TX_POWER:
- g_value_set_uint(value, nm_setting_wireless_get_tx_power(setting));
- break;
case PROP_CLONED_MAC_ADDRESS:
g_value_set_string(value, nm_setting_wireless_get_cloned_mac_address(setting));
break;
@@ -1222,15 +1213,6 @@ set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *ps
g_free(priv->band);
priv->band = g_value_dup_string(value);
break;
- case PROP_CHANNEL:
- priv->channel = g_value_get_uint(value);
- break;
- case PROP_RATE:
- priv->rate = g_value_get_uint(value);
- break;
- case PROP_TX_POWER:
- priv->tx_power = g_value_get_uint(value);
- break;
case PROP_CLONED_MAC_ADDRESS:
bool_val = !!priv->cloned_mac_address;
g_free(priv->cloned_mac_address);
@@ -1442,13 +1424,16 @@ nm_setting_wireless_class_init(NMSettingWirelessClass *klass)
* example: CHANNEL=6
* ---end---
*/
- obj_properties[PROP_CHANNEL] = g_param_spec_uint(NM_SETTING_WIRELESS_CHANNEL,
- "",
- "",
- 0,
- G_MAXUINT32,
- 0,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ _nm_setting_property_define_direct_uint32(properties_override,
+ obj_properties,
+ NM_SETTING_WIRELESS_CHANNEL,
+ PROP_CHANNEL,
+ 0,
+ G_MAXUINT32,
+ 0,
+ NM_SETTING_PARAM_NONE,
+ NMSettingWirelessPrivate,
+ channel);
/**
* NMSettingWireless:bssid:
@@ -1488,14 +1473,16 @@ nm_setting_wireless_class_init(NMSettingWirelessClass *klass)
* description: This property is not handled by ifcfg-rh plugin.
* ---end---
*/
- obj_properties[PROP_RATE] = g_param_spec_uint(NM_SETTING_WIRELESS_RATE,
- "",
- "",
- 0,
- G_MAXUINT32,
- 0,
- G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE
- | G_PARAM_STATIC_STRINGS);
+ _nm_setting_property_define_direct_uint32(properties_override,
+ obj_properties,
+ NM_SETTING_WIRELESS_RATE,
+ PROP_RATE,
+ 0,
+ G_MAXUINT32,
+ 0,
+ NM_SETTING_PARAM_FUZZY_IGNORE,
+ NMSettingWirelessPrivate,
+ rate);
/**
* NMSettingWireless:tx-power:
@@ -1510,14 +1497,16 @@ nm_setting_wireless_class_init(NMSettingWirelessClass *klass)
* description: This property is not handled by ifcfg-rh plugin.
* ---end---
*/
- obj_properties[PROP_TX_POWER] = g_param_spec_uint(
- NM_SETTING_WIRELESS_TX_POWER,
- "",
- "",
- 0,
- G_MAXUINT32,
- 0,
- G_PARAM_READWRITE | NM_SETTING_PARAM_FUZZY_IGNORE | G_PARAM_STATIC_STRINGS);
+ _nm_setting_property_define_direct_uint32(properties_override,
+ obj_properties,
+ NM_SETTING_WIRELESS_TX_POWER,
+ PROP_TX_POWER,
+ 0,
+ G_MAXUINT32,
+ 0,
+ NM_SETTING_PARAM_FUZZY_IGNORE,
+ NMSettingWirelessPrivate,
+ tx_power);
/**
* NMSettingWireless:mac-address: