From e46d484fae9e04c3dabf9fad7542c5d7a3dedf0d Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 11 Jun 2021 00:27:31 +0200 Subject: [PATCH] libnm: hide NMSetting types from public headers When subclassing a GObject type, the class and object structs must be available and defined in the header. For libnm, and in particular for NMSetting classes, we don't want users to subclass NMSetting. It also doesn't work, because libnm has internal code that is necessary to hook up the NMSetting class. You cannot define your own type and make it work together with libnm. Having the structs in public headers limits what we can do with them. For example, we could embed the private data directly in the structures and avoid the additional indirection. This is an API break, but for something that most likely nobody cares about. Or better, nobody should care about. API is not what is accidentally defined in a header, API was the library provides to meaningfully use. Subclassing these types is not meaningful and was only accidentally possible so far. Only hide the structs for now. More cleanup is possible later. We shall however aim to keep the padding and struct layout to not also break ABI. --- src/libnm-core-impl/nm-keyfile.c | 1 + .../nm-meta-setting-base-impl.c | 8 ++ src/libnm-core-impl/nm-setting-8021x.c | 16 +++ src/libnm-core-impl/nm-setting-adsl.c | 16 +++ src/libnm-core-impl/nm-setting-bluetooth.c | 16 +++ src/libnm-core-impl/nm-setting-bond.c | 16 +++ src/libnm-core-impl/nm-setting-bridge-port.c | 18 +++ src/libnm-core-impl/nm-setting-cdma.c | 16 +++ src/libnm-core-impl/nm-setting-connection.c | 16 +++ src/libnm-core-impl/nm-setting-dcb.c | 16 +++ src/libnm-core-impl/nm-setting-dummy.c | 16 +++ src/libnm-core-impl/nm-setting-generic.c | 16 +++ src/libnm-core-impl/nm-setting-gsm.c | 16 +++ src/libnm-core-impl/nm-setting-infiniband.c | 16 +++ src/libnm-core-impl/nm-setting-ip-tunnel.c | 16 +++ src/libnm-core-impl/nm-setting-ip4-config.c | 16 +++ src/libnm-core-impl/nm-setting-ip6-config.c | 16 +++ src/libnm-core-impl/nm-setting-macsec.c | 16 +++ src/libnm-core-impl/nm-setting-macvlan.c | 16 +++ src/libnm-core-impl/nm-setting-olpc-mesh.c | 16 +++ src/libnm-core-impl/nm-setting-ppp.c | 16 +++ src/libnm-core-impl/nm-setting-pppoe.c | 16 +++ src/libnm-core-impl/nm-setting-private.h | 110 ++++++++++++++++++ src/libnm-core-impl/nm-setting-proxy.c | 15 +++ src/libnm-core-impl/nm-setting-serial.c | 16 +++ src/libnm-core-impl/nm-setting-team-port.c | 16 +++ src/libnm-core-impl/nm-setting-team.c | 16 +++ src/libnm-core-impl/nm-setting-tun.c | 16 +++ src/libnm-core-impl/nm-setting-vlan.c | 16 +++ src/libnm-core-impl/nm-setting-vpn.c | 16 +++ src/libnm-core-impl/nm-setting-vxlan.c | 16 +++ src/libnm-core-impl/nm-setting-wimax.c | 16 +++ src/libnm-core-impl/nm-setting-wired.c | 16 +++ .../nm-setting-wireless-security.c | 16 +++ src/libnm-core-impl/nm-setting-wireless.c | 16 +++ src/libnm-core-public/nm-setting-8021x.h | 16 +-- src/libnm-core-public/nm-setting-adsl.h | 16 +-- src/libnm-core-public/nm-setting-bluetooth.h | 16 +-- src/libnm-core-public/nm-setting-bond.h | 16 +-- .../nm-setting-bridge-port.h | 16 +-- src/libnm-core-public/nm-setting-cdma.h | 16 +-- src/libnm-core-public/nm-setting-connection.h | 16 +-- src/libnm-core-public/nm-setting-dcb.h | 16 +-- src/libnm-core-public/nm-setting-dummy.h | 16 +-- src/libnm-core-public/nm-setting-generic.h | 16 +-- src/libnm-core-public/nm-setting-gsm.h | 16 +-- src/libnm-core-public/nm-setting-infiniband.h | 16 +-- src/libnm-core-public/nm-setting-ip-config.h | 14 +-- src/libnm-core-public/nm-setting-ip-tunnel.h | 16 +-- src/libnm-core-public/nm-setting-ip4-config.h | 16 +-- src/libnm-core-public/nm-setting-ip6-config.h | 16 +-- src/libnm-core-public/nm-setting-macsec.h | 16 +-- src/libnm-core-public/nm-setting-macvlan.h | 16 +-- src/libnm-core-public/nm-setting-olpc-mesh.h | 16 +-- src/libnm-core-public/nm-setting-ppp.h | 16 +-- src/libnm-core-public/nm-setting-pppoe.h | 16 +-- src/libnm-core-public/nm-setting-proxy.h | 15 +-- src/libnm-core-public/nm-setting-serial.h | 16 +-- src/libnm-core-public/nm-setting-team-port.h | 16 +-- src/libnm-core-public/nm-setting-team.h | 16 +-- src/libnm-core-public/nm-setting-tun.h | 16 +-- src/libnm-core-public/nm-setting-vlan.h | 16 +-- src/libnm-core-public/nm-setting-vpn.h | 16 +-- src/libnm-core-public/nm-setting-vxlan.h | 16 +-- src/libnm-core-public/nm-setting-wimax.h | 16 +-- src/libnm-core-public/nm-setting-wired.h | 16 +-- .../nm-setting-wireless-security.h | 16 +-- src/libnm-core-public/nm-setting-wireless.h | 16 +-- src/libnm-core-public/nm-setting.h | 92 +-------------- .../nm-meta-setting-base-impl.c | 8 ++ 70 files changed, 674 insertions(+), 583 deletions(-) diff --git a/src/libnm-core-impl/nm-keyfile.c b/src/libnm-core-impl/nm-keyfile.c index 3bd87c5fb4..91fd1f3ec7 100644 --- a/src/libnm-core-impl/nm-keyfile.c +++ b/src/libnm-core-impl/nm-keyfile.c @@ -26,6 +26,7 @@ #include "libnm-core-intern/nm-core-internal.h" #include "nm-keyfile.h" +#include "nm-setting-private.h" #include "nm-setting-user.h" #include "nm-setting-ovs-external-ids.h" 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 da85e5683b..e049e2339d 100644 --- a/src/libnm-core-impl/nm-meta-setting-base-impl.c +++ b/src/libnm-core-impl/nm-meta-setting-base-impl.c @@ -7,6 +7,10 @@ #include "nm-meta-setting-base.h" +#if _NM_META_SETTING_BASE_IMPL_LIBNM + #include "libnm-core-impl/nm-default-libnm-core.h" +#endif + #include "nm-setting-6lowpan.h" #include "nm-setting-8021x.h" #include "nm-setting-adsl.h" @@ -59,6 +63,10 @@ #include "nm-setting-wireless.h" #include "nm-setting-wpan.h" +#if _NM_META_SETTING_BASE_IMPL_LIBNM + #include "nm-setting-private.h" +#endif + /*****************************************************************************/ const NMSetting8021xSchemeVtable nm_setting_8021x_scheme_vtable[] = { diff --git a/src/libnm-core-impl/nm-setting-8021x.c b/src/libnm-core-impl/nm-setting-8021x.c index 8524a80533..de330a92ef 100644 --- a/src/libnm-core-impl/nm-setting-8021x.c +++ b/src/libnm-core-impl/nm-setting-8021x.c @@ -180,6 +180,22 @@ typedef struct { bool system_ca_certs : 1; } NMSetting8021xPrivate; +/** + * NMSetting8021x: + * + * IEEE 802.1x Authentication Settings + */ +struct _NMSetting8021x { + NMSetting parent; +}; + +struct _NMSetting8021xClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSetting8021x, nm_setting_802_1x, NM_TYPE_SETTING) #define NM_SETTING_802_1X_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-adsl.c b/src/libnm-core-impl/nm-setting-adsl.c index 5b1afab69f..4223e37d8d 100644 --- a/src/libnm-core-impl/nm-setting-adsl.c +++ b/src/libnm-core-impl/nm-setting-adsl.c @@ -40,6 +40,22 @@ typedef struct { guint32 vci; } NMSettingAdslPrivate; +/** + * NMSettingAdsl: + * + * ADSL Settings + */ +struct _NMSettingAdsl { + NMSetting parent; +}; + +struct _NMSettingAdslClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingAdsl, nm_setting_adsl, NM_TYPE_SETTING) #define NM_SETTING_ADSL_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-bluetooth.c b/src/libnm-core-impl/nm-setting-bluetooth.c index 18d08487e1..b0fe71e4db 100644 --- a/src/libnm-core-impl/nm-setting-bluetooth.c +++ b/src/libnm-core-impl/nm-setting-bluetooth.c @@ -36,6 +36,22 @@ typedef struct { char *type; } NMSettingBluetoothPrivate; +/** + * NMSettingBluetooth: + * + * Bluetooth Settings + */ +struct _NMSettingBluetooth { + NMSetting parent; +}; + +struct _NMSettingBluetoothClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingBluetooth, nm_setting_bluetooth, NM_TYPE_SETTING) #define NM_SETTING_BLUETOOTH_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-bond.c b/src/libnm-core-impl/nm-setting-bond.c index 2860f29ee2..eaf1712fcc 100644 --- a/src/libnm-core-impl/nm-setting-bond.c +++ b/src/libnm-core-impl/nm-setting-bond.c @@ -38,6 +38,22 @@ typedef struct { NMUtilsNamedValue *options_idx_cache; } NMSettingBondPrivate; +/** + * NMSettingBond: + * + * Bonding Settings + */ +struct _NMSettingBond { + NMSetting parent; +}; + +struct _NMSettingBondClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingBond, nm_setting_bond, NM_TYPE_SETTING) #define NM_SETTING_BOND_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-bridge-port.c b/src/libnm-core-impl/nm-setting-bridge-port.c index 415b65e355..a23ab68656 100644 --- a/src/libnm-core-impl/nm-setting-bridge-port.c +++ b/src/libnm-core-impl/nm-setting-bridge-port.c @@ -39,11 +39,29 @@ typedef struct { bool hairpin_mode : 1; } NMSettingBridgePortPrivate; +/** + * NMSettingBridgePort: + * + * Bridge Port Settings + */ +struct _NMSettingBridgePort { + NMSetting parent; +}; + +struct _NMSettingBridgePortClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingBridgePort, nm_setting_bridge_port, NM_TYPE_SETTING) #define NM_SETTING_BRIDGE_PORT_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE((o), NM_TYPE_SETTING_BRIDGE_PORT, NMSettingBridgePortPrivate)) +/*****************************************************************************/ + static int vlan_ptr_cmp(gconstpointer a, gconstpointer b) { diff --git a/src/libnm-core-impl/nm-setting-cdma.c b/src/libnm-core-impl/nm-setting-cdma.c index bb30d10425..caec308287 100644 --- a/src/libnm-core-impl/nm-setting-cdma.c +++ b/src/libnm-core-impl/nm-setting-cdma.c @@ -36,6 +36,22 @@ typedef struct { NMSettingSecretFlags password_flags; } NMSettingCdmaPrivate; +/** + * NMSettingCdma: + * + * CDMA-based Mobile Broadband Settings + */ +struct _NMSettingCdma { + NMSetting parent; +}; + +struct _NMSettingCdmaClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingCdma, nm_setting_cdma, NM_TYPE_SETTING) #define NM_SETTING_CDMA_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-connection.c b/src/libnm-core-impl/nm-setting-connection.c index 110f2937b0..3288916701 100644 --- a/src/libnm-core-impl/nm-setting-connection.c +++ b/src/libnm-core-impl/nm-setting-connection.c @@ -97,6 +97,22 @@ typedef struct { bool autoconnect : 1; } NMSettingConnectionPrivate; +/** + * NMSettingConnection: + * + * General Connection Profile Settings + */ +struct _NMSettingConnection { + NMSetting parent; +}; + +struct _NMSettingConnectionClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingConnection, nm_setting_connection, NM_TYPE_SETTING) #define NM_SETTING_CONNECTION_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-dcb.c b/src/libnm-core-impl/nm-setting-dcb.c index b7f0808769..0b176708c2 100644 --- a/src/libnm-core-impl/nm-setting-dcb.c +++ b/src/libnm-core-impl/nm-setting-dcb.c @@ -65,6 +65,22 @@ typedef struct { NMSettingDcbFlags priority_group_flags; } NMSettingDcbPrivate; +/** + * NMSettingDcb: + * + * Data Center Bridging Settings + */ +struct _NMSettingDcb { + NMSetting parent; +}; + +struct _NMSettingDcbClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingDcb, nm_setting_dcb, NM_TYPE_SETTING) #define NM_SETTING_DCB_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-dummy.c b/src/libnm-core-impl/nm-setting-dummy.c index f2b479b883..486dea9d43 100644 --- a/src/libnm-core-impl/nm-setting-dummy.c +++ b/src/libnm-core-impl/nm-setting-dummy.c @@ -21,6 +21,22 @@ /*****************************************************************************/ +/** + * NMSettingDummy: + * + * Dummy Link Settings + */ +struct _NMSettingDummy { + NMSetting parent; +}; + +struct _NMSettingDummyClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingDummy, nm_setting_dummy, NM_TYPE_SETTING) /*****************************************************************************/ diff --git a/src/libnm-core-impl/nm-setting-generic.c b/src/libnm-core-impl/nm-setting-generic.c index 70752c07eb..379428675a 100644 --- a/src/libnm-core-impl/nm-setting-generic.c +++ b/src/libnm-core-impl/nm-setting-generic.c @@ -27,6 +27,22 @@ typedef struct { int dummy; } NMSettingGenericPrivate; +/** + * NMSettingGeneric: + * + * Generic Link Settings + */ +struct _NMSettingGeneric { + NMSetting parent; +}; + +struct _NMSettingGenericClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingGeneric, nm_setting_generic, NM_TYPE_SETTING) #define NM_SETTING_GENERIC_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-gsm.c b/src/libnm-core-impl/nm-setting-gsm.c index a148e139f6..400dc3a82a 100644 --- a/src/libnm-core-impl/nm-setting-gsm.c +++ b/src/libnm-core-impl/nm-setting-gsm.c @@ -55,6 +55,22 @@ typedef struct { bool home_only : 1; } NMSettingGsmPrivate; +/** + * NMSettingGsm: + * + * GSM-based Mobile Broadband Settings + */ +struct _NMSettingGsm { + NMSetting parent; +}; + +struct _NMSettingGsmClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingGsm, nm_setting_gsm, NM_TYPE_SETTING) #define NM_SETTING_GSM_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-infiniband.c b/src/libnm-core-impl/nm-setting-infiniband.c index 11485dda06..5563f0b52a 100644 --- a/src/libnm-core-impl/nm-setting-infiniband.c +++ b/src/libnm-core-impl/nm-setting-infiniband.c @@ -40,6 +40,22 @@ typedef struct { guint32 mtu; } NMSettingInfinibandPrivate; +/** + * NMSettingInfiniband: + * + * Infiniband Settings + */ +struct _NMSettingInfiniband { + NMSetting parent; +}; + +struct _NMSettingInfinibandClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingInfiniband, nm_setting_infiniband, NM_TYPE_SETTING) #define NM_SETTING_INFINIBAND_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-ip-tunnel.c b/src/libnm-core-impl/nm-setting-ip-tunnel.c index fd392c2bd7..4a7276f9c1 100644 --- a/src/libnm-core-impl/nm-setting-ip-tunnel.c +++ b/src/libnm-core-impl/nm-setting-ip-tunnel.c @@ -47,6 +47,22 @@ typedef struct { bool path_mtu_discovery : 1; } NMSettingIPTunnelPrivate; +/** + * NMSettingIPTunnel: + * + * IP Tunneling Settings + */ +struct _NMSettingIPTunnel { + NMSetting parent; +}; + +struct _NMSettingIPTunnelClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingIPTunnel, nm_setting_ip_tunnel, NM_TYPE_SETTING) #define NM_SETTING_IP_TUNNEL_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-ip4-config.c b/src/libnm-core-impl/nm-setting-ip4-config.c index 7c386d1fd4..7b71ffe33e 100644 --- a/src/libnm-core-impl/nm-setting-ip4-config.c +++ b/src/libnm-core-impl/nm-setting-ip4-config.c @@ -45,6 +45,22 @@ typedef struct { char *dhcp_vendor_class_identifier; } NMSettingIP4ConfigPrivate; +/** + * NMSettingIP4Config: + * + * IPv4 Settings + */ +struct _NMSettingIP4Config { + NMSettingIPConfig parent; +}; + +struct _NMSettingIP4ConfigClass { + NMSettingIPConfigClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingIP4Config, nm_setting_ip4_config, NM_TYPE_SETTING_IP_CONFIG) #define NM_SETTING_IP4_CONFIG_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-ip6-config.c b/src/libnm-core-impl/nm-setting-ip6-config.c index e51fb838b9..d2229e1a90 100644 --- a/src/libnm-core-impl/nm-setting-ip6-config.c +++ b/src/libnm-core-impl/nm-setting-ip6-config.c @@ -52,6 +52,22 @@ typedef struct { gint32 ra_timeout; } NMSettingIP6ConfigPrivate; +/** + * NMSettingIP6Config: + * + * IPv6 Settings + */ +struct _NMSettingIP6Config { + NMSettingIPConfig parent; +}; + +struct _NMSettingIP6ConfigClass { + NMSettingIPConfigClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingIP6Config, nm_setting_ip6_config, NM_TYPE_SETTING_IP_CONFIG) #define NM_SETTING_IP6_CONFIG_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-macsec.c b/src/libnm-core-impl/nm-setting-macsec.c index 8cb0f280e0..2385917307 100644 --- a/src/libnm-core-impl/nm-setting-macsec.c +++ b/src/libnm-core-impl/nm-setting-macsec.c @@ -49,6 +49,22 @@ typedef struct { bool send_sci : 1; } NMSettingMacsecPrivate; +/** + * NMSettingMacsec: + * + * MACSec Settings + */ +struct _NMSettingMacsec { + NMSetting parent; +}; + +struct _NMSettingMacsecClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingMacsec, nm_setting_macsec, NM_TYPE_SETTING) #define NM_SETTING_MACSEC_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-macvlan.c b/src/libnm-core-impl/nm-setting-macvlan.c index 0e6414bce2..5ae0f8497d 100644 --- a/src/libnm-core-impl/nm-setting-macvlan.c +++ b/src/libnm-core-impl/nm-setting-macvlan.c @@ -34,6 +34,22 @@ typedef struct { bool tap : 1; } NMSettingMacvlanPrivate; +/** + * NMSettingMacvlan: + * + * MAC VLAN Settings + */ +struct _NMSettingMacvlan { + NMSetting parent; +}; + +struct _NMSettingMacvlanClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingMacvlan, nm_setting_macvlan, NM_TYPE_SETTING) #define NM_SETTING_MACVLAN_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-olpc-mesh.c b/src/libnm-core-impl/nm-setting-olpc-mesh.c index 0d58de6907..2121ee795b 100644 --- a/src/libnm-core-impl/nm-setting-olpc-mesh.c +++ b/src/libnm-core-impl/nm-setting-olpc-mesh.c @@ -33,6 +33,22 @@ typedef struct { guint32 channel; } NMSettingOlpcMeshPrivate; +/** + * NMSettingOlpcMesh: + * + * OLPC Wireless Mesh Settings + */ +struct _NMSettingOlpcMesh { + NMSetting parent; +}; + +struct _NMSettingOlpcMeshClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingOlpcMesh, nm_setting_olpc_mesh, NM_TYPE_SETTING) #define NM_SETTING_OLPC_MESH_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-ppp.c b/src/libnm-core-impl/nm-setting-ppp.c index cddd83420f..ce111ccb59 100644 --- a/src/libnm-core-impl/nm-setting-ppp.c +++ b/src/libnm-core-impl/nm-setting-ppp.c @@ -62,6 +62,22 @@ typedef struct { bool crtscts : 1; } NMSettingPppPrivate; +/** + * NMSettingPpp: + * + * Point-to-Point Protocol Settings + */ +struct _NMSettingPpp { + NMSetting parent; +}; + +struct _NMSettingPppClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingPpp, nm_setting_ppp, NM_TYPE_SETTING) #define NM_SETTING_PPP_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-pppoe.c b/src/libnm-core-impl/nm-setting-pppoe.c index 218bf94e7e..1839305033 100644 --- a/src/libnm-core-impl/nm-setting-pppoe.c +++ b/src/libnm-core-impl/nm-setting-pppoe.c @@ -37,6 +37,22 @@ typedef struct { NMSettingSecretFlags password_flags; } NMSettingPppoePrivate; +/** + * NMSettingPppoe: + * + * PPP-over-Ethernet Settings + */ +struct _NMSettingPppoe { + NMSetting parent; +}; + +struct _NMSettingPppoeClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingPppoe, nm_setting_pppoe, NM_TYPE_SETTING) #define NM_SETTING_PPPOE_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-private.h b/src/libnm-core-impl/nm-setting-private.h index bf59a3c802..b0abb28df5 100644 --- a/src/libnm-core-impl/nm-setting-private.h +++ b/src/libnm-core-impl/nm-setting-private.h @@ -19,6 +19,116 @@ /*****************************************************************************/ +/** + * NMSetting: + * + * The NMSetting struct contains only private data. + * It should only be accessed through the functions described below. + */ +struct _NMSetting { + GObject parent; +}; + +struct _NMSettingClass { + GObjectClass parent; + + /* Virtual functions */ + int (*verify)(NMSetting *setting, NMConnection *connection, GError **error); + + gboolean (*verify_secrets)(NMSetting *setting, NMConnection *connection, GError **error); + + GPtrArray *(*need_secrets)(NMSetting *setting); + + int (*update_one_secret)(NMSetting *setting, const char *key, GVariant *value, GError **error); + + gboolean (*get_secret_flags)(NMSetting * setting, + const char * secret_name, + NMSettingSecretFlags *out_flags, + GError ** error); + + gboolean (*set_secret_flags)(NMSetting * setting, + const char * secret_name, + NMSettingSecretFlags flags, + GError ** error); + + /* In the past, this struct was public API. Preserve ABI! */ + gboolean (*clear_secrets)(const struct _NMSettInfoSetting *sett_info, + guint property_idx, + NMSetting * setting, + NMSettingClearSecretsWithFlagsFn func, + gpointer user_data); + + /* compare_property() returns a ternary, where DEFAULT means that the property should not + * be compared due to the compare @flags. A TRUE/FALSE result means that the property is + * equal/not-equal. + * + * @other may be %NULL, in which case the function only determines whether + * the setting should be compared (TRUE) or not (DEFAULT). */ + /* In the past, this struct was public API. Preserve ABI! */ + NMTernary (*compare_property)(const struct _NMSettInfoSetting *sett_info, + guint property_idx, + NMConnection * con_a, + NMSetting * set_a, + NMConnection * con_b, + NMSetting * set_b, + NMSettingCompareFlags flags); + + /* In the past, this struct was public API. Preserve ABI! */ + void (*duplicate_copy_properties)(const struct _NMSettInfoSetting *sett_info, + NMSetting * src, + NMSetting * dst); + + /* In the past, this struct was public API. Preserve ABI! */ + void (*enumerate_values)(const struct _NMSettInfoProperty *property_info, + NMSetting * setting, + NMSettingValueIterFn func, + gpointer user_data); + + /* In the past, this struct was public API. Preserve ABI! */ + gboolean (*aggregate)(NMSetting *setting, int type_i, gpointer arg); + + /* In the past, this struct was public API. Preserve ABI! */ + void (*for_each_secret)(NMSetting * setting, + const char * secret_name, + GVariant * val, + gboolean remove_non_secrets, + _NMConnectionForEachSecretFunc callback, + gpointer callback_data, + GVariantBuilder * setting_builder); + + /* In the past, this struct was public API. Preserve ABI! */ + gboolean (*init_from_dbus)(NMSetting * setting, + GHashTable * keys, + GVariant * setting_dict, + GVariant * connection_dict, + guint /* NMSettingParseFlags */ parse_flags, + GError ** error); + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[1]; + + /* In the past, this struct was public API. Preserve ABI! */ + const struct _NMMetaSettingInfo *setting_info; +}; + +/*****************************************************************************/ + +/** + * NMSettingIPConfig: + */ +struct _NMSettingIPConfig { + NMSetting parent; +}; + +struct _NMSettingIPConfigClass { + NMSettingClass parent; + + /* Padding for future expansion */ + gpointer padding[8]; +}; + +/*****************************************************************************/ + NMSettingPriority _nm_setting_get_base_type_priority(NMSetting *setting); int _nm_setting_compare_priority(gconstpointer a, gconstpointer b); diff --git a/src/libnm-core-impl/nm-setting-proxy.c b/src/libnm-core-impl/nm-setting-proxy.c index 1e7eca8238..50c6cc08aa 100644 --- a/src/libnm-core-impl/nm-setting-proxy.c +++ b/src/libnm-core-impl/nm-setting-proxy.c @@ -35,6 +35,21 @@ typedef struct { bool browser_only : 1; } NMSettingProxyPrivate; +/** + * NMSettingProxy: + * + * WWW Proxy Settings + */ +struct _NMSettingProxy { + NMSetting parent; +}; + +struct _NMSettingProxyClass { + NMSettingClass parent; + + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingProxy, nm_setting_proxy, NM_TYPE_SETTING) #define NM_SETTING_PROXY_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-serial.c b/src/libnm-core-impl/nm-setting-serial.c index 1df87b638d..44dbd43c64 100644 --- a/src/libnm-core-impl/nm-setting-serial.c +++ b/src/libnm-core-impl/nm-setting-serial.c @@ -36,6 +36,22 @@ typedef struct { char parity; } NMSettingSerialPrivate; +/** + * NMSettingSerial: + * + * Serial Link Settings + */ +struct _NMSettingSerial { + NMSetting parent; +}; + +struct _NMSettingSerialClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingSerial, nm_setting_serial, NM_TYPE_SETTING) #define NM_SETTING_SERIAL_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-team-port.c b/src/libnm-core-impl/nm-setting-team-port.c index f3e3adb50b..1e45d731b3 100644 --- a/src/libnm-core-impl/nm-setting-team-port.c +++ b/src/libnm-core-impl/nm-setting-team-port.c @@ -35,6 +35,22 @@ typedef struct { NMTeamSetting *team_setting; } NMSettingTeamPortPrivate; +/** + * NMSettingTeamPort: + * + * Team Port Settings + */ +struct _NMSettingTeamPort { + NMSetting parent; +}; + +struct _NMSettingTeamPortClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingTeamPort, nm_setting_team_port, NM_TYPE_SETTING) #define NM_SETTING_TEAM_PORT_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-team.c b/src/libnm-core-impl/nm-setting-team.c index d05f04cfab..d90d940826 100644 --- a/src/libnm-core-impl/nm-setting-team.c +++ b/src/libnm-core-impl/nm-setting-team.c @@ -735,6 +735,22 @@ typedef struct { NMTeamSetting *team_setting; } NMSettingTeamPrivate; +/** + * NMSettingTeam: + * + * Teaming Settings + */ +struct _NMSettingTeam { + NMSetting parent; +}; + +struct _NMSettingTeamClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingTeam, nm_setting_team, NM_TYPE_SETTING) #define NM_SETTING_TEAM_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-tun.c b/src/libnm-core-impl/nm-setting-tun.c index 412292a2e4..e989e0be8f 100644 --- a/src/libnm-core-impl/nm-setting-tun.c +++ b/src/libnm-core-impl/nm-setting-tun.c @@ -40,6 +40,22 @@ typedef struct { bool multi_queue : 1; } NMSettingTunPrivate; +/** + * NMSettingTun: + * + * Tunnel Settings + */ +struct _NMSettingTun { + NMSetting parent; +}; + +struct _NMSettingTunClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingTun, nm_setting_tun, NM_TYPE_SETTING) #define NM_SETTING_TUN_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-vlan.c b/src/libnm-core-impl/nm-setting-vlan.c index 6acf2936a1..3ac0d64763 100644 --- a/src/libnm-core-impl/nm-setting-vlan.c +++ b/src/libnm-core-impl/nm-setting-vlan.c @@ -41,6 +41,22 @@ typedef struct { guint32 flags; } NMSettingVlanPrivate; +/** + * NMSettingVlan: + * + * VLAN Settings + */ +struct _NMSettingVlan { + NMSetting parent; +}; + +struct _NMSettingVlanClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingVlan, nm_setting_vlan, NM_TYPE_SETTING) #define NM_SETTING_VLAN_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-vpn.c b/src/libnm-core-impl/nm-setting-vpn.c index a70fa9b939..139860974b 100644 --- a/src/libnm-core-impl/nm-setting-vpn.c +++ b/src/libnm-core-impl/nm-setting-vpn.c @@ -74,6 +74,22 @@ typedef struct { guint32 timeout; } NMSettingVpnPrivate; +/** + * NMSettingVpn: + * + * VPN Settings + */ +struct _NMSettingVpn { + NMSetting parent; +}; + +struct _NMSettingVpnClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingVpn, nm_setting_vpn, NM_TYPE_SETTING) #define NM_SETTING_VPN_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-vxlan.c b/src/libnm-core-impl/nm-setting-vxlan.c index ad7156f22f..b65d2a2a4e 100644 --- a/src/libnm-core-impl/nm-setting-vxlan.c +++ b/src/libnm-core-impl/nm-setting-vxlan.c @@ -60,6 +60,22 @@ typedef struct { bool l3_miss : 1; } NMSettingVxlanPrivate; +/** + * NMSettingVxlan: + * + * VXLAN Settings + */ +struct _NMSettingVxlan { + NMSetting parent; +}; + +struct _NMSettingVxlanClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingVxlan, nm_setting_vxlan, NM_TYPE_SETTING) #define NM_SETTING_VXLAN_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-wimax.c b/src/libnm-core-impl/nm-setting-wimax.c index 3051405941..e16e25279b 100644 --- a/src/libnm-core-impl/nm-setting-wimax.c +++ b/src/libnm-core-impl/nm-setting-wimax.c @@ -35,6 +35,22 @@ typedef struct { char *mac_address; } NMSettingWimaxPrivate; +/** + * NMSettingWimax: + * + * WiMax Settings + */ +struct _NMSettingWimax { + NMSetting parent; +}; + +struct _NMSettingWimaxClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingWimax, nm_setting_wimax, NM_TYPE_SETTING) #define NM_SETTING_WIMAX_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-wired.c b/src/libnm-core-impl/nm-setting-wired.c index eb38641cee..f00a272009 100644 --- a/src/libnm-core-impl/nm-setting-wired.c +++ b/src/libnm-core-impl/nm-setting-wired.c @@ -69,6 +69,22 @@ typedef struct { bool auto_negotiate : 1; } NMSettingWiredPrivate; +/** + * NMSettingWired: + * + * Wired Ethernet Settings + */ +struct _NMSettingWired { + NMSetting parent; +}; + +struct _NMSettingWiredClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingWired, nm_setting_wired, NM_TYPE_SETTING) #define NM_SETTING_WIRED_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-wireless-security.c b/src/libnm-core-impl/nm-setting-wireless-security.c index 74881b5888..069309f8c8 100644 --- a/src/libnm-core-impl/nm-setting-wireless-security.c +++ b/src/libnm-core-impl/nm-setting-wireless-security.c @@ -84,6 +84,22 @@ typedef struct { guint32 wep_tx_keyidx; } NMSettingWirelessSecurityPrivate; +/** + * NMSettingWirelessSecurity: + * + * Wi-Fi Security Settings + */ +struct _NMSettingWirelessSecurity { + NMSetting parent; +}; + +struct _NMSettingWirelessSecurityClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingWirelessSecurity, nm_setting_wireless_security, NM_TYPE_SETTING) #define NM_SETTING_WIRELESS_SECURITY_GET_PRIVATE(o) \ diff --git a/src/libnm-core-impl/nm-setting-wireless.c b/src/libnm-core-impl/nm-setting-wireless.c index 95041aeaa5..fe8eaa6427 100644 --- a/src/libnm-core-impl/nm-setting-wireless.c +++ b/src/libnm-core-impl/nm-setting-wireless.c @@ -66,6 +66,22 @@ typedef struct { bool hidden : 1; } NMSettingWirelessPrivate; +/** + * NMSettingWireless: + * + * Wi-Fi Settings + */ +struct _NMSettingWireless { + NMSetting parent; +}; + +struct _NMSettingWirelessClass { + NMSettingClass parent; + + /* In the past, this struct was public API. Preserve ABI! */ + gpointer padding[4]; +}; + G_DEFINE_TYPE(NMSettingWireless, nm_setting_wireless, NM_TYPE_SETTING) #define NM_SETTING_WIRELESS_GET_PRIVATE(o) \ diff --git a/src/libnm-core-public/nm-setting-8021x.h b/src/libnm-core-public/nm-setting-8021x.h index 30b725be59..98e26d12a0 100644 --- a/src/libnm-core-public/nm-setting-8021x.h +++ b/src/libnm-core-public/nm-setting-8021x.h @@ -164,21 +164,7 @@ typedef enum { /*< flags, underscore_name=nm_setting_802_1x_auth_flags >*/ * properties to the paths to their respective objects. */ -/** - * NMSetting8021x: - * - * IEEE 802.1x Authentication Settings - */ -struct _NMSetting8021x { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSetting8021xClass; +typedef struct _NMSetting8021xClass NMSetting8021xClass; GType nm_setting_802_1x_get_type(void); diff --git a/src/libnm-core-public/nm-setting-adsl.h b/src/libnm-core-public/nm-setting-adsl.h index 3d8e99c9f1..c655d74c0a 100644 --- a/src/libnm-core-public/nm-setting-adsl.h +++ b/src/libnm-core-public/nm-setting-adsl.h @@ -41,21 +41,7 @@ G_BEGIN_DECLS #define NM_SETTING_ADSL_ENCAPSULATION_VCMUX "vcmux" #define NM_SETTING_ADSL_ENCAPSULATION_LLC "llc" -/** - * NMSettingAdsl: - * - * ADSL Settings - */ -struct _NMSettingAdsl { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingAdslClass; +typedef struct _NMSettingAdslClass NMSettingAdslClass; GType nm_setting_adsl_get_type(void); diff --git a/src/libnm-core-public/nm-setting-bluetooth.h b/src/libnm-core-public/nm-setting-bluetooth.h index 4f001ef7fe..69f921eeb6 100644 --- a/src/libnm-core-public/nm-setting-bluetooth.h +++ b/src/libnm-core-public/nm-setting-bluetooth.h @@ -55,21 +55,7 @@ G_BEGIN_DECLS */ #define NM_SETTING_BLUETOOTH_TYPE_NAP "nap" -/** - * NMSettingBluetooth: - * - * Bluetooth Settings - */ -struct _NMSettingBluetooth { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingBluetoothClass; +typedef struct _NMSettingBluetoothClass NMSettingBluetoothClass; GType nm_setting_bluetooth_get_type(void); diff --git a/src/libnm-core-public/nm-setting-bond.h b/src/libnm-core-public/nm-setting-bond.h index 25ae8c36e7..8314c10e71 100644 --- a/src/libnm-core-public/nm-setting-bond.h +++ b/src/libnm-core-public/nm-setting-bond.h @@ -57,21 +57,7 @@ G_BEGIN_DECLS #define NM_SETTING_BOND_OPTION_TLB_DYNAMIC_LB "tlb_dynamic_lb" #define NM_SETTING_BOND_OPTION_LP_INTERVAL "lp_interval" -/** - * NMSettingBond: - * - * Bonding Settings - */ -struct _NMSettingBond { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingBondClass; +typedef struct _NMSettingBondClass NMSettingBondClass; GType nm_setting_bond_get_type(void); diff --git a/src/libnm-core-public/nm-setting-bridge-port.h b/src/libnm-core-public/nm-setting-bridge-port.h index 679131d287..8e5c2b4a12 100644 --- a/src/libnm-core-public/nm-setting-bridge-port.h +++ b/src/libnm-core-public/nm-setting-bridge-port.h @@ -34,21 +34,7 @@ G_BEGIN_DECLS #define NM_SETTING_BRIDGE_PORT_HAIRPIN_MODE "hairpin-mode" #define NM_SETTING_BRIDGE_PORT_VLANS "vlans" -/** - * NMSettingBridgePort: - * - * Bridge Port Settings - */ -struct _NMSettingBridgePort { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingBridgePortClass; +typedef struct _NMSettingBridgePortClass NMSettingBridgePortClass; GType nm_setting_bridge_port_get_type(void); diff --git a/src/libnm-core-public/nm-setting-cdma.h b/src/libnm-core-public/nm-setting-cdma.h index 67784e8963..9b72a839c9 100644 --- a/src/libnm-core-public/nm-setting-cdma.h +++ b/src/libnm-core-public/nm-setting-cdma.h @@ -33,21 +33,7 @@ G_BEGIN_DECLS #define NM_SETTING_CDMA_PASSWORD_FLAGS "password-flags" #define NM_SETTING_CDMA_MTU "mtu" -/** - * NMSettingCdma: - * - * CDMA-based Mobile Broadband Settings - */ -struct _NMSettingCdma { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingCdmaClass; +typedef struct _NMSettingCdmaClass NMSettingCdmaClass; GType nm_setting_cdma_get_type(void); diff --git a/src/libnm-core-public/nm-setting-connection.h b/src/libnm-core-public/nm-setting-connection.h index 34b40a4ff0..3b4da44aca 100644 --- a/src/libnm-core-public/nm-setting-connection.h +++ b/src/libnm-core-public/nm-setting-connection.h @@ -127,21 +127,7 @@ typedef enum { NM_SETTING_CONNECTION_LLMNR_YES = 2, } NMSettingConnectionLlmnr; -/** - * NMSettingConnection: - * - * General Connection Profile Settings - */ -struct _NMSettingConnection { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingConnectionClass; +typedef struct _NMSettingConnectionClass NMSettingConnectionClass; GType nm_setting_connection_get_type(void); diff --git a/src/libnm-core-public/nm-setting-dcb.h b/src/libnm-core-public/nm-setting-dcb.h index a33c13ad99..b342c46543 100644 --- a/src/libnm-core-public/nm-setting-dcb.h +++ b/src/libnm-core-public/nm-setting-dcb.h @@ -77,21 +77,7 @@ typedef enum { /*< flags >*/ #define NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH "priority-strict-bandwidth" #define NM_SETTING_DCB_PRIORITY_TRAFFIC_CLASS "priority-traffic-class" -/** - * NMSettingDcb: - * - * Data Center Bridging Settings - */ -struct _NMSettingDcb { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingDcbClass; +typedef struct _NMSettingDcbClass NMSettingDcbClass; GType nm_setting_dcb_get_type(void); diff --git a/src/libnm-core-public/nm-setting-dummy.h b/src/libnm-core-public/nm-setting-dummy.h index 504428e717..2231ea17f7 100644 --- a/src/libnm-core-public/nm-setting-dummy.h +++ b/src/libnm-core-public/nm-setting-dummy.h @@ -26,21 +26,7 @@ G_BEGIN_DECLS #define NM_SETTING_DUMMY_SETTING_NAME "dummy" -/** - * NMSettingDummy: - * - * Dummy Link Settings - */ -struct _NMSettingDummy { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingDummyClass; +typedef struct _NMSettingDummyClass NMSettingDummyClass; NM_AVAILABLE_IN_1_8 GType nm_setting_dummy_get_type(void); diff --git a/src/libnm-core-public/nm-setting-generic.h b/src/libnm-core-public/nm-setting-generic.h index 5c0195f2db..b5346abb23 100644 --- a/src/libnm-core-public/nm-setting-generic.h +++ b/src/libnm-core-public/nm-setting-generic.h @@ -27,21 +27,7 @@ G_BEGIN_DECLS #define NM_SETTING_GENERIC_SETTING_NAME "generic" -/** - * NMSettingGeneric: - * - * Generic Link Settings - */ -struct _NMSettingGeneric { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingGenericClass; +typedef struct _NMSettingGenericClass NMSettingGenericClass; GType nm_setting_generic_get_type(void); diff --git a/src/libnm-core-public/nm-setting-gsm.h b/src/libnm-core-public/nm-setting-gsm.h index ed939e7cd2..59703c3cd1 100644 --- a/src/libnm-core-public/nm-setting-gsm.h +++ b/src/libnm-core-public/nm-setting-gsm.h @@ -43,21 +43,7 @@ G_BEGIN_DECLS /* Deprecated */ #define NM_SETTING_GSM_NUMBER "number" -/** - * NMSettingGsm: - * - * GSM-based Mobile Broadband Settings - */ -struct _NMSettingGsm { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingGsmClass; +typedef struct _NMSettingGsmClass NMSettingGsmClass; GType nm_setting_gsm_get_type(void); diff --git a/src/libnm-core-public/nm-setting-infiniband.h b/src/libnm-core-public/nm-setting-infiniband.h index 4a771aef9e..3d4221330a 100644 --- a/src/libnm-core-public/nm-setting-infiniband.h +++ b/src/libnm-core-public/nm-setting-infiniband.h @@ -34,21 +34,7 @@ G_BEGIN_DECLS #define NM_SETTING_INFINIBAND_P_KEY "p-key" #define NM_SETTING_INFINIBAND_PARENT "parent" -/** - * NMSettingInfiniband: - * - * Infiniband Settings - */ -struct _NMSettingInfiniband { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingInfinibandClass; +typedef struct _NMSettingInfinibandClass NMSettingInfinibandClass; GType nm_setting_infiniband_get_type(void); diff --git a/src/libnm-core-public/nm-setting-ip-config.h b/src/libnm-core-public/nm-setting-ip-config.h index f4e0f60333..f48f99a283 100644 --- a/src/libnm-core-public/nm-setting-ip-config.h +++ b/src/libnm-core-public/nm-setting-ip-config.h @@ -352,19 +352,7 @@ char *nm_ip_routing_rule_to_string(const NMIPRoutingRule * self, #define NM_SETTING_DNS_OPTION_NO_RELOAD "no-reload" #define NM_SETTING_DNS_OPTION_TRUST_AD "trust-ad" -/** - * NMSettingIPConfig: - */ -struct _NMSettingIPConfig { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /* Padding for future expansion */ - gpointer padding[8]; -} NMSettingIPConfigClass; +typedef struct _NMSettingIPConfigClass NMSettingIPConfigClass; /** * NMDhcpHostnameFlags: diff --git a/src/libnm-core-public/nm-setting-ip-tunnel.h b/src/libnm-core-public/nm-setting-ip-tunnel.h index 802f81e113..0a83b0a22c 100644 --- a/src/libnm-core-public/nm-setting-ip-tunnel.h +++ b/src/libnm-core-public/nm-setting-ip-tunnel.h @@ -41,21 +41,7 @@ G_BEGIN_DECLS #define NM_SETTING_IP_TUNNEL_MTU "mtu" #define NM_SETTING_IP_TUNNEL_FLAGS "flags" -/** - * NMSettingIPTunnel: - * - * IP Tunneling Settings - */ -struct _NMSettingIPTunnel { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingIPTunnelClass; +typedef struct _NMSettingIPTunnelClass NMSettingIPTunnelClass; /* * NMIPTunnelFlags: diff --git a/src/libnm-core-public/nm-setting-ip4-config.h b/src/libnm-core-public/nm-setting-ip4-config.h index b1c63a4f6e..ce917b11fb 100644 --- a/src/libnm-core-public/nm-setting-ip4-config.h +++ b/src/libnm-core-public/nm-setting-ip4-config.h @@ -77,21 +77,7 @@ G_BEGIN_DECLS */ #define NM_SETTING_IP4_CONFIG_METHOD_DISABLED "disabled" -/** - * NMSettingIP4Config: - * - * IPv4 Settings - */ -struct _NMSettingIP4Config { - NMSettingIPConfig parent; -}; - -typedef struct { - NMSettingIPConfigClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingIP4ConfigClass; +typedef struct _NMSettingIP4ConfigClass NMSettingIP4ConfigClass; GType nm_setting_ip4_config_get_type(void); diff --git a/src/libnm-core-public/nm-setting-ip6-config.h b/src/libnm-core-public/nm-setting-ip6-config.h index fca6961b86..5e5d459d4a 100644 --- a/src/libnm-core-public/nm-setting-ip6-config.h +++ b/src/libnm-core-public/nm-setting-ip6-config.h @@ -139,21 +139,7 @@ typedef enum { NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_STABLE_PRIVACY = 1, } NMSettingIP6ConfigAddrGenMode; -/** - * NMSettingIP6Config: - * - * IPv6 Settings - */ -struct _NMSettingIP6Config { - NMSettingIPConfig parent; -}; - -typedef struct { - NMSettingIPConfigClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingIP6ConfigClass; +typedef struct _NMSettingIP6ConfigClass NMSettingIP6ConfigClass; GType nm_setting_ip6_config_get_type(void); diff --git a/src/libnm-core-public/nm-setting-macsec.h b/src/libnm-core-public/nm-setting-macsec.h index bc33dd9dfb..67801a6460 100644 --- a/src/libnm-core-public/nm-setting-macsec.h +++ b/src/libnm-core-public/nm-setting-macsec.h @@ -36,21 +36,7 @@ G_BEGIN_DECLS #define NM_SETTING_MACSEC_VALIDATION "validation" #define NM_SETTING_MACSEC_SEND_SCI "send-sci" -/** - * NMSettingMacsec: - * - * MACSec Settings - */ -struct _NMSettingMacsec { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingMacsecClass; +typedef struct _NMSettingMacsecClass NMSettingMacsecClass; /** * NMSettingMacsecMode: diff --git a/src/libnm-core-public/nm-setting-macvlan.h b/src/libnm-core-public/nm-setting-macvlan.h index 05c0b36508..82a5b20d4d 100644 --- a/src/libnm-core-public/nm-setting-macvlan.h +++ b/src/libnm-core-public/nm-setting-macvlan.h @@ -32,21 +32,7 @@ G_BEGIN_DECLS #define NM_SETTING_MACVLAN_PROMISCUOUS "promiscuous" #define NM_SETTING_MACVLAN_TAP "tap" -/** - * NMSettingMacvlan: - * - * MAC VLAN Settings - */ -struct _NMSettingMacvlan { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingMacvlanClass; +typedef struct _NMSettingMacvlanClass NMSettingMacvlanClass; /** * NMSettingMacvlanMode: diff --git a/src/libnm-core-public/nm-setting-olpc-mesh.h b/src/libnm-core-public/nm-setting-olpc-mesh.h index fdba4a4b9a..f692d9a30b 100644 --- a/src/libnm-core-public/nm-setting-olpc-mesh.h +++ b/src/libnm-core-public/nm-setting-olpc-mesh.h @@ -33,21 +33,7 @@ G_BEGIN_DECLS #define NM_SETTING_OLPC_MESH_CHANNEL "channel" #define NM_SETTING_OLPC_MESH_DHCP_ANYCAST_ADDRESS "dhcp-anycast-address" -/** - * NMSettingOlpcMesh: - * - * OLPC Wireless Mesh Settings - */ -struct _NMSettingOlpcMesh { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingOlpcMeshClass; +typedef struct _NMSettingOlpcMeshClass NMSettingOlpcMeshClass; GType nm_setting_olpc_mesh_get_type(void); diff --git a/src/libnm-core-public/nm-setting-ppp.h b/src/libnm-core-public/nm-setting-ppp.h index 91c5347f07..2c85f3fd8f 100644 --- a/src/libnm-core-public/nm-setting-ppp.h +++ b/src/libnm-core-public/nm-setting-ppp.h @@ -45,21 +45,7 @@ G_BEGIN_DECLS #define NM_SETTING_PPP_LCP_ECHO_FAILURE "lcp-echo-failure" #define NM_SETTING_PPP_LCP_ECHO_INTERVAL "lcp-echo-interval" -/** - * NMSettingPpp: - * - * Point-to-Point Protocol Settings - */ -struct _NMSettingPpp { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingPppClass; +typedef struct _NMSettingPppClass NMSettingPppClass; GType nm_setting_ppp_get_type(void); diff --git a/src/libnm-core-public/nm-setting-pppoe.h b/src/libnm-core-public/nm-setting-pppoe.h index 0a30f5a189..b9eb34bb62 100644 --- a/src/libnm-core-public/nm-setting-pppoe.h +++ b/src/libnm-core-public/nm-setting-pppoe.h @@ -33,21 +33,7 @@ G_BEGIN_DECLS #define NM_SETTING_PPPOE_PASSWORD "password" #define NM_SETTING_PPPOE_PASSWORD_FLAGS "password-flags" -/** - * NMSettingPppoe: - * - * PPP-over-Ethernet Settings - */ -struct _NMSettingPppoe { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingPppoeClass; +typedef struct _NMSettingPppoeClass NMSettingPppoeClass; GType nm_setting_pppoe_get_type(void); diff --git a/src/libnm-core-public/nm-setting-proxy.h b/src/libnm-core-public/nm-setting-proxy.h index 70227df169..a10786ab51 100644 --- a/src/libnm-core-public/nm-setting-proxy.h +++ b/src/libnm-core-public/nm-setting-proxy.h @@ -45,20 +45,7 @@ typedef enum { #define NM_SETTING_PROXY_PAC_URL "pac-url" #define NM_SETTING_PROXY_PAC_SCRIPT "pac-script" -/** - * NMSettingProxy: - * - * WWW Proxy Settings - */ -struct _NMSettingProxy { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - gpointer padding[4]; -} NMSettingProxyClass; +typedef struct _NMSettingProxyClass NMSettingProxyClass; NM_AVAILABLE_IN_1_6 GType nm_setting_proxy_get_type(void); diff --git a/src/libnm-core-public/nm-setting-serial.h b/src/libnm-core-public/nm-setting-serial.h index abd232e8f1..b3b0421a5d 100644 --- a/src/libnm-core-public/nm-setting-serial.h +++ b/src/libnm-core-public/nm-setting-serial.h @@ -47,21 +47,7 @@ typedef enum { #define NM_SETTING_SERIAL_STOPBITS "stopbits" #define NM_SETTING_SERIAL_SEND_DELAY "send-delay" -/** - * NMSettingSerial: - * - * Serial Link Settings - */ -struct _NMSettingSerial { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingSerialClass; +typedef struct _NMSettingSerialClass NMSettingSerialClass; GType nm_setting_serial_get_type(void); diff --git a/src/libnm-core-public/nm-setting-team-port.h b/src/libnm-core-public/nm-setting-team-port.h index 4d4d9bdca0..7acd9bf22c 100644 --- a/src/libnm-core-public/nm-setting-team-port.h +++ b/src/libnm-core-public/nm-setting-team-port.h @@ -39,21 +39,7 @@ G_BEGIN_DECLS #define NM_SETTING_TEAM_PORT_QUEUE_ID_DEFAULT -1 #define NM_SETTING_TEAM_PORT_LACP_PRIO_DEFAULT 255 -/** - * NMSettingTeamPort: - * - * Team Port Settings - */ -struct _NMSettingTeamPort { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingTeamPortClass; +typedef struct _NMSettingTeamPortClass NMSettingTeamPortClass; GType nm_setting_team_port_get_type(void); diff --git a/src/libnm-core-public/nm-setting-team.h b/src/libnm-core-public/nm-setting-team.h index 3f40c8cb9b..5ed7ac36d5 100644 --- a/src/libnm-core-public/nm-setting-team.h +++ b/src/libnm-core-public/nm-setting-team.h @@ -151,21 +151,7 @@ int nm_team_link_watcher_get_vlanid(const NMTeamLinkWatcher *watcher); #define NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_DEFAULT \ NM_SETTING_TEAM_RUNNER_AGG_SELECT_POLICY_LACP_PRIO -/** - * NMSettingTeam: - * - * Teaming Settings - */ -struct _NMSettingTeam { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingTeamClass; +typedef struct _NMSettingTeamClass NMSettingTeamClass; GType nm_setting_team_get_type(void); diff --git a/src/libnm-core-public/nm-setting-tun.h b/src/libnm-core-public/nm-setting-tun.h index 3fbbf08253..b73769951c 100644 --- a/src/libnm-core-public/nm-setting-tun.h +++ b/src/libnm-core-public/nm-setting-tun.h @@ -46,21 +46,7 @@ typedef enum { NM_SETTING_TUN_MODE_TAP = 2, } NMSettingTunMode; -/** - * NMSettingTun: - * - * Tunnel Settings - */ -struct _NMSettingTun { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingTunClass; +typedef struct _NMSettingTunClass NMSettingTunClass; NM_AVAILABLE_IN_1_2 GType nm_setting_tun_get_type(void); diff --git a/src/libnm-core-public/nm-setting-vlan.h b/src/libnm-core-public/nm-setting-vlan.h index af781ee294..1d2470b69e 100644 --- a/src/libnm-core-public/nm-setting-vlan.h +++ b/src/libnm-core-public/nm-setting-vlan.h @@ -32,21 +32,7 @@ G_BEGIN_DECLS #define NM_SETTING_VLAN_INGRESS_PRIORITY_MAP "ingress-priority-map" #define NM_SETTING_VLAN_EGRESS_PRIORITY_MAP "egress-priority-map" -/** - * NMSettingVlan: - * - * VLAN Settings - */ -struct _NMSettingVlan { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingVlanClass; +typedef struct _NMSettingVlanClass NMSettingVlanClass; /** * NMVlanPriorityMap: diff --git a/src/libnm-core-public/nm-setting-vpn.h b/src/libnm-core-public/nm-setting-vpn.h index 9e5d6e4be3..3a74d0b163 100644 --- a/src/libnm-core-public/nm-setting-vpn.h +++ b/src/libnm-core-public/nm-setting-vpn.h @@ -33,21 +33,7 @@ G_BEGIN_DECLS #define NM_SETTING_VPN_SECRETS "secrets" #define NM_SETTING_VPN_TIMEOUT "timeout" -/** - * NMSettingVpn: - * - * VPN Settings - */ -struct _NMSettingVpn { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingVpnClass; +typedef struct _NMSettingVpnClass NMSettingVpnClass; /** * NMVpnIterFunc: diff --git a/src/libnm-core-public/nm-setting-vxlan.h b/src/libnm-core-public/nm-setting-vxlan.h index 9b987b660c..6531f1d2bf 100644 --- a/src/libnm-core-public/nm-setting-vxlan.h +++ b/src/libnm-core-public/nm-setting-vxlan.h @@ -43,21 +43,7 @@ G_BEGIN_DECLS #define NM_SETTING_VXLAN_L2_MISS "l2-miss" #define NM_SETTING_VXLAN_L3_MISS "l3-miss" -/** - * NMSettingVxlan: - * - * VXLAN Settings - */ -struct _NMSettingVxlan { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingVxlanClass; +typedef struct _NMSettingVxlanClass NMSettingVxlanClass; NM_AVAILABLE_IN_1_2 GType nm_setting_vxlan_get_type(void); diff --git a/src/libnm-core-public/nm-setting-wimax.h b/src/libnm-core-public/nm-setting-wimax.h index 7279e043b5..12125fb2c2 100644 --- a/src/libnm-core-public/nm-setting-wimax.h +++ b/src/libnm-core-public/nm-setting-wimax.h @@ -29,21 +29,7 @@ G_BEGIN_DECLS #define NM_SETTING_WIMAX_NETWORK_NAME "network-name" #define NM_SETTING_WIMAX_MAC_ADDRESS "mac-address" -/** - * NMSettingWimax: - * - * WiMax Settings - */ -struct _NMSettingWimax { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingWimaxClass; +typedef struct _NMSettingWimaxClass NMSettingWimaxClass; NM_DEPRECATED_IN_1_2 GType nm_setting_wimax_get_type(void); diff --git a/src/libnm-core-public/nm-setting-wired.h b/src/libnm-core-public/nm-setting-wired.h index 75b253fc00..3330860442 100644 --- a/src/libnm-core-public/nm-setting-wired.h +++ b/src/libnm-core-public/nm-setting-wired.h @@ -81,21 +81,7 @@ typedef enum { /*< flags >*/ #define NM_SETTING_WIRED_WAKE_ON_LAN_PASSWORD "wake-on-lan-password" #define NM_SETTING_WIRED_ACCEPT_ALL_MAC_ADDRESSES "accept-all-mac-addresses" -/** - * NMSettingWired: - * - * Wired Ethernet Settings - */ -struct _NMSettingWired { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingWiredClass; +typedef struct _NMSettingWiredClass NMSettingWiredClass; GType nm_setting_wired_get_type(void); diff --git a/src/libnm-core-public/nm-setting-wireless-security.h b/src/libnm-core-public/nm-setting-wireless-security.h index 62a3c6e526..cf662a372e 100644 --- a/src/libnm-core-public/nm-setting-wireless-security.h +++ b/src/libnm-core-public/nm-setting-wireless-security.h @@ -152,21 +152,7 @@ typedef enum { #define NM_SETTING_WIRELESS_SECURITY_WPS_METHOD "wps-method" #define NM_SETTING_WIRELESS_SECURITY_FILS "fils" -/** - * NMSettingWirelessSecurity: - * - * Wi-Fi Security Settings - */ -struct _NMSettingWirelessSecurity { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingWirelessSecurityClass; +typedef struct _NMSettingWirelessSecurityClass NMSettingWirelessSecurityClass; GType nm_setting_wireless_security_get_type(void); diff --git a/src/libnm-core-public/nm-setting-wireless.h b/src/libnm-core-public/nm-setting-wireless.h index f97e236ce7..0b45e2a3df 100644 --- a/src/libnm-core-public/nm-setting-wireless.h +++ b/src/libnm-core-public/nm-setting-wireless.h @@ -142,21 +142,7 @@ typedef enum { NM_SETTING_WIRELESS_POWERSAVE_LAST = _NM_SETTING_WIRELESS_POWERSAVE_NUM - 1, /*< skip >*/ } NMSettingWirelessPowersave; -/** - * NMSettingWireless: - * - * Wi-Fi Settings - */ -struct _NMSettingWireless { - NMSetting parent; -}; - -typedef struct { - NMSettingClass parent; - - /*< private >*/ - gpointer padding[4]; -} NMSettingWirelessClass; +typedef struct _NMSettingWirelessClass NMSettingWirelessClass; GType nm_setting_wireless_get_type(void); diff --git a/src/libnm-core-public/nm-setting.h b/src/libnm-core-public/nm-setting.h index e5cf753dc6..6206a77475 100644 --- a/src/libnm-core-public/nm-setting.h +++ b/src/libnm-core-public/nm-setting.h @@ -129,16 +129,6 @@ typedef enum { NM_SETTING_MAC_RANDOMIZATION_ALWAYS, } NMSettingMacRandomization; -/** - * NMSetting: - * - * The NMSetting struct contains only private data. - * It should only be accessed through the functions described below. - */ -struct _NMSetting { - GObject parent; -}; - /** * NMSettingClearSecretsWithFlagsFn: * @setting: The setting for which secrets are being iterated @@ -175,87 +165,7 @@ typedef void (*NMSettingValueIterFn)(NMSetting * setting, /*< private >*/ typedef gboolean (*_NMConnectionForEachSecretFunc)(NMSettingSecretFlags flags, gpointer user_data); -typedef struct { - GObjectClass parent; - - /* Virtual functions */ - int (*verify)(NMSetting *setting, NMConnection *connection, GError **error); - - gboolean (*verify_secrets)(NMSetting *setting, NMConnection *connection, GError **error); - - GPtrArray *(*need_secrets)(NMSetting *setting); - - int (*update_one_secret)(NMSetting *setting, const char *key, GVariant *value, GError **error); - - gboolean (*get_secret_flags)(NMSetting * setting, - const char * secret_name, - NMSettingSecretFlags *out_flags, - GError ** error); - - gboolean (*set_secret_flags)(NMSetting * setting, - const char * secret_name, - NMSettingSecretFlags flags, - GError ** error); - - /*< private >*/ - gboolean (*clear_secrets)(const struct _NMSettInfoSetting *sett_info, - guint property_idx, - NMSetting * setting, - NMSettingClearSecretsWithFlagsFn func, - gpointer user_data); - - /* compare_property() returns a ternary, where DEFAULT means that the property should not - * be compared due to the compare @flags. A TRUE/FALSE result means that the property is - * equal/not-equal. - * - * @other may be %NULL, in which case the function only determines whether - * the setting should be compared (TRUE) or not (DEFAULT). */ - /*< private >*/ - NMTernary (*compare_property)(const struct _NMSettInfoSetting *sett_info, - guint property_idx, - NMConnection * con_a, - NMSetting * set_a, - NMConnection * con_b, - NMSetting * set_b, - NMSettingCompareFlags flags); - - /*< private >*/ - void (*duplicate_copy_properties)(const struct _NMSettInfoSetting *sett_info, - NMSetting * src, - NMSetting * dst); - - /*< private >*/ - void (*enumerate_values)(const struct _NMSettInfoProperty *property_info, - NMSetting * setting, - NMSettingValueIterFn func, - gpointer user_data); - - /*< private >*/ - gboolean (*aggregate)(NMSetting *setting, int type_i, gpointer arg); - - /*< private >*/ - void (*for_each_secret)(NMSetting * setting, - const char * secret_name, - GVariant * val, - gboolean remove_non_secrets, - _NMConnectionForEachSecretFunc callback, - gpointer callback_data, - GVariantBuilder * setting_builder); - - /*< private >*/ - gboolean (*init_from_dbus)(NMSetting * setting, - GHashTable * keys, - GVariant * setting_dict, - GVariant * connection_dict, - guint /* NMSettingParseFlags */ parse_flags, - GError ** error); - - /*< private >*/ - gpointer padding[1]; - - /*< private >*/ - const struct _NMMetaSettingInfo *setting_info; -} NMSettingClass; +typedef struct _NMSettingClass NMSettingClass; GType nm_setting_get_type(void); diff --git a/src/libnmc-setting/nm-meta-setting-base-impl.c b/src/libnmc-setting/nm-meta-setting-base-impl.c index da85e5683b..e049e2339d 100644 --- a/src/libnmc-setting/nm-meta-setting-base-impl.c +++ b/src/libnmc-setting/nm-meta-setting-base-impl.c @@ -7,6 +7,10 @@ #include "nm-meta-setting-base.h" +#if _NM_META_SETTING_BASE_IMPL_LIBNM + #include "libnm-core-impl/nm-default-libnm-core.h" +#endif + #include "nm-setting-6lowpan.h" #include "nm-setting-8021x.h" #include "nm-setting-adsl.h" @@ -59,6 +63,10 @@ #include "nm-setting-wireless.h" #include "nm-setting-wpan.h" +#if _NM_META_SETTING_BASE_IMPL_LIBNM + #include "nm-setting-private.h" +#endif + /*****************************************************************************/ const NMSetting8021xSchemeVtable nm_setting_8021x_scheme_vtable[] = {