diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h index 4493a47d85..252c61d64e 100644 --- a/libnm-core/nm-core-internal.h +++ b/libnm-core/nm-core-internal.h @@ -322,9 +322,6 @@ guint _nm_setting_option_get_all (NMSetting *setting, const char *const**out_names, GVariant *const**out_values); -GVariant *_nm_setting_option_get (NMSetting *setting, - const char *name); - const char *const*_nm_setting_option_get_all_names (NMSetting *setting, guint *out_len); diff --git a/libnm-core/nm-setting-ethtool.c b/libnm-core/nm-setting-ethtool.c index 664b7d4d63..de7bded5f2 100644 --- a/libnm-core/nm-setting-ethtool.c +++ b/libnm-core/nm-setting-ethtool.c @@ -145,7 +145,7 @@ nm_setting_ethtool_get_feature (NMSettingEthtool *setting, g_return_val_if_fail (NM_IS_SETTING_ETHTOOL (setting), NM_TERNARY_DEFAULT); g_return_val_if_fail (optname && nm_ethtool_optname_is_feature (optname), NM_TERNARY_DEFAULT); - v = _nm_setting_option_get (NM_SETTING (setting), optname); + v = nm_setting_option_get (NM_SETTING (setting), optname); if ( v && g_variant_is_of_type (v, G_VARIANT_TYPE_BOOLEAN)) { return g_variant_get_boolean (v) diff --git a/libnm-core/nm-setting.c b/libnm-core/nm-setting.c index c7cab45d29..efd81c7b8a 100644 --- a/libnm-core/nm-setting.c +++ b/libnm-core/nm-setting.c @@ -2433,19 +2433,6 @@ out: _nm_setting_emit_property_changed (setting); } -GVariant * -_nm_setting_option_get (NMSetting *setting, - const char *name) -{ - GenData *gendata; - - g_return_val_if_fail (NM_IS_SETTING (setting), NULL); - g_return_val_if_fail (name, NULL); - - gendata = _gendata_hash (setting, FALSE); - return gendata ? g_hash_table_lookup (gendata->hash, name) : NULL; -} - guint _nm_setting_option_get_all (NMSetting *setting, const char *const**out_names, @@ -2534,7 +2521,7 @@ _nm_setting_option_get_uint32 (NMSetting *setting, nm_assert (NM_IS_SETTING (setting)); nm_assert (nm_str_not_empty (optname)); - v = _nm_setting_option_get (setting, optname); + v = nm_setting_option_get (setting, optname); if ( v && g_variant_is_of_type (v, G_VARIANT_TYPE_UINT32)) { NM_SET_OUT (out_value, g_variant_get_uint32 (v)); @@ -2601,6 +2588,31 @@ _nm_setting_option_clear_all (NMSetting *setting, /*****************************************************************************/ +/** + * nm_setting_option_get: + * @setting: the #NMSetting + * @opt_name: the option name to request. + * + * Returns: (transfer none): the #GVariant or %NULL if the option + * is not set. + * + * Since: 1.26. + */ +GVariant * +nm_setting_option_get (NMSetting *setting, + const char *opt_name) +{ + GenData *gendata; + + g_return_val_if_fail (NM_IS_SETTING (setting), FALSE); + g_return_val_if_fail (opt_name, FALSE); + + gendata = _gendata_hash (setting, FALSE); + return gendata ? g_hash_table_lookup (gendata->hash, opt_name) : NULL; +} + +/*****************************************************************************/ + static void get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) diff --git a/libnm-core/nm-setting.h b/libnm-core/nm-setting.h index 26c1b1ee8d..a0bb51bbf0 100644 --- a/libnm-core/nm-setting.h +++ b/libnm-core/nm-setting.h @@ -333,6 +333,13 @@ gboolean nm_setting_set_secret_flags (NMSetting *setting, /*****************************************************************************/ +NM_AVAILABLE_IN_1_26 +GVariant *nm_setting_option_get (NMSetting *setting, + const char *opt_name); + + +/*****************************************************************************/ + const GVariantType *nm_setting_get_dbus_property_type (NMSetting *setting, const char *property_name); diff --git a/libnm/libnm.ver b/libnm/libnm.ver index effa41d162..97cdc06a83 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -1732,4 +1732,5 @@ global: nm_setting_match_remove_driver_by_value; nm_setting_match_remove_kernel_command_line; nm_setting_match_remove_kernel_command_line_by_value; + nm_setting_option_get; } libnm_1_24_0;