diff options
author | Thomas Haller <thaller@redhat.com> | 2017-05-21 14:45:09 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-05-23 13:37:10 +0200 |
commit | 772225f8cf0bbc3ad56e0d01b5dee1b413465489 (patch) | |
tree | f98e4e4f39d739b05c0abeebda034404c53b965c | |
parent | c55561d3039138a2857b67d3f651ed8f0c553d9b (diff) | |
download | NetworkManager-772225f8cf0bbc3ad56e0d01b5dee1b413465489.tar.gz |
clients: implement ip-tunnel.mode property as enum
-rw-r--r-- | clients/common/nm-meta-setting-desc.c | 57 |
1 files changed, 9 insertions, 48 deletions
diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c index f7c1da76aa..cba64c2c78 100644 --- a/clients/common/nm-meta-setting-desc.c +++ b/clients/common/nm-meta-setting-desc.c @@ -2934,45 +2934,6 @@ _get_fcn_infiniband_p_key (ARGS_GET_FCN) } static gconstpointer -_get_fcn_ip_tunnel_mode (ARGS_GET_FCN) -{ - NMSettingIPTunnel *s_ip_tunnel = NM_SETTING_IP_TUNNEL (setting); - NMIPTunnelMode mode; - - RETURN_UNSUPPORTED_GET_TYPE (); - - mode = nm_setting_ip_tunnel_get_mode (s_ip_tunnel); - RETURN_STR_TO_FREE (nm_utils_enum_to_str (nm_ip_tunnel_mode_get_type (), mode)); -} - -static gboolean -_set_fcn_ip_tunnel_mode (ARGS_SET_FCN) -{ - NMIPTunnelMode mode; - gboolean ret; - - ret = nm_utils_enum_from_str (nm_ip_tunnel_mode_get_type(), value, - (int *) &mode, NULL); - - if (!ret) { - gs_free const char **values = NULL; - gs_free char *values_str = NULL; - - values = nm_utils_enum_get_values (nm_ip_tunnel_mode_get_type (), - NM_IP_TUNNEL_MODE_UNKNOWN + 1, - G_MAXINT); - values_str = g_strjoinv (",", (char **) values); - g_set_error (error, 1, 0, _("invalid mode '%s', use one of %s"), - value, values_str); - - return FALSE; - } - - g_object_set (setting, property_info->property_name, mode, NULL); - return TRUE; -} - -static gconstpointer _get_fcn_ip_config_addresses (ARGS_GET_FCN) { NMSettingIPConfig *s_ip = NM_SETTING_IP_CONFIG (setting); @@ -5724,15 +5685,15 @@ static const NMMetaPropertyInfo *const property_infos_IP_TUNNEL[] = { .property_alias = "mode", .inf_flags = NM_META_PROPERTY_INF_FLAG_REQD, .prompt = NM_META_TEXT_PROMPT_IP_TUNNEL_MODE, - .property_type = DEFINE_PROPERTY_TYPE ( - .get_fcn = _get_fcn_ip_tunnel_mode, - .set_fcn = _set_fcn_ip_tunnel_mode, - .values_fcn = _values_fcn_gobject_enum, - ), - .property_typ_data = DEFINE_PROPERTY_TYP_DATA_SUBTYPE (gobject_enum, - .get_gtype = nm_ip_tunnel_mode_get_type, - .min = NM_IP_TUNNEL_MODE_UNKNOWN + 1, - .max = G_MAXINT, + .property_type = &_pt_gobject_enum, + .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( + PROPERTY_TYP_DATA_SUBTYPE (gobject_enum, + .get_gtype = nm_ip_tunnel_mode_get_type, + .min = NM_IP_TUNNEL_MODE_UNKNOWN + 1, + .max = G_MAXINT, + ), + .typ_flags = NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PARSABLE_TEXT + | NM_META_PROPERTY_TYP_FLAG_ENUM_GET_PRETTY_TEXT, ), ), PROPERTY_INFO_WITH_DESC (NM_SETTING_IP_TUNNEL_PARENT, |