mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-04 10:40:58 +01:00
meta: add table @nm_meta_setting_infos of all settings types
This commit is contained in:
parent
2b0c00a3e3
commit
3690311b02
2 changed files with 296 additions and 10 deletions
|
|
@ -23,6 +23,42 @@
|
|||
|
||||
#include "nm-setting-metadata.h"
|
||||
|
||||
#include "nm-setting-8021x.h"
|
||||
#include "nm-setting-adsl.h"
|
||||
#include "nm-setting-bluetooth.h"
|
||||
#include "nm-setting-bond.h"
|
||||
#include "nm-setting-bridge.h"
|
||||
#include "nm-setting-bridge-port.h"
|
||||
#include "nm-setting-cdma.h"
|
||||
#include "nm-setting-connection.h"
|
||||
#include "nm-setting-dcb.h"
|
||||
#include "nm-setting-dummy.h"
|
||||
#include "nm-setting-generic.h"
|
||||
#include "nm-setting-gsm.h"
|
||||
#include "nm-setting-infiniband.h"
|
||||
#include "nm-setting-ip4-config.h"
|
||||
#include "nm-setting-ip6-config.h"
|
||||
#include "nm-setting-ip-config.h"
|
||||
#include "nm-setting-ip-tunnel.h"
|
||||
#include "nm-setting-macsec.h"
|
||||
#include "nm-setting-macvlan.h"
|
||||
#include "nm-setting-olpc-mesh.h"
|
||||
#include "nm-setting-ppp.h"
|
||||
#include "nm-setting-pppoe.h"
|
||||
#include "nm-setting-proxy.h"
|
||||
#include "nm-setting-serial.h"
|
||||
#include "nm-setting-team.h"
|
||||
#include "nm-setting-team-port.h"
|
||||
#include "nm-setting-tun.h"
|
||||
#include "nm-setting-user.h"
|
||||
#include "nm-setting-vlan.h"
|
||||
#include "nm-setting-vpn.h"
|
||||
#include "nm-setting-vxlan.h"
|
||||
#include "nm-setting-wimax.h"
|
||||
#include "nm-setting-wired.h"
|
||||
#include "nm-setting-wireless.h"
|
||||
#include "nm-setting-wireless-security.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
const NMSetting8021xSchemeVtable nm_setting_8021x_scheme_vtable[] = {
|
||||
|
|
@ -102,3 +138,199 @@ const NMSetting8021xSchemeVtable nm_setting_8021x_scheme_vtable[] = {
|
|||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
const NMMetaSettingInfo nm_meta_setting_infos[] = {
|
||||
[NM_META_SETTING_TYPE_802_1X] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_802_1X,
|
||||
.setting_name = N_ (NM_SETTING_802_1X_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_802_1x_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_ADSL] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_ADSL,
|
||||
.setting_name = N_ (NM_SETTING_ADSL_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_adsl_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_BLUETOOTH] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_BLUETOOTH,
|
||||
.setting_name = N_ (NM_SETTING_BLUETOOTH_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_bluetooth_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_BOND] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_BOND,
|
||||
.setting_name = N_ (NM_SETTING_BOND_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_bond_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_BRIDGE] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_BRIDGE,
|
||||
.setting_name = N_ (NM_SETTING_BRIDGE_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_bridge_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_BRIDGE_PORT] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_BRIDGE_PORT,
|
||||
.setting_name = N_ (NM_SETTING_BRIDGE_PORT_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_bridge_port_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_CDMA] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_CDMA,
|
||||
.setting_name = N_ (NM_SETTING_CDMA_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_cdma_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_CONNECTION] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_CONNECTION,
|
||||
.setting_name = N_ (NM_SETTING_CONNECTION_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_connection_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_DCB] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_DCB,
|
||||
.setting_name = N_ (NM_SETTING_DCB_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_dcb_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_GSM] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_GSM,
|
||||
.setting_name = N_ (NM_SETTING_GSM_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_gsm_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_INFINIBAND] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_INFINIBAND,
|
||||
.setting_name = N_ (NM_SETTING_INFINIBAND_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_infiniband_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_IP4_CONFIG] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_IP4_CONFIG,
|
||||
.setting_name = N_ (NM_SETTING_IP4_CONFIG_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_ip4_config_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_IP6_CONFIG] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_IP6_CONFIG,
|
||||
.setting_name = N_ (NM_SETTING_IP6_CONFIG_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_ip6_config_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_IP_TUNNEL] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_IP_TUNNEL,
|
||||
.setting_name = N_ (NM_SETTING_IP_TUNNEL_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_ip_tunnel_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_MACSEC] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_MACSEC,
|
||||
.setting_name = N_ (NM_SETTING_MACSEC_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_macsec_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_MACVLAN] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_MACVLAN,
|
||||
.setting_name = N_ (NM_SETTING_MACVLAN_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_macvlan_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_OLPC_MESH] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_OLPC_MESH,
|
||||
.setting_name = N_ (NM_SETTING_OLPC_MESH_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_olpc_mesh_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_PPPOE] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_PPPOE,
|
||||
.setting_name = N_ (NM_SETTING_PPPOE_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_pppoe_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_PPP] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_PPP,
|
||||
.setting_name = N_ (NM_SETTING_PPP_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_ppp_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_PROXY] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_PROXY,
|
||||
.setting_name = N_ (NM_SETTING_PROXY_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_proxy_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_SERIAL] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_SERIAL,
|
||||
.setting_name = N_ (NM_SETTING_SERIAL_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_serial_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_TEAM] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_TEAM,
|
||||
.setting_name = N_ (NM_SETTING_TEAM_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_team_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_TEAM_PORT] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_TEAM_PORT,
|
||||
.setting_name = N_ (NM_SETTING_TEAM_PORT_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_team_port_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_TUN] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_TUN,
|
||||
.setting_name = N_ (NM_SETTING_TUN_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_tun_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_USER] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_USER,
|
||||
.setting_name = N_ (NM_SETTING_USER_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_user_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_VLAN] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_VLAN,
|
||||
.setting_name = N_ (NM_SETTING_VLAN_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_vlan_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_VPN] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_VPN,
|
||||
.setting_name = N_ (NM_SETTING_VPN_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_vpn_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_VXLAN] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_VXLAN,
|
||||
.setting_name = N_ (NM_SETTING_VXLAN_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_vxlan_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_WIMAX] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_WIMAX,
|
||||
.setting_name = N_ (NM_SETTING_WIMAX_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_wimax_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_WIRED] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_WIRED,
|
||||
.setting_name = N_ (NM_SETTING_WIRED_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_wired_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_WIRELESS] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_WIRELESS,
|
||||
.setting_name = N_ (NM_SETTING_WIRELESS_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_wireless_get_type,
|
||||
},
|
||||
[NM_META_SETTING_TYPE_WIRELESS_SECURITY] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_WIRELESS_SECURITY,
|
||||
.setting_name = N_ (NM_SETTING_WIRELESS_SECURITY_SETTING_NAME),
|
||||
.get_setting_gtype = nm_setting_wireless_security_get_type,
|
||||
},
|
||||
|
||||
[NM_META_SETTING_TYPE_UNKNOWN] = {
|
||||
.meta_type = NM_META_SETTING_TYPE_UNKNOWN,
|
||||
.setting_name = NULL,
|
||||
},
|
||||
};
|
||||
|
||||
const NMMetaSettingInfo *
|
||||
nm_meta_setting_infos_by_name (const char *name)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (name) {
|
||||
for (i = 0; i < _NM_META_SETTING_TYPE_NUM; i++) {
|
||||
if (nm_streq (nm_meta_setting_infos[i].setting_name, name))
|
||||
return &nm_meta_setting_infos[i];
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const NMMetaSettingInfo *
|
||||
nm_meta_setting_infos_by_gtype (GType gtype)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < _NM_META_SETTING_TYPE_NUM; i++) {
|
||||
if (nm_meta_setting_infos[i].get_setting_gtype () == gtype)
|
||||
return &nm_meta_setting_infos[i];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
|
|
@ -26,6 +26,19 @@
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef enum {
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_CA_CERT,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_PHASE2_CA_CERT,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_CLIENT_CERT,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_PHASE2_CLIENT_CERT,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_PRIVATE_KEY,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_PHASE2_PRIVATE_KEY,
|
||||
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_UNKNOWN,
|
||||
|
||||
_NM_SETTING_802_1X_SCHEME_TYPE_NUM = NM_SETTING_802_1X_SCHEME_TYPE_UNKNOWN,
|
||||
} NMSetting8021xSchemeType;
|
||||
|
||||
typedef struct {
|
||||
const char *setting_key;
|
||||
NMSetting8021xCKScheme (*scheme_func) (NMSetting8021x *setting);
|
||||
|
|
@ -38,18 +51,59 @@ typedef struct {
|
|||
const char *file_suffix;
|
||||
} NMSetting8021xSchemeVtable;
|
||||
|
||||
enum {
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_CA_CERT,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_PHASE2_CA_CERT,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_CLIENT_CERT,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_PHASE2_CLIENT_CERT,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_PRIVATE_KEY,
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_PHASE2_PRIVATE_KEY,
|
||||
extern const NMSetting8021xSchemeVtable nm_setting_8021x_scheme_vtable[_NM_SETTING_802_1X_SCHEME_TYPE_NUM + 1];
|
||||
|
||||
NM_SETTING_802_1X_SCHEME_TYPE_UNKNOWN,
|
||||
};
|
||||
/*****************************************************************************/
|
||||
|
||||
extern const NMSetting8021xSchemeVtable nm_setting_8021x_scheme_vtable[NM_SETTING_802_1X_SCHEME_TYPE_UNKNOWN + 1];
|
||||
typedef enum {
|
||||
NM_META_SETTING_TYPE_802_1X,
|
||||
NM_META_SETTING_TYPE_ADSL,
|
||||
NM_META_SETTING_TYPE_BLUETOOTH,
|
||||
NM_META_SETTING_TYPE_BOND,
|
||||
NM_META_SETTING_TYPE_BRIDGE,
|
||||
NM_META_SETTING_TYPE_BRIDGE_PORT,
|
||||
NM_META_SETTING_TYPE_CDMA,
|
||||
NM_META_SETTING_TYPE_CONNECTION,
|
||||
NM_META_SETTING_TYPE_DCB,
|
||||
NM_META_SETTING_TYPE_GSM,
|
||||
NM_META_SETTING_TYPE_INFINIBAND,
|
||||
NM_META_SETTING_TYPE_IP4_CONFIG,
|
||||
NM_META_SETTING_TYPE_IP6_CONFIG,
|
||||
NM_META_SETTING_TYPE_IP_TUNNEL,
|
||||
NM_META_SETTING_TYPE_MACSEC,
|
||||
NM_META_SETTING_TYPE_MACVLAN,
|
||||
NM_META_SETTING_TYPE_OLPC_MESH,
|
||||
NM_META_SETTING_TYPE_PPP,
|
||||
NM_META_SETTING_TYPE_PPPOE,
|
||||
NM_META_SETTING_TYPE_PROXY,
|
||||
NM_META_SETTING_TYPE_SERIAL,
|
||||
NM_META_SETTING_TYPE_TEAM,
|
||||
NM_META_SETTING_TYPE_TEAM_PORT,
|
||||
NM_META_SETTING_TYPE_TUN,
|
||||
NM_META_SETTING_TYPE_USER,
|
||||
NM_META_SETTING_TYPE_VLAN,
|
||||
NM_META_SETTING_TYPE_VPN,
|
||||
NM_META_SETTING_TYPE_VXLAN,
|
||||
NM_META_SETTING_TYPE_WIMAX,
|
||||
NM_META_SETTING_TYPE_WIRED,
|
||||
NM_META_SETTING_TYPE_WIRELESS,
|
||||
NM_META_SETTING_TYPE_WIRELESS_SECURITY,
|
||||
|
||||
NM_META_SETTING_TYPE_UNKNOWN,
|
||||
|
||||
_NM_META_SETTING_TYPE_NUM = NM_META_SETTING_TYPE_UNKNOWN,
|
||||
} NMMetaSettingType;
|
||||
|
||||
typedef struct {
|
||||
NMMetaSettingType meta_type;
|
||||
const char *setting_name;
|
||||
GType (*get_setting_gtype) (void);
|
||||
} NMMetaSettingInfo;
|
||||
|
||||
extern const NMMetaSettingInfo nm_meta_setting_infos[_NM_META_SETTING_TYPE_NUM + 1];
|
||||
|
||||
const NMMetaSettingInfo *nm_meta_setting_infos_by_name (const char *name);
|
||||
const NMMetaSettingInfo *nm_meta_setting_infos_by_gtype (GType gtype);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue