diff options
| author | Michael Biebl <biebl@debian.org> | 2022-01-13 22:30:39 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2022-01-13 22:30:39 +0100 |
| commit | 88c227d90a6b7b388c5c85d72802a0ca8f05ed5c (patch) | |
| tree | 71f32df6617802270e8a78574bd8e1637dc532f4 /src/libnm-core-impl/nm-setting-tun.c | |
| parent | e74c568b07b50b97873fb4ee1d776dedefbd54d6 (diff) | |
New upstream version 1.34.0 upstream/1.34.0
Diffstat (limited to 'src/libnm-core-impl/nm-setting-tun.c')
| -rw-r--r-- | src/libnm-core-impl/nm-setting-tun.c | 198 |
1 files changed, 62 insertions, 136 deletions
diff --git a/src/libnm-core-impl/nm-setting-tun.c b/src/libnm-core-impl/nm-setting-tun.c index d75dcf80..c2694847 100644 --- a/src/libnm-core-impl/nm-setting-tun.c +++ b/src/libnm-core-impl/nm-setting-tun.c @@ -32,12 +32,12 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE(PROP_MODE, PROP_MULTI_QUEUE, ); typedef struct { - char * owner; - char * group; - NMSettingTunMode mode; - bool pi : 1; - bool vnet_hdr : 1; - bool multi_queue : 1; + char * owner; + char * group; + guint32 mode; + bool pi; + bool vnet_hdr; + bool multi_queue; } NMSettingTunPrivate; /** @@ -198,77 +198,8 @@ verify(NMSetting *setting, NMConnection *connection, GError **error) /*****************************************************************************/ static void -get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) -{ - NMSettingTun * setting = NM_SETTING_TUN(object); - NMSettingTunPrivate *priv = NM_SETTING_TUN_GET_PRIVATE(setting); - - switch (prop_id) { - case PROP_MODE: - g_value_set_uint(value, priv->mode); - break; - case PROP_OWNER: - g_value_set_string(value, priv->owner); - break; - case PROP_GROUP: - g_value_set_string(value, priv->group); - break; - case PROP_PI: - g_value_set_boolean(value, priv->pi); - break; - case PROP_VNET_HDR: - g_value_set_boolean(value, priv->vnet_hdr); - break; - case PROP_MULTI_QUEUE: - g_value_set_boolean(value, priv->multi_queue); - 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) -{ - NMSettingTun * setting = NM_SETTING_TUN(object); - NMSettingTunPrivate *priv = NM_SETTING_TUN_GET_PRIVATE(setting); - - switch (prop_id) { - case PROP_MODE: - priv->mode = g_value_get_uint(value); - break; - case PROP_OWNER: - g_free(priv->owner); - priv->owner = g_value_dup_string(value); - break; - case PROP_GROUP: - g_free(priv->group); - priv->group = g_value_dup_string(value); - break; - case PROP_PI: - priv->pi = g_value_get_boolean(value); - break; - case PROP_VNET_HDR: - priv->vnet_hdr = g_value_get_boolean(value); - break; - case PROP_MULTI_QUEUE: - priv->multi_queue = g_value_get_boolean(value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); - break; - } -} -/*****************************************************************************/ - -static void nm_setting_tun_init(NMSettingTun *self) -{ - NMSettingTunPrivate *priv = NM_SETTING_TUN_GET_PRIVATE(self); - - priv->mode = NM_SETTING_TUN_MODE_TUN; -} +{} /** * nm_setting_tun_new: @@ -286,18 +217,6 @@ nm_setting_tun_new(void) } static void -finalize(GObject *object) -{ - NMSettingTun * setting = NM_SETTING_TUN(object); - NMSettingTunPrivate *priv = NM_SETTING_TUN_GET_PRIVATE(setting); - - g_free(priv->owner); - g_free(priv->group); - - G_OBJECT_CLASS(nm_setting_tun_parent_class)->finalize(object); -} - -static void nm_setting_tun_class_init(NMSettingTunClass *klass) { GObjectClass * object_class = G_OBJECT_CLASS(klass); @@ -306,9 +225,8 @@ nm_setting_tun_class_init(NMSettingTunClass *klass) g_type_class_add_private(klass, sizeof(NMSettingTunPrivate)); - object_class->get_property = get_property; - object_class->set_property = set_property; - object_class->finalize = finalize; + object_class->get_property = _nm_setting_property_get_property_direct; + object_class->set_property = _nm_setting_property_set_property_direct; setting_class->verify = verify; @@ -322,14 +240,16 @@ nm_setting_tun_class_init(NMSettingTunClass *klass) * * Since: 1.2 */ - obj_properties[PROP_MODE] = - g_param_spec_uint(NM_SETTING_TUN_MODE, - "", - "", - 0, - G_MAXUINT, - NM_SETTING_TUN_MODE_TUN, - G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS); + _nm_setting_property_define_direct_uint32(properties_override, + obj_properties, + NM_SETTING_TUN_MODE, + PROP_MODE, + 0, + G_MAXUINT32, + NM_SETTING_TUN_MODE_TUN, + NM_SETTING_PARAM_INFERRABLE, + NMSettingTunPrivate, + mode); /** * NMSettingTun:owner: @@ -339,12 +259,13 @@ nm_setting_tun_class_init(NMSettingTunClass *klass) * * Since: 1.2 */ - obj_properties[PROP_OWNER] = g_param_spec_string(NM_SETTING_TUN_OWNER, - "", - "", - NULL, - G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE - | G_PARAM_STATIC_STRINGS); + _nm_setting_property_define_direct_string(properties_override, + obj_properties, + NM_SETTING_TUN_OWNER, + PROP_OWNER, + NM_SETTING_PARAM_INFERRABLE, + NMSettingTunPrivate, + owner); /** * NMSettingTun:group: @@ -354,12 +275,13 @@ nm_setting_tun_class_init(NMSettingTunClass *klass) * * Since: 1.2 */ - obj_properties[PROP_GROUP] = g_param_spec_string(NM_SETTING_TUN_GROUP, - "", - "", - NULL, - G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE - | G_PARAM_STATIC_STRINGS); + _nm_setting_property_define_direct_string(properties_override, + obj_properties, + NM_SETTING_TUN_GROUP, + PROP_GROUP, + NM_SETTING_PARAM_INFERRABLE, + NMSettingTunPrivate, + group); /** * NMSettingTun:pi: @@ -369,13 +291,14 @@ nm_setting_tun_class_init(NMSettingTunClass *klass) * * Since: 1.2 */ - _nm_setting_property_define_boolean(properties_override, - obj_properties, - NM_SETTING_TUN_PI, - PROP_PI, - FALSE, - NM_SETTING_PARAM_INFERRABLE, - nm_setting_tun_get_pi); + _nm_setting_property_define_direct_boolean(properties_override, + obj_properties, + NM_SETTING_TUN_PI, + PROP_PI, + FALSE, + NM_SETTING_PARAM_INFERRABLE, + NMSettingTunPrivate, + pi); /** * NMSettingTun:vnet-hdr: @@ -385,13 +308,14 @@ nm_setting_tun_class_init(NMSettingTunClass *klass) * * Since: 1.2 */ - _nm_setting_property_define_boolean(properties_override, - obj_properties, - NM_SETTING_TUN_VNET_HDR, - PROP_VNET_HDR, - FALSE, - NM_SETTING_PARAM_INFERRABLE, - nm_setting_tun_get_vnet_hdr); + _nm_setting_property_define_direct_boolean(properties_override, + obj_properties, + NM_SETTING_TUN_VNET_HDR, + PROP_VNET_HDR, + FALSE, + NM_SETTING_PARAM_INFERRABLE, + NMSettingTunPrivate, + vnet_hdr); /** * NMSettingTun:multi-queue: @@ -403,18 +327,20 @@ nm_setting_tun_class_init(NMSettingTunClass *klass) * * Since: 1.2 */ - _nm_setting_property_define_boolean(properties_override, - obj_properties, - NM_SETTING_TUN_MULTI_QUEUE, - PROP_MULTI_QUEUE, - FALSE, - NM_SETTING_PARAM_INFERRABLE, - nm_setting_tun_get_multi_queue); + _nm_setting_property_define_direct_boolean(properties_override, + obj_properties, + NM_SETTING_TUN_MULTI_QUEUE, + PROP_MULTI_QUEUE, + FALSE, + NM_SETTING_PARAM_INFERRABLE, + NMSettingTunPrivate, + multi_queue); g_object_class_install_properties(object_class, _PROPERTY_ENUMS_LAST, obj_properties); - _nm_setting_class_commit_full(setting_class, - NM_META_SETTING_TYPE_TUN, - NULL, - properties_override); + _nm_setting_class_commit(setting_class, + NM_META_SETTING_TYPE_TUN, + NULL, + properties_override, + NM_SETT_INFO_PRIVATE_OFFSET_FROM_CLASS); } |