diff options
41 files changed, 82 insertions, 57 deletions
diff --git a/libnm-core/nm-setting-8021x.c b/libnm-core/nm-setting-8021x.c index 3b4240e64d..bf9c418096 100644 --- a/libnm-core/nm-setting-8021x.c +++ b/libnm-core/nm-setting-8021x.c @@ -62,7 +62,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSetting8021x, nm_setting_802_1x, NM_TYPE_SETTING, _nm_register_setting (802_1X, NM_SETTING_PRIORITY_HW_AUX)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_802_1X) #define NM_SETTING_802_1X_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_802_1X, NMSetting8021xPrivate)) diff --git a/libnm-core/nm-setting-adsl.c b/libnm-core/nm-setting-adsl.c index c2eb5db419..278efe780e 100644 --- a/libnm-core/nm-setting-adsl.c +++ b/libnm-core/nm-setting-adsl.c @@ -39,7 +39,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingAdsl, nm_setting_adsl, NM_TYPE_SETTING, _nm_register_setting (ADSL, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_ADSL) #define NM_SETTING_ADSL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_ADSL, NMSettingAdslPrivate)) diff --git a/libnm-core/nm-setting-bluetooth.c b/libnm-core/nm-setting-bluetooth.c index 5b6ef3eb97..21401489c5 100644 --- a/libnm-core/nm-setting-bluetooth.c +++ b/libnm-core/nm-setting-bluetooth.c @@ -45,7 +45,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingBluetooth, nm_setting_bluetooth, NM_TYPE_SETTING, _nm_register_setting (BLUETOOTH, NM_SETTING_PRIORITY_HW_NON_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_BLUETOOTH) #define NM_SETTING_BLUETOOTH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BLUETOOTH, NMSettingBluetoothPrivate)) diff --git a/libnm-core/nm-setting-bond.c b/libnm-core/nm-setting-bond.c index 9b4b364162..f450921f99 100644 --- a/libnm-core/nm-setting-bond.c +++ b/libnm-core/nm-setting-bond.c @@ -59,7 +59,6 @@ typedef struct { G_DEFINE_TYPE_WITH_CODE (NMSettingBond, nm_setting_bond, NM_TYPE_SETTING, _nm_register_setting (BOND, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_BOND) #define NM_SETTING_BOND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BOND, NMSettingBondPrivate)) diff --git a/libnm-core/nm-setting-bridge-port.c b/libnm-core/nm-setting-bridge-port.c index 3fc0e87343..9ca478c8d3 100644 --- a/libnm-core/nm-setting-bridge-port.c +++ b/libnm-core/nm-setting-bridge-port.c @@ -42,7 +42,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingBridgePort, nm_setting_bridge_port, NM_TYPE_SETTING, _nm_register_setting (BRIDGE_PORT, NM_SETTING_PRIORITY_AUX)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_BRIDGE_PORT) #define NM_SETTING_BRIDGE_PORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BRIDGE_PORT, NMSettingBridgePortPrivate)) diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 112b499f31..1011dc9d53 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -40,7 +40,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingBridge, nm_setting_bridge, NM_TYPE_SETTING, _nm_register_setting (BRIDGE, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_BRIDGE) #define NM_SETTING_BRIDGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BRIDGE, NMSettingBridgePrivate)) diff --git a/libnm-core/nm-setting-cdma.c b/libnm-core/nm-setting-cdma.c index 6317895159..bf606f9022 100644 --- a/libnm-core/nm-setting-cdma.c +++ b/libnm-core/nm-setting-cdma.c @@ -39,7 +39,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingCdma, nm_setting_cdma, NM_TYPE_SETTING, _nm_register_setting (CDMA, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_CDMA) #define NM_SETTING_CDMA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_CDMA, NMSettingCdmaPrivate)) diff --git a/libnm-core/nm-setting-connection.c b/libnm-core/nm-setting-connection.c index 2649838c43..d8034d31ad 100644 --- a/libnm-core/nm-setting-connection.c +++ b/libnm-core/nm-setting-connection.c @@ -47,7 +47,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingConnection, nm_setting_connection, NM_TYPE_SETTING, _nm_register_setting (CONNECTION, NM_SETTING_PRIORITY_CONNECTION)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_CONNECTION) #define NM_SETTING_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_CONNECTION, NMSettingConnectionPrivate)) diff --git a/libnm-core/nm-setting-dcb.c b/libnm-core/nm-setting-dcb.c index 491d915131..55e11d6220 100644 --- a/libnm-core/nm-setting-dcb.c +++ b/libnm-core/nm-setting-dcb.c @@ -42,7 +42,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingDcb, nm_setting_dcb, NM_TYPE_SETTING, _nm_register_setting (DCB, NM_SETTING_PRIORITY_HW_AUX)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_DCB) #define NM_SETTING_DCB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_DCB, NMSettingDcbPrivate)) diff --git a/libnm-core/nm-setting-dummy.c b/libnm-core/nm-setting-dummy.c index 4b3c41f03a..38c361f198 100644 --- a/libnm-core/nm-setting-dummy.c +++ b/libnm-core/nm-setting-dummy.c @@ -36,7 +36,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingDummy, nm_setting_dummy, NM_TYPE_SETTING, _nm_register_setting (DUMMY, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_DUMMY) /** * nm_setting_dummy_new: diff --git a/libnm-core/nm-setting-generic.c b/libnm-core/nm-setting-generic.c index 96f26ac2a1..0c85d448ce 100644 --- a/libnm-core/nm-setting-generic.c +++ b/libnm-core/nm-setting-generic.c @@ -38,7 +38,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingGeneric, nm_setting_generic, NM_TYPE_SETTING, _nm_register_setting (GENERIC, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_GENERIC) #define NM_SETTING_GENERIC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_GENERIC, NMSettingGenericPrivate)) diff --git a/libnm-core/nm-setting-gsm.c b/libnm-core/nm-setting-gsm.c index 3011d91783..b1ab193aa1 100644 --- a/libnm-core/nm-setting-gsm.c +++ b/libnm-core/nm-setting-gsm.c @@ -40,7 +40,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingGsm, nm_setting_gsm, NM_TYPE_SETTING, _nm_register_setting (GSM, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_GSM) #define NM_SETTING_GSM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_GSM, NMSettingGsmPrivate)) diff --git a/libnm-core/nm-setting-infiniband.c b/libnm-core/nm-setting-infiniband.c index 8c49849a7b..b22a260e5e 100644 --- a/libnm-core/nm-setting-infiniband.c +++ b/libnm-core/nm-setting-infiniband.c @@ -39,7 +39,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingInfiniband, nm_setting_infiniband, NM_TYPE_SETTING, _nm_register_setting (INFINIBAND, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_INFINIBAND) #define NM_SETTING_INFINIBAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_INFINIBAND, NMSettingInfinibandPrivate)) diff --git a/libnm-core/nm-setting-ip-tunnel.c b/libnm-core/nm-setting-ip-tunnel.c index c9cb97dfe2..a482ba2bbd 100644 --- a/libnm-core/nm-setting-ip-tunnel.c +++ b/libnm-core/nm-setting-ip-tunnel.c @@ -32,7 +32,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingIPTunnel, nm_setting_ip_tunnel, NM_TYPE_SETTING, _nm_register_setting (IP_TUNNEL, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_IP_TUNNEL) #define NM_SETTING_IP_TUNNEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP_TUNNEL, NMSettingIPTunnelPrivate)) diff --git a/libnm-core/nm-setting-ip4-config.c b/libnm-core/nm-setting-ip4-config.c index 0c668d8c02..c7d80a9fdc 100644 --- a/libnm-core/nm-setting-ip4-config.c +++ b/libnm-core/nm-setting-ip4-config.c @@ -52,7 +52,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingIP4Config, nm_setting_ip4_config, NM_TYPE_SETTING_IP_CONFIG, _nm_register_setting (IP4_CONFIG, NM_SETTING_PRIORITY_IP)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_IP4_CONFIG) #define NM_SETTING_IP4_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP4_CONFIG, NMSettingIP4ConfigPrivate)) diff --git a/libnm-core/nm-setting-ip6-config.c b/libnm-core/nm-setting-ip6-config.c index 808c88a763..d483d1921a 100644 --- a/libnm-core/nm-setting-ip6-config.c +++ b/libnm-core/nm-setting-ip6-config.c @@ -54,7 +54,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingIP6Config, nm_setting_ip6_config, NM_TYPE_SETTING_IP_CONFIG, _nm_register_setting (IP6_CONFIG, NM_SETTING_PRIORITY_IP)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_IP6_CONFIG) #define NM_SETTING_IP6_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP6_CONFIG, NMSettingIP6ConfigPrivate)) diff --git a/libnm-core/nm-setting-macsec.c b/libnm-core/nm-setting-macsec.c index 92ebafa625..aca6d6cf70 100644 --- a/libnm-core/nm-setting-macsec.c +++ b/libnm-core/nm-setting-macsec.c @@ -42,7 +42,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingMacsec, nm_setting_macsec, NM_TYPE_SETTING, _nm_register_setting (MACSEC, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_MACSEC) #define NM_SETTING_MACSEC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_MACSEC, NMSettingMacsecPrivate)) diff --git a/libnm-core/nm-setting-macvlan.c b/libnm-core/nm-setting-macvlan.c index 6fea8b0da6..b3934bb58d 100644 --- a/libnm-core/nm-setting-macvlan.c +++ b/libnm-core/nm-setting-macvlan.c @@ -41,7 +41,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingMacvlan, nm_setting_macvlan, NM_TYPE_SETTING, _nm_register_setting (MACVLAN, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_MACVLAN) #define NM_SETTING_MACVLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_MACVLAN, NMSettingMacvlanPrivate)) diff --git a/libnm-core/nm-setting-olpc-mesh.c b/libnm-core/nm-setting-olpc-mesh.c index 783d143f75..13ba22f0d0 100644 --- a/libnm-core/nm-setting-olpc-mesh.c +++ b/libnm-core/nm-setting-olpc-mesh.c @@ -41,7 +41,6 @@ static void nm_setting_olpc_mesh_init (NMSettingOlpcMesh *setting); G_DEFINE_TYPE_WITH_CODE (NMSettingOlpcMesh, nm_setting_olpc_mesh, NM_TYPE_SETTING, _nm_register_setting (OLPC_MESH, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_OLPC_MESH) #define NM_SETTING_OLPC_MESH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_OLPC_MESH, NMSettingOlpcMeshPrivate)) diff --git a/libnm-core/nm-setting-ovs-bridge.c b/libnm-core/nm-setting-ovs-bridge.c index fbae95d0c9..b379a9fc86 100644 --- a/libnm-core/nm-setting-ovs-bridge.c +++ b/libnm-core/nm-setting-ovs-bridge.c @@ -63,7 +63,6 @@ struct _NMSettingOvsBridgeClass { G_DEFINE_TYPE_WITH_CODE (NMSettingOvsBridge, nm_setting_ovs_bridge, NM_TYPE_SETTING, _nm_register_setting (OVS_BRIDGE, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_OVS_BRIDGE) /*****************************************************************************/ diff --git a/libnm-core/nm-setting-ovs-interface.c b/libnm-core/nm-setting-ovs-interface.c index 73e1cfc6ae..bdcfc1cf1e 100644 --- a/libnm-core/nm-setting-ovs-interface.c +++ b/libnm-core/nm-setting-ovs-interface.c @@ -56,7 +56,6 @@ struct _NMSettingOvsInterfaceClass { G_DEFINE_TYPE_WITH_CODE (NMSettingOvsInterface, nm_setting_ovs_interface, NM_TYPE_SETTING, _nm_register_setting (OVS_INTERFACE, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_OVS_INTERFACE) /*****************************************************************************/ diff --git a/libnm-core/nm-setting-ovs-patch.c b/libnm-core/nm-setting-ovs-patch.c index 3689aecf8c..1d6e7efdf3 100644 --- a/libnm-core/nm-setting-ovs-patch.c +++ b/libnm-core/nm-setting-ovs-patch.c @@ -57,7 +57,6 @@ struct _NMSettingOvsPatchClass { G_DEFINE_TYPE_WITH_CODE (NMSettingOvsPatch, nm_setting_ovs_patch, NM_TYPE_SETTING, _nm_register_setting (OVS_PATCH, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_OVS_PATCH) /*****************************************************************************/ diff --git a/libnm-core/nm-setting-ovs-port.c b/libnm-core/nm-setting-ovs-port.c index 72722b1571..dc84b9c6d2 100644 --- a/libnm-core/nm-setting-ovs-port.c +++ b/libnm-core/nm-setting-ovs-port.c @@ -67,7 +67,6 @@ struct _NMSettingOvsPortClass { G_DEFINE_TYPE_WITH_CODE (NMSettingOvsPort, nm_setting_ovs_port, NM_TYPE_SETTING, _nm_register_setting (OVS_PORT, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_OVS_PORT) /*****************************************************************************/ diff --git a/libnm-core/nm-setting-ppp.c b/libnm-core/nm-setting-ppp.c index 32900c8463..4702d8a042 100644 --- a/libnm-core/nm-setting-ppp.c +++ b/libnm-core/nm-setting-ppp.c @@ -37,7 +37,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingPpp, nm_setting_ppp, NM_TYPE_SETTING, _nm_register_setting (PPP, NM_SETTING_PRIORITY_AUX)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_PPP) #define NM_SETTING_PPP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PPP, NMSettingPppPrivate)) diff --git a/libnm-core/nm-setting-pppoe.c b/libnm-core/nm-setting-pppoe.c index d7a1a0db26..da5bfc9d0c 100644 --- a/libnm-core/nm-setting-pppoe.c +++ b/libnm-core/nm-setting-pppoe.c @@ -40,7 +40,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingPppoe, nm_setting_pppoe, NM_TYPE_SETTING, _nm_register_setting (PPPOE, NM_SETTING_PRIORITY_AUX)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_PPPOE) #define NM_SETTING_PPPOE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PPPOE, NMSettingPppoePrivate)) diff --git a/libnm-core/nm-setting-private.h b/libnm-core/nm-setting-private.h index 863ea9f3b5..49bf963dda 100644 --- a/libnm-core/nm-setting-private.h +++ b/libnm-core/nm-setting-private.h @@ -85,11 +85,6 @@ gboolean _nm_setting_clear_secrets_with_flags (NMSetting *setting, */ #define NM_SETTING_PARAM_REAPPLY_IMMEDIATELY (1 << (6 + G_PARAM_USER_SHIFT)) -/* Ensure the setting's GType is registered at library load time */ -#define NM_SETTING_REGISTER_TYPE(x) \ -static void __attribute__((constructor)) register_setting (void) \ -{ g_type_ensure (x); } - GVariant *_nm_setting_get_deprecated_virtual_interface_name (NMSetting *setting, NMConnection *connection, const char *property); diff --git a/libnm-core/nm-setting-proxy.c b/libnm-core/nm-setting-proxy.c index 58a2208031..c32abd824e 100644 --- a/libnm-core/nm-setting-proxy.c +++ b/libnm-core/nm-setting-proxy.c @@ -41,7 +41,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingProxy, nm_setting_proxy, NM_TYPE_SETTING, _nm_register_setting (PROXY, NM_SETTING_PRIORITY_IP)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_PROXY) #define NM_SETTING_PROXY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PROXY, NMSettingProxyPrivate)) diff --git a/libnm-core/nm-setting-serial.c b/libnm-core/nm-setting-serial.c index e86988b5b4..51551835b2 100644 --- a/libnm-core/nm-setting-serial.c +++ b/libnm-core/nm-setting-serial.c @@ -39,7 +39,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingSerial, nm_setting_serial, NM_TYPE_SETTING, _nm_register_setting (SERIAL, NM_SETTING_PRIORITY_HW_AUX)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_SERIAL) #define NM_SETTING_SERIAL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_SERIAL, NMSettingSerialPrivate)) diff --git a/libnm-core/nm-setting-tc-config.c b/libnm-core/nm-setting-tc-config.c index f50969fb7c..04e2f2d510 100644 --- a/libnm-core/nm-setting-tc-config.c +++ b/libnm-core/nm-setting-tc-config.c @@ -836,7 +836,6 @@ struct _NMSettingTCConfigClass { G_DEFINE_TYPE_WITH_CODE (NMSettingTCConfig, nm_setting_tc_config, NM_TYPE_SETTING, _nm_register_setting (TC_CONFIG, NM_SETTING_PRIORITY_IP)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_TC_CONFIG) /** * nm_setting_tc_config_new: diff --git a/libnm-core/nm-setting-team-port.c b/libnm-core/nm-setting-team-port.c index b902b822d8..76f0eec1a7 100644 --- a/libnm-core/nm-setting-team-port.c +++ b/libnm-core/nm-setting-team-port.c @@ -41,7 +41,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingTeamPort, nm_setting_team_port, NM_TYPE_SETTING, _nm_register_setting (TEAM_PORT, NM_SETTING_PRIORITY_AUX)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_TEAM_PORT) #define NM_SETTING_TEAM_PORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TEAM_PORT, NMSettingTeamPortPrivate)) diff --git a/libnm-core/nm-setting-team.c b/libnm-core/nm-setting-team.c index 195e509c1e..138ad85a6d 100644 --- a/libnm-core/nm-setting-team.c +++ b/libnm-core/nm-setting-team.c @@ -559,7 +559,6 @@ nm_team_link_watcher_get_flags (NMTeamLinkWatcher *watcher) G_DEFINE_TYPE_WITH_CODE (NMSettingTeam, nm_setting_team, NM_TYPE_SETTING, _nm_register_setting (TEAM, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_TEAM) #define NM_SETTING_TEAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TEAM, NMSettingTeamPrivate)) diff --git a/libnm-core/nm-setting-tun.c b/libnm-core/nm-setting-tun.c index edcb3ffdc9..de39439557 100644 --- a/libnm-core/nm-setting-tun.c +++ b/libnm-core/nm-setting-tun.c @@ -40,7 +40,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingTun, nm_setting_tun, NM_TYPE_SETTING, _nm_register_setting (TUN, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_TUN) #define NM_SETTING_TUN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TUN, NMSettingTunPrivate)) diff --git a/libnm-core/nm-setting-user.c b/libnm-core/nm-setting-user.c index ccc030aacd..56dd71e93f 100644 --- a/libnm-core/nm-setting-user.c +++ b/libnm-core/nm-setting-user.c @@ -65,7 +65,6 @@ struct _NMSettingUserClass { G_DEFINE_TYPE_WITH_CODE (NMSettingUser, nm_setting_user, NM_TYPE_SETTING, _nm_register_setting (USER, NM_SETTING_PRIORITY_USER)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_USER) #define NM_SETTING_USER_GET_PRIVATE(self) _NM_GET_PRIVATE(self, NMSettingUser, NM_IS_SETTING_USER) diff --git a/libnm-core/nm-setting-vlan.c b/libnm-core/nm-setting-vlan.c index f9c6e02d66..56e44b76cf 100644 --- a/libnm-core/nm-setting-vlan.c +++ b/libnm-core/nm-setting-vlan.c @@ -43,7 +43,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingVlan, nm_setting_vlan, NM_TYPE_SETTING, _nm_register_setting (VLAN, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_VLAN) #define NM_SETTING_VLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_VLAN, NMSettingVlanPrivate)) diff --git a/libnm-core/nm-setting-vpn.c b/libnm-core/nm-setting-vpn.c index a921f51fed..66c902045d 100644 --- a/libnm-core/nm-setting-vpn.c +++ b/libnm-core/nm-setting-vpn.c @@ -45,7 +45,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingVpn, nm_setting_vpn, NM_TYPE_SETTING, _nm_register_setting (VPN, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_VPN) #define NM_SETTING_VPN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_VPN, NMSettingVpnPrivate)) diff --git a/libnm-core/nm-setting-vxlan.c b/libnm-core/nm-setting-vxlan.c index 4be6a236f9..c76ac6229b 100644 --- a/libnm-core/nm-setting-vxlan.c +++ b/libnm-core/nm-setting-vxlan.c @@ -38,7 +38,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingVxlan, nm_setting_vxlan, NM_TYPE_SETTING, _nm_register_setting (VXLAN, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_VXLAN) #define NM_SETTING_VXLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_VXLAN, NMSettingVxlanPrivate)) diff --git a/libnm-core/nm-setting-wimax.c b/libnm-core/nm-setting-wimax.c index dbfb46e4c8..0669b09e4f 100644 --- a/libnm-core/nm-setting-wimax.c +++ b/libnm-core/nm-setting-wimax.c @@ -44,7 +44,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingWimax, nm_setting_wimax, NM_TYPE_SETTING, _nm_register_setting (WIMAX, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_WIMAX) #define NM_SETTING_WIMAX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIMAX, NMSettingWimaxPrivate)) diff --git a/libnm-core/nm-setting-wired.c b/libnm-core/nm-setting-wired.c index 5da9ce7d7f..1ff0f95672 100644 --- a/libnm-core/nm-setting-wired.c +++ b/libnm-core/nm-setting-wired.c @@ -42,7 +42,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingWired, nm_setting_wired, NM_TYPE_SETTING, _nm_register_setting (WIRED, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_WIRED) #define NM_SETTING_WIRED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIRED, NMSettingWiredPrivate)) diff --git a/libnm-core/nm-setting-wireless-security.c b/libnm-core/nm-setting-wireless-security.c index 31e386f35b..7ba038e490 100644 --- a/libnm-core/nm-setting-wireless-security.c +++ b/libnm-core/nm-setting-wireless-security.c @@ -55,7 +55,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingWirelessSecurity, nm_setting_wireless_security, NM_TYPE_SETTING, _nm_register_setting (WIRELESS_SECURITY, NM_SETTING_PRIORITY_HW_AUX)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_WIRELESS_SECURITY) #define NM_SETTING_WIRELESS_SECURITY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIRELESS_SECURITY, NMSettingWirelessSecurityPrivate)) diff --git a/libnm-core/nm-setting-wireless.c b/libnm-core/nm-setting-wireless.c index 89a2df8ebe..40708e1729 100644 --- a/libnm-core/nm-setting-wireless.c +++ b/libnm-core/nm-setting-wireless.c @@ -42,7 +42,6 @@ G_DEFINE_TYPE_WITH_CODE (NMSettingWireless, nm_setting_wireless, NM_TYPE_SETTING, _nm_register_setting (WIRELESS, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_WIRELESS) #define NM_SETTING_WIRELESS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIRELESS, NMSettingWirelessPrivate)) diff --git a/libnm-core/nm-setting.c b/libnm-core/nm-setting.c index 7fdbc34c07..0274c4e3d2 100644 --- a/libnm-core/nm-setting.c +++ b/libnm-core/nm-setting.c @@ -72,9 +72,7 @@ typedef struct { const SettingInfo *info; } NMSettingPrivate; -static void _register_settings_init (void); - -G_DEFINE_ABSTRACT_TYPE_WITH_CODE (NMSetting, nm_setting, G_TYPE_OBJECT, _register_settings_init () ) +G_DEFINE_ABSTRACT_TYPE (NMSetting, nm_setting, G_TYPE_OBJECT) #define NM_SETTING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING, NMSettingPrivate)) @@ -94,14 +92,75 @@ _nm_gtype_hash (gconstpointer v) return *((const GType *) v); } +/*****************************************************************************/ + static void -_register_settings_init (void) +_register_settings_ensure_types (void) { - registered_settings = g_hash_table_new (nm_str_hash, g_str_equal); - registered_settings_by_type = g_hash_table_new (_nm_gtype_hash, _nm_gtype_equal); +#define ENSURE_TYPE(get_type) \ + G_STMT_START { \ + GType get_type (void); \ + \ + get_type (); \ + } G_STMT_END + + ENSURE_TYPE (nm_setting_802_1x_get_type); + ENSURE_TYPE (nm_setting_adsl_get_type); + ENSURE_TYPE (nm_setting_bluetooth_get_type); + ENSURE_TYPE (nm_setting_bond_get_type); + ENSURE_TYPE (nm_setting_bridge_get_type); + ENSURE_TYPE (nm_setting_bridge_port_get_type); + ENSURE_TYPE (nm_setting_cdma_get_type); + ENSURE_TYPE (nm_setting_connection_get_type); + ENSURE_TYPE (nm_setting_dcb_get_type); + ENSURE_TYPE (nm_setting_dummy_get_type); + ENSURE_TYPE (nm_setting_generic_get_type); + ENSURE_TYPE (nm_setting_gsm_get_type); + ENSURE_TYPE (nm_setting_infiniband_get_type); + ENSURE_TYPE (nm_setting_ip4_config_get_type); + ENSURE_TYPE (nm_setting_ip6_config_get_type); + ENSURE_TYPE (nm_setting_ip_tunnel_get_type); + ENSURE_TYPE (nm_setting_macsec_get_type); + ENSURE_TYPE (nm_setting_macvlan_get_type); + ENSURE_TYPE (nm_setting_olpc_mesh_get_type); + ENSURE_TYPE (nm_setting_ovs_bridge_get_type); + ENSURE_TYPE (nm_setting_ovs_interface_get_type); + ENSURE_TYPE (nm_setting_ovs_patch_get_type); + ENSURE_TYPE (nm_setting_ovs_port_get_type); + ENSURE_TYPE (nm_setting_ppp_get_type); + ENSURE_TYPE (nm_setting_pppoe_get_type); + ENSURE_TYPE (nm_setting_proxy_get_type); + ENSURE_TYPE (nm_setting_serial_get_type); + ENSURE_TYPE (nm_setting_tc_config_get_type); + ENSURE_TYPE (nm_setting_team_get_type); + ENSURE_TYPE (nm_setting_team_port_get_type); + ENSURE_TYPE (nm_setting_tun_get_type); + ENSURE_TYPE (nm_setting_user_get_type); + ENSURE_TYPE (nm_setting_vlan_get_type); + ENSURE_TYPE (nm_setting_vpn_get_type); + ENSURE_TYPE (nm_setting_vxlan_get_type); + ENSURE_TYPE (nm_setting_wimax_get_type); + ENSURE_TYPE (nm_setting_wired_get_type); + ENSURE_TYPE (nm_setting_wireless_get_type); + ENSURE_TYPE (nm_setting_wireless_security_get_type); } -#define _register_settings_ensure_inited() (nm_setting_get_type ()) +/*****************************************************************************/ + +static int volatile _register_settings_ensure_inited_val = 0; + +#define _register_settings_ensure_inited() \ + G_STMT_START { \ + if (G_UNLIKELY (_register_settings_ensure_inited_val == 0)) \ + _register_settings_ensure_inited_impl (); \ + } G_STMT_END + +static void +_register_settings_ensure_inited_impl (void) +{ + _register_settings_ensure_types (); + g_atomic_int_set (&_register_settings_ensure_inited_val, 1); +} /*****************************************************************************/ @@ -139,8 +198,6 @@ _nm_register_setting_impl (const char *name, nm_assert (!NM_IN_SET (type, G_TYPE_INVALID, G_TYPE_NONE)); nm_assert (priority != NM_SETTING_PRIORITY_INVALID); - _register_settings_ensure_inited (); - nm_assert ( priority != NM_SETTING_PRIORITY_CONNECTION || nm_streq (name, NM_SETTING_CONNECTION_SETTING_NAME)); @@ -150,14 +207,26 @@ _nm_register_setting_impl (const char *name, info->name = name; g_mutex_lock (&mutex); - nm_assert (registered_settings); - nm_assert (registered_settings_by_type); - nm_assert (!g_hash_table_contains (registered_settings, name)); - nm_assert (!g_hash_table_contains (registered_settings_by_type, &type)); + + if (!registered_settings) { + nm_assert (!registered_settings_by_type); + registered_settings = g_hash_table_new (nm_str_hash, g_str_equal); + registered_settings_by_type = g_hash_table_new (_nm_gtype_hash, _nm_gtype_equal); + } else { + nm_assert (!g_hash_table_contains (registered_settings, name)); + nm_assert (!g_hash_table_contains (registered_settings_by_type, &type)); + } g_hash_table_insert (registered_settings, (void *) info->name, info); g_hash_table_insert (registered_settings_by_type, &info->type, info); + g_mutex_unlock (&mutex); + + /* we cannot register types, after _register_settings_ensure_inited() is done. + * + * This means, you need to register the type in _register_settings_ensure_types() + * above. */ + nm_assert (g_atomic_int_get (&_register_settings_ensure_inited_val) == 0); } static const SettingInfo * |