diff --git a/src/libnm-core-impl/nm-meta-setting-base-impl.c b/src/libnm-core-impl/nm-meta-setting-base-impl.c index e049e2339..a952ced9a 100644 --- a/src/libnm-core-impl/nm-meta-setting-base-impl.c +++ b/src/libnm-core-impl/nm-meta-setting-base-impl.c @@ -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 * nm_meta_setting_infos_by_name(const char *name) { diff --git a/src/libnm-core-intern/nm-meta-setting-base-impl.h b/src/libnm-core-intern/nm-meta-setting-base-impl.h index 5e05ff31e..44bd9024c 100644 --- a/src/libnm-core-intern/nm-meta-setting-base-impl.h +++ b/src/libnm-core-intern/nm-meta-setting-base-impl.h @@ -175,6 +175,8 @@ typedef struct _NMMetaSettingInfo_Alias NMMetaSettingInfo; 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_gtype(GType gtype); diff --git a/src/libnmc-setting/nm-meta-setting-base-impl.c b/src/libnmc-setting/nm-meta-setting-base-impl.c index e049e2339..a952ced9a 100644 --- a/src/libnmc-setting/nm-meta-setting-base-impl.c +++ b/src/libnmc-setting/nm-meta-setting-base-impl.c @@ -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 * nm_meta_setting_infos_by_name(const char *name) { diff --git a/src/libnmc-setting/nm-meta-setting-base-impl.h b/src/libnmc-setting/nm-meta-setting-base-impl.h index 5e05ff31e..44bd9024c 100644 --- a/src/libnmc-setting/nm-meta-setting-base-impl.h +++ b/src/libnmc-setting/nm-meta-setting-base-impl.h @@ -175,6 +175,8 @@ typedef struct _NMMetaSettingInfo_Alias NMMetaSettingInfo; 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_gtype(GType gtype);