clients: implement macsec.validation property as enum

This commit is contained in:
Thomas Haller
2017-05-21 14:47:54 +02:00
parent ebdc7a6ce7
commit bd180e489d

View File

@@ -3608,39 +3608,6 @@ _set_fcn_macsec_mode (ARGS_SET_FCN)
return TRUE;
}
static gconstpointer
_get_fcn_macsec_validation (ARGS_GET_FCN)
{
NMSettingMacsec *s_macsec = NM_SETTING_MACSEC (setting);
NMSettingMacsecValidation validation;
RETURN_UNSUPPORTED_GET_TYPE ();
validation = nm_setting_macsec_get_validation (s_macsec);
RETURN_STR_TO_FREE (nm_utils_enum_to_str (nm_setting_macsec_validation_get_type (), validation));
}
static gboolean
_set_fcn_macsec_validation (ARGS_SET_FCN)
{
NMSettingMacsecMode validation;
gs_free char *options = NULL;
if (!nm_utils_enum_from_str (nm_setting_macsec_validation_get_type (), value,
(int *) &validation, NULL)) {
options = g_strjoinv (",",
(char **) nm_utils_enum_get_values (nm_setting_macsec_validation_get_type (),
G_MININT,
G_MAXINT));
g_set_error (error, 1, 0, _("invalid option '%s', use one of [%s]"),
value, options);
return FALSE;
}
g_object_set (setting, property_info->property_name, validation, NULL);
return TRUE;
}
static gconstpointer
_get_fcn_olpc_mesh_ssid (ARGS_GET_FCN)
{
@@ -5757,14 +5724,14 @@ static const NMMetaPropertyInfo *const property_infos_MACSEC[] = {
.property_type = &_pt_gobject_int,
),
PROPERTY_INFO_WITH_DESC (NM_SETTING_MACSEC_VALIDATION,
.property_type = DEFINE_PROPERTY_TYPE (
.get_fcn = _get_fcn_macsec_validation,
.set_fcn = _set_fcn_macsec_validation,
.values_fcn = _values_fcn_gobject_enum,
),
.property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_enum,
.property_type = &_pt_gobject_enum,
.property_typ_data = DEFINE_PROPERTY_TYP_DATA (
PROPERTY_TYP_DATA_SUBTYPE (gobject_enum,
.get_gtype = nm_setting_macsec_validation_get_type,
),
.typ_flags = NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_TEXT
| NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT,
),
),
NULL
};