shared/libnm: move NMSettingPriority helpers to "shared/nm-meta-setting.h"

This commit is contained in:
Thomas Haller 2020-11-16 09:50:27 +01:00
parent 7595a8f817
commit ac7915b3ce
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
4 changed files with 34 additions and 29 deletions

View file

@ -20,7 +20,6 @@
/*****************************************************************************/
NMSettingPriority _nm_setting_get_base_type_priority(NMSetting *setting);
NMSettingPriority _nm_setting_type_get_base_type_priority(GType type);
int _nm_setting_compare_priority(gconstpointer a, gconstpointer b);
/*****************************************************************************/

View file

@ -57,26 +57,6 @@ static GenData *_gendata_hash(NMSetting *setting, gboolean create_if_necessary);
/*****************************************************************************/
static NMSettingPriority
_get_base_type_priority(const NMMetaSettingInfo *setting_info, GType gtype)
{
/* Historical oddity: PPPoE is a base-type even though it's not
* priority 1. It needs to be sorted *after* lower-level stuff like
* Wi-Fi security or 802.1x for secrets, but it's still allowed as a
* base type.
*/
if (setting_info) {
if (NM_IN_SET(setting_info->setting_priority,
NM_SETTING_PRIORITY_HW_BASE,
NM_SETTING_PRIORITY_HW_NON_BASE)
|| gtype == NM_TYPE_SETTING_PPPOE)
return setting_info->setting_priority;
}
return NM_SETTING_PRIORITY_INVALID;
}
NMSettingPriority
_nm_setting_get_setting_priority(NMSetting *setting)
{
@ -88,19 +68,13 @@ _nm_setting_get_setting_priority(NMSetting *setting)
return setting_info ? setting_info->setting_priority : NM_SETTING_PRIORITY_INVALID;
}
NMSettingPriority
_nm_setting_type_get_base_type_priority(GType type)
{
return _get_base_type_priority(nm_meta_setting_infos_by_gtype(type), type);
}
NMSettingPriority
_nm_setting_get_base_type_priority(NMSetting *setting)
{
g_return_val_if_fail(NM_IS_SETTING(setting), NM_SETTING_PRIORITY_INVALID);
return _get_base_type_priority(NM_SETTING_GET_CLASS(setting)->setting_info,
G_OBJECT_TYPE(setting));
return nm_meta_setting_info_get_base_type_priority(NM_SETTING_GET_CLASS(setting)->setting_info,
G_OBJECT_TYPE(setting));
}
/**

View file

@ -606,3 +606,31 @@ out_none:
}
/*****************************************************************************/
NMSettingPriority
nm_meta_setting_info_get_base_type_priority(const NMMetaSettingInfo *setting_info, GType gtype)
{
/* Historical oddity: PPPoE is a base-type even though it's not
* priority 1. It needs to be sorted *after* lower-level stuff like
* Wi-Fi security or 802.1x for secrets, but it's still allowed as a
* base type.
*/
if (setting_info) {
if (NM_IN_SET(setting_info->setting_priority,
NM_SETTING_PRIORITY_HW_BASE,
NM_SETTING_PRIORITY_HW_NON_BASE)
|| gtype == NM_TYPE_SETTING_PPPOE)
return setting_info->setting_priority;
}
return NM_SETTING_PRIORITY_INVALID;
}
NMSettingPriority
_nm_setting_type_get_base_type_priority(GType type)
{
return nm_meta_setting_info_get_base_type_priority(nm_meta_setting_infos_by_gtype(type), type);
}
/*****************************************************************************/

View file

@ -208,4 +208,8 @@ const NMMetaSettingInfo *nm_meta_setting_infos_by_gtype(GType gtype);
/*****************************************************************************/
NMSettingPriority nm_meta_setting_info_get_base_type_priority(const NMMetaSettingInfo *setting_info,
GType gtype);
NMSettingPriority _nm_setting_type_get_base_type_priority(GType type);
#endif /* __NM_META_SETTING_H__ */