libnm: add nm_meta_setting_types_by_priority array for sorting settings
nm_meta_setting_infos is a list of all NMMetaSettingInfo, sorted by name. Add nm_meta_setting_types_by_priority which provides a mapping with a different sort order (first by priority). We need that sometimes.
This commit is contained in:
@@ -519,6 +519,74 @@ const NMMetaSettingInfo nm_meta_setting_infos[] = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const NMMetaSettingType nm_meta_setting_types_by_priority[] = {
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_CONNECTION */
|
||||||
|
NM_META_SETTING_TYPE_CONNECTION,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_HW_BASE */
|
||||||
|
NM_META_SETTING_TYPE_6LOWPAN,
|
||||||
|
NM_META_SETTING_TYPE_OLPC_MESH,
|
||||||
|
NM_META_SETTING_TYPE_WIRELESS,
|
||||||
|
NM_META_SETTING_TYPE_WIRED,
|
||||||
|
NM_META_SETTING_TYPE_ADSL,
|
||||||
|
NM_META_SETTING_TYPE_BOND,
|
||||||
|
NM_META_SETTING_TYPE_BRIDGE,
|
||||||
|
NM_META_SETTING_TYPE_CDMA,
|
||||||
|
NM_META_SETTING_TYPE_DUMMY,
|
||||||
|
NM_META_SETTING_TYPE_GENERIC,
|
||||||
|
NM_META_SETTING_TYPE_GSM,
|
||||||
|
NM_META_SETTING_TYPE_INFINIBAND,
|
||||||
|
NM_META_SETTING_TYPE_IP_TUNNEL,
|
||||||
|
NM_META_SETTING_TYPE_MACSEC,
|
||||||
|
NM_META_SETTING_TYPE_MACVLAN,
|
||||||
|
NM_META_SETTING_TYPE_OVS_BRIDGE,
|
||||||
|
NM_META_SETTING_TYPE_OVS_DPDK,
|
||||||
|
NM_META_SETTING_TYPE_OVS_INTERFACE,
|
||||||
|
NM_META_SETTING_TYPE_OVS_PATCH,
|
||||||
|
NM_META_SETTING_TYPE_OVS_PORT,
|
||||||
|
NM_META_SETTING_TYPE_TEAM,
|
||||||
|
NM_META_SETTING_TYPE_TUN,
|
||||||
|
NM_META_SETTING_TYPE_VETH,
|
||||||
|
NM_META_SETTING_TYPE_VLAN,
|
||||||
|
NM_META_SETTING_TYPE_VPN,
|
||||||
|
NM_META_SETTING_TYPE_VRF,
|
||||||
|
NM_META_SETTING_TYPE_VXLAN,
|
||||||
|
NM_META_SETTING_TYPE_WIFI_P2P,
|
||||||
|
NM_META_SETTING_TYPE_WIMAX,
|
||||||
|
NM_META_SETTING_TYPE_WIREGUARD,
|
||||||
|
NM_META_SETTING_TYPE_WPAN,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_HW_NON_BASE */
|
||||||
|
NM_META_SETTING_TYPE_BLUETOOTH,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_HW_AUX */
|
||||||
|
NM_META_SETTING_TYPE_WIRELESS_SECURITY,
|
||||||
|
NM_META_SETTING_TYPE_802_1X,
|
||||||
|
NM_META_SETTING_TYPE_DCB,
|
||||||
|
NM_META_SETTING_TYPE_SERIAL,
|
||||||
|
NM_META_SETTING_TYPE_SRIOV,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_AUX */
|
||||||
|
NM_META_SETTING_TYPE_BRIDGE_PORT,
|
||||||
|
NM_META_SETTING_TYPE_ETHTOOL,
|
||||||
|
NM_META_SETTING_TYPE_MATCH,
|
||||||
|
NM_META_SETTING_TYPE_OVS_EXTERNAL_IDS,
|
||||||
|
NM_META_SETTING_TYPE_PPP,
|
||||||
|
NM_META_SETTING_TYPE_PPPOE,
|
||||||
|
NM_META_SETTING_TYPE_TEAM_PORT,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_IP */
|
||||||
|
NM_META_SETTING_TYPE_HOSTNAME,
|
||||||
|
NM_META_SETTING_TYPE_IP4_CONFIG,
|
||||||
|
NM_META_SETTING_TYPE_IP6_CONFIG,
|
||||||
|
NM_META_SETTING_TYPE_PROXY,
|
||||||
|
NM_META_SETTING_TYPE_TC_CONFIG,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_USER */
|
||||||
|
NM_META_SETTING_TYPE_USER,
|
||||||
|
};
|
||||||
|
|
||||||
const NMMetaSettingInfo *
|
const NMMetaSettingInfo *
|
||||||
nm_meta_setting_infos_by_name(const char *name)
|
nm_meta_setting_infos_by_name(const char *name)
|
||||||
{
|
{
|
||||||
|
@@ -175,6 +175,8 @@ typedef struct _NMMetaSettingInfo_Alias NMMetaSettingInfo;
|
|||||||
|
|
||||||
extern const NMMetaSettingInfo nm_meta_setting_infos[_NM_META_SETTING_TYPE_NUM + 1];
|
extern const NMMetaSettingInfo nm_meta_setting_infos[_NM_META_SETTING_TYPE_NUM + 1];
|
||||||
|
|
||||||
|
extern const NMMetaSettingType nm_meta_setting_types_by_priority[_NM_META_SETTING_TYPE_NUM];
|
||||||
|
|
||||||
const NMMetaSettingInfo *nm_meta_setting_infos_by_name(const char *name);
|
const NMMetaSettingInfo *nm_meta_setting_infos_by_name(const char *name);
|
||||||
const NMMetaSettingInfo *nm_meta_setting_infos_by_gtype(GType gtype);
|
const NMMetaSettingInfo *nm_meta_setting_infos_by_gtype(GType gtype);
|
||||||
|
|
||||||
|
@@ -519,6 +519,74 @@ const NMMetaSettingInfo nm_meta_setting_infos[] = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const NMMetaSettingType nm_meta_setting_types_by_priority[] = {
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_CONNECTION */
|
||||||
|
NM_META_SETTING_TYPE_CONNECTION,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_HW_BASE */
|
||||||
|
NM_META_SETTING_TYPE_6LOWPAN,
|
||||||
|
NM_META_SETTING_TYPE_OLPC_MESH,
|
||||||
|
NM_META_SETTING_TYPE_WIRELESS,
|
||||||
|
NM_META_SETTING_TYPE_WIRED,
|
||||||
|
NM_META_SETTING_TYPE_ADSL,
|
||||||
|
NM_META_SETTING_TYPE_BOND,
|
||||||
|
NM_META_SETTING_TYPE_BRIDGE,
|
||||||
|
NM_META_SETTING_TYPE_CDMA,
|
||||||
|
NM_META_SETTING_TYPE_DUMMY,
|
||||||
|
NM_META_SETTING_TYPE_GENERIC,
|
||||||
|
NM_META_SETTING_TYPE_GSM,
|
||||||
|
NM_META_SETTING_TYPE_INFINIBAND,
|
||||||
|
NM_META_SETTING_TYPE_IP_TUNNEL,
|
||||||
|
NM_META_SETTING_TYPE_MACSEC,
|
||||||
|
NM_META_SETTING_TYPE_MACVLAN,
|
||||||
|
NM_META_SETTING_TYPE_OVS_BRIDGE,
|
||||||
|
NM_META_SETTING_TYPE_OVS_DPDK,
|
||||||
|
NM_META_SETTING_TYPE_OVS_INTERFACE,
|
||||||
|
NM_META_SETTING_TYPE_OVS_PATCH,
|
||||||
|
NM_META_SETTING_TYPE_OVS_PORT,
|
||||||
|
NM_META_SETTING_TYPE_TEAM,
|
||||||
|
NM_META_SETTING_TYPE_TUN,
|
||||||
|
NM_META_SETTING_TYPE_VETH,
|
||||||
|
NM_META_SETTING_TYPE_VLAN,
|
||||||
|
NM_META_SETTING_TYPE_VPN,
|
||||||
|
NM_META_SETTING_TYPE_VRF,
|
||||||
|
NM_META_SETTING_TYPE_VXLAN,
|
||||||
|
NM_META_SETTING_TYPE_WIFI_P2P,
|
||||||
|
NM_META_SETTING_TYPE_WIMAX,
|
||||||
|
NM_META_SETTING_TYPE_WIREGUARD,
|
||||||
|
NM_META_SETTING_TYPE_WPAN,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_HW_NON_BASE */
|
||||||
|
NM_META_SETTING_TYPE_BLUETOOTH,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_HW_AUX */
|
||||||
|
NM_META_SETTING_TYPE_WIRELESS_SECURITY,
|
||||||
|
NM_META_SETTING_TYPE_802_1X,
|
||||||
|
NM_META_SETTING_TYPE_DCB,
|
||||||
|
NM_META_SETTING_TYPE_SERIAL,
|
||||||
|
NM_META_SETTING_TYPE_SRIOV,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_AUX */
|
||||||
|
NM_META_SETTING_TYPE_BRIDGE_PORT,
|
||||||
|
NM_META_SETTING_TYPE_ETHTOOL,
|
||||||
|
NM_META_SETTING_TYPE_MATCH,
|
||||||
|
NM_META_SETTING_TYPE_OVS_EXTERNAL_IDS,
|
||||||
|
NM_META_SETTING_TYPE_PPP,
|
||||||
|
NM_META_SETTING_TYPE_PPPOE,
|
||||||
|
NM_META_SETTING_TYPE_TEAM_PORT,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_IP */
|
||||||
|
NM_META_SETTING_TYPE_HOSTNAME,
|
||||||
|
NM_META_SETTING_TYPE_IP4_CONFIG,
|
||||||
|
NM_META_SETTING_TYPE_IP6_CONFIG,
|
||||||
|
NM_META_SETTING_TYPE_PROXY,
|
||||||
|
NM_META_SETTING_TYPE_TC_CONFIG,
|
||||||
|
|
||||||
|
/* NM_SETTING_PRIORITY_USER */
|
||||||
|
NM_META_SETTING_TYPE_USER,
|
||||||
|
};
|
||||||
|
|
||||||
const NMMetaSettingInfo *
|
const NMMetaSettingInfo *
|
||||||
nm_meta_setting_infos_by_name(const char *name)
|
nm_meta_setting_infos_by_name(const char *name)
|
||||||
{
|
{
|
||||||
|
@@ -175,6 +175,8 @@ typedef struct _NMMetaSettingInfo_Alias NMMetaSettingInfo;
|
|||||||
|
|
||||||
extern const NMMetaSettingInfo nm_meta_setting_infos[_NM_META_SETTING_TYPE_NUM + 1];
|
extern const NMMetaSettingInfo nm_meta_setting_infos[_NM_META_SETTING_TYPE_NUM + 1];
|
||||||
|
|
||||||
|
extern const NMMetaSettingType nm_meta_setting_types_by_priority[_NM_META_SETTING_TYPE_NUM];
|
||||||
|
|
||||||
const NMMetaSettingInfo *nm_meta_setting_infos_by_name(const char *name);
|
const NMMetaSettingInfo *nm_meta_setting_infos_by_name(const char *name);
|
||||||
const NMMetaSettingInfo *nm_meta_setting_infos_by_gtype(GType gtype);
|
const NMMetaSettingInfo *nm_meta_setting_infos_by_gtype(GType gtype);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user