summary refs log tree commit diff
path: root/src/libnm-client-public
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-client-public')
-rw-r--r--src/libnm-client-public/NetworkManager.h109
-rw-r--r--src/libnm-client-public/meson.build2
-rw-r--r--src/libnm-client-public/nm-access-point.h1
-rw-r--r--src/libnm-client-public/nm-active-connection.h21
-rw-r--r--src/libnm-client-public/nm-checkpoint.h1
-rw-r--r--src/libnm-client-public/nm-client.h3
-rw-r--r--src/libnm-client-public/nm-conn-utils.h22
-rw-r--r--src/libnm-client-public/nm-device-6lowpan.h1
-rw-r--r--src/libnm-client-public/nm-device-adsl.h1
-rw-r--r--src/libnm-client-public/nm-device-bond.h1
-rw-r--r--src/libnm-client-public/nm-device-bridge.h1
-rw-r--r--src/libnm-client-public/nm-device-bt.h1
-rw-r--r--src/libnm-client-public/nm-device-dummy.h1
-rw-r--r--src/libnm-client-public/nm-device-ethernet.h1
-rw-r--r--src/libnm-client-public/nm-device-generic.h1
-rw-r--r--src/libnm-client-public/nm-device-infiniband.h1
-rw-r--r--src/libnm-client-public/nm-device-ip-tunnel.h1
-rw-r--r--src/libnm-client-public/nm-device-macsec.h1
-rw-r--r--src/libnm-client-public/nm-device-macvlan.h1
-rw-r--r--src/libnm-client-public/nm-device-modem.h1
-rw-r--r--src/libnm-client-public/nm-device-olpc-mesh.h1
-rw-r--r--src/libnm-client-public/nm-device-ovs-bridge.h1
-rw-r--r--src/libnm-client-public/nm-device-ovs-interface.h1
-rw-r--r--src/libnm-client-public/nm-device-ovs-port.h1
-rw-r--r--src/libnm-client-public/nm-device-ppp.h1
-rw-r--r--src/libnm-client-public/nm-device-team.h1
-rw-r--r--src/libnm-client-public/nm-device-tun.h1
-rw-r--r--src/libnm-client-public/nm-device-veth.h1
-rw-r--r--src/libnm-client-public/nm-device-vlan.h1
-rw-r--r--src/libnm-client-public/nm-device-vrf.h1
-rw-r--r--src/libnm-client-public/nm-device-vxlan.h1
-rw-r--r--src/libnm-client-public/nm-device-wifi-p2p.h1
-rw-r--r--src/libnm-client-public/nm-device-wifi.h1
-rw-r--r--src/libnm-client-public/nm-device-wimax.h1
-rw-r--r--src/libnm-client-public/nm-device-wireguard.h1
-rw-r--r--src/libnm-client-public/nm-device-wpan.h1
-rw-r--r--src/libnm-client-public/nm-device.h1
-rw-r--r--src/libnm-client-public/nm-dhcp-config.h1
-rw-r--r--src/libnm-client-public/nm-enum-types.c.template38
-rw-r--r--src/libnm-client-public/nm-ip-config.h1
-rw-r--r--src/libnm-client-public/nm-object.h7
-rw-r--r--src/libnm-client-public/nm-remote-connection.h1
-rw-r--r--src/libnm-client-public/nm-secret-agent-old.h2
-rw-r--r--src/libnm-client-public/nm-types.h56
-rw-r--r--src/libnm-client-public/nm-vpn-connection.h1
-rw-r--r--src/libnm-client-public/nm-vpn-editor.h1
-rw-r--r--src/libnm-client-public/nm-vpn-plugin-old.h4
-rw-r--r--src/libnm-client-public/nm-vpn-service-plugin.h4
-rw-r--r--src/libnm-client-public/nm-wifi-p2p-peer.h1
-rw-r--r--src/libnm-client-public/nm-wimax-nsp.h1
50 files changed, 145 insertions, 162 deletions
diff --git a/src/libnm-client-public/NetworkManager.h b/src/libnm-client-public/NetworkManager.h
index 66f676a1..1cd94d11 100644
--- a/src/libnm-client-public/NetworkManager.h
+++ b/src/libnm-client-public/NetworkManager.h
@@ -8,48 +8,19 @@
 
 #define __NETWORKMANAGER_H_INSIDE__
 
-#include "nm-access-point.h"
-#include "nm-active-connection.h"
-#include "nm-client.h"
-#include "nm-connection.h"
-#include "nm-core-enum-types.h"
+#include <gio/gio.h>
+
+#include "nm-version.h"
 #include "nm-dbus-interface.h"
-#include "nm-device-6lowpan.h"
-#include "nm-device-adsl.h"
-#include "nm-device-bond.h"
-#include "nm-device-bridge.h"
-#include "nm-device-bt.h"
-#include "nm-device-dummy.h"
-#include "nm-device-ethernet.h"
-#include "nm-device-generic.h"
-#include "nm-device-infiniband.h"
-#include "nm-device-ip-tunnel.h"
-#include "nm-device-macsec.h"
-#include "nm-device-macvlan.h"
-#include "nm-device-modem.h"
-#include "nm-device-olpc-mesh.h"
-#include "nm-device-ovs-bridge.h"
-#include "nm-device-ovs-interface.h"
-#include "nm-device-ovs-port.h"
-#include "nm-device-ppp.h"
-#include "nm-device-team.h"
-#include "nm-device-tun.h"
-#include "nm-device-veth.h"
-#include "nm-device-vlan.h"
-#include "nm-device-vxlan.h"
-#include "nm-device-wifi-p2p.h"
-#include "nm-device-wifi.h"
-#include "nm-device-wimax.h"
-#include "nm-device-wireguard.h"
-#include "nm-device-wpan.h"
-#include "nm-device.h"
-#include "nm-dhcp-config.h"
-#include "nm-enum-types.h"
-#include "nm-ethtool-utils.h"
-#include "nm-ip-config.h"
+
+#include "nm-core-enum-types.h"
+
+#include "nm-connection.h"
+#include "nm-simple-connection.h"
 #include "nm-keyfile.h"
-#include "nm-object.h"
-#include "nm-remote-connection.h"
+#include "nm-setting.h"
+#include "nm-utils.h"
+
 #include "nm-setting-6lowpan.h"
 #include "nm-setting-8021x.h"
 #include "nm-setting-adsl.h"
@@ -102,18 +73,60 @@
 #include "nm-setting-wireless.h"
 #include "nm-setting-wireless-security.h"
 #include "nm-setting-wpan.h"
-#include "nm-setting.h"
-#include "nm-simple-connection.h"
-#include "nm-utils.h"
-#include "nm-version.h"
-#include "nm-vpn-connection.h"
+
 #include "nm-vpn-dbus-interface.h"
-#include "nm-vpn-editor.h"
-#include "nm-vpn-editor-plugin.h"
 #include "nm-vpn-plugin-info.h"
-#include "nm-vpn-service-plugin.h"
+#include "nm-vpn-editor-plugin.h"
+
+#include "nm-enum-types.h"
+
+#include "nm-ethtool-utils.h"
+
+#include "nm-object.h"
+#include "nm-conn-utils.h"
+#include "nm-dhcp-config.h"
+#include "nm-ip-config.h"
+#include "nm-remote-connection.h"
+#include "nm-active-connection.h"
+#include "nm-checkpoint.h"
+#include "nm-access-point.h"
 #include "nm-wifi-p2p-peer.h"
 #include "nm-wimax-nsp.h"
+#include "nm-device.h"
+#include "nm-vpn-connection.h"
+#include "nm-vpn-editor.h"
+#include "nm-vpn-service-plugin.h"
+
+#include "nm-client.h"
+
+#include "nm-device-6lowpan.h"
+#include "nm-device-adsl.h"
+#include "nm-device-bond.h"
+#include "nm-device-bridge.h"
+#include "nm-device-bt.h"
+#include "nm-device-dummy.h"
+#include "nm-device-ethernet.h"
+#include "nm-device-generic.h"
+#include "nm-device-infiniband.h"
+#include "nm-device-ip-tunnel.h"
+#include "nm-device-macsec.h"
+#include "nm-device-macvlan.h"
+#include "nm-device-modem.h"
+#include "nm-device-ovs-bridge.h"
+#include "nm-device-ovs-interface.h"
+#include "nm-device-ovs-port.h"
+#include "nm-device-ppp.h"
+#include "nm-device-team.h"
+#include "nm-device-tun.h"
+#include "nm-device-veth.h"
+#include "nm-device-vlan.h"
+#include "nm-device-vxlan.h"
+#include "nm-device-wifi.h"
+#include "nm-device-wifi-p2p.h"
+#include "nm-device-olpc-mesh.h"
+#include "nm-device-wimax.h"
+#include "nm-device-wireguard.h"
+#include "nm-device-wpan.h"
 
 #include "nm-autoptr.h"
 
diff --git a/src/libnm-client-public/meson.build b/src/libnm-client-public/meson.build
index 3ae4e8d8..5232bcb4 100644
--- a/src/libnm-client-public/meson.build
+++ b/src/libnm-client-public/meson.build
@@ -9,6 +9,7 @@ libnm_client_headers = files(
   'nm-autoptr.h',
   'nm-checkpoint.h',
   'nm-client.h',
+  'nm-conn-utils.h',
   'nm-device-6lowpan.h',
   'nm-device-adsl.h',
   'nm-device-bond.h',
@@ -45,7 +46,6 @@ libnm_client_headers = files(
   'nm-object.h',
   'nm-remote-connection.h',
   'nm-secret-agent-old.h',
-  'nm-types.h',
   'nm-vpn-connection.h',
   'nm-vpn-editor.h',
   'nm-vpn-plugin-old.h',
diff --git a/src/libnm-client-public/nm-access-point.h b/src/libnm-client-public/nm-access-point.h
index 9f9216bb..5a78e34f 100644
--- a/src/libnm-client-public/nm-access-point.h
+++ b/src/libnm-client-public/nm-access-point.h
@@ -42,6 +42,7 @@ G_BEGIN_DECLS
 /**
  * NMAccessPoint:
  */
+typedef struct _NMAccessPoint      NMAccessPoint;
 typedef struct _NMAccessPointClass NMAccessPointClass;
 
 GType nm_access_point_get_type(void);
diff --git a/src/libnm-client-public/nm-active-connection.h b/src/libnm-client-public/nm-active-connection.h
index a65b4f20..5c314826 100644
--- a/src/libnm-client-public/nm-active-connection.h
+++ b/src/libnm-client-public/nm-active-connection.h
@@ -46,6 +46,7 @@ G_BEGIN_DECLS
 /**
  * NMActiveConnection:
  */
+typedef struct _NMActiveConnection      NMActiveConnection;
 typedef struct _NMActiveConnectionClass NMActiveConnectionClass;
 
 GType nm_active_connection_get_type(void);
@@ -61,14 +62,18 @@ NM_AVAILABLE_IN_1_10
 NMActivationStateFlags nm_active_connection_get_state_flags(NMActiveConnection *connection);
 NM_AVAILABLE_IN_1_8
 NMActiveConnectionStateReason nm_active_connection_get_state_reason(NMActiveConnection *connection);
-NMDevice                     *nm_active_connection_get_master(NMActiveConnection *connection);
-gboolean                      nm_active_connection_get_default(NMActiveConnection *connection);
-NMIPConfig                   *nm_active_connection_get_ip4_config(NMActiveConnection *connection);
-NMDhcpConfig                 *nm_active_connection_get_dhcp4_config(NMActiveConnection *connection);
-gboolean                      nm_active_connection_get_default6(NMActiveConnection *connection);
-NMIPConfig                   *nm_active_connection_get_ip6_config(NMActiveConnection *connection);
-NMDhcpConfig                 *nm_active_connection_get_dhcp6_config(NMActiveConnection *connection);
-gboolean                      nm_active_connection_get_vpn(NMActiveConnection *connection);
+
+struct _NMDevice;
+
+struct _NMDevice *nm_active_connection_get_master(NMActiveConnection *connection);
+
+gboolean      nm_active_connection_get_default(NMActiveConnection *connection);
+NMIPConfig   *nm_active_connection_get_ip4_config(NMActiveConnection *connection);
+NMDhcpConfig *nm_active_connection_get_dhcp4_config(NMActiveConnection *connection);
+gboolean      nm_active_connection_get_default6(NMActiveConnection *connection);
+NMIPConfig   *nm_active_connection_get_ip6_config(NMActiveConnection *connection);
+NMDhcpConfig *nm_active_connection_get_dhcp6_config(NMActiveConnection *connection);
+gboolean      nm_active_connection_get_vpn(NMActiveConnection *connection);
 
 G_END_DECLS
 
diff --git a/src/libnm-client-public/nm-checkpoint.h b/src/libnm-client-public/nm-checkpoint.h
index def1f554..456d7f6b 100644
--- a/src/libnm-client-public/nm-checkpoint.h
+++ b/src/libnm-client-public/nm-checkpoint.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
 /**
  * NMCheckpoint:
  */
+typedef struct _NMCheckpoint      NMCheckpoint;
 typedef struct _NMCheckpointClass NMCheckpointClass;
 
 GType nm_checkpoint_get_type(void);
diff --git a/src/libnm-client-public/nm-client.h b/src/libnm-client-public/nm-client.h
index 2e3e77c4..6307f112 100644
--- a/src/libnm-client-public/nm-client.h
+++ b/src/libnm-client-public/nm-client.h
@@ -11,8 +11,6 @@
 #error "Only <NetworkManager.h> can be included directly."
 #endif
 
-#include "nm-types.h"
-
 G_BEGIN_DECLS
 
 /**
@@ -148,6 +146,7 @@ gboolean nm_dns_entry_get_vpn(NMDnsEntry *entry);
  * D-Bus signals gets processed and the #NMClient instance updates and
  * emits #GObject signals.
  */
+typedef struct _NMClient      NMClient;
 typedef struct _NMClientClass NMClientClass;
 
 GType nm_client_get_type(void);
diff --git a/src/libnm-client-public/nm-conn-utils.h b/src/libnm-client-public/nm-conn-utils.h
new file mode 100644
index 00000000..29250c0b
--- /dev/null
+++ b/src/libnm-client-public/nm-conn-utils.h
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2013 - 2015 Red Hat, Inc.
+ */
+
+#ifndef __NM_WIREGUARD_IMPORT_H__
+#define __NM_WIREGUARD_IMPORT_H__
+
+#if !defined(__NETWORKMANAGER_H_INSIDE__) && !defined(NETWORKMANAGER_COMPILATION)
+#error "Only <NetworkManager.h> can be included directly."
+#endif
+
+#include "nm-object.h"
+
+G_BEGIN_DECLS
+
+NM_AVAILABLE_IN_1_40
+NMConnection *nm_conn_wireguard_import(const char *filename, GError **error);
+
+G_END_DECLS
+
+#endif /* __NM_WIREGUARD_IMPORT_H__ */
diff --git a/src/libnm-client-public/nm-device-6lowpan.h b/src/libnm-client-public/nm-device-6lowpan.h
index 2388bf38..d5f8a7a5 100644
--- a/src/libnm-client-public/nm-device-6lowpan.h
+++ b/src/libnm-client-public/nm-device-6lowpan.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
 /**
  * NMDevice6Lowpan:
  */
+typedef struct _NMDevice6Lowpan      NMDevice6Lowpan;
 typedef struct _NMDevice6LowpanClass NMDevice6LowpanClass;
 
 NM_AVAILABLE_IN_1_14
diff --git a/src/libnm-client-public/nm-device-adsl.h b/src/libnm-client-public/nm-device-adsl.h
index fa8a1278..a4fbec51 100644
--- a/src/libnm-client-public/nm-device-adsl.h
+++ b/src/libnm-client-public/nm-device-adsl.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceAdsl:
  */
+typedef struct _NMDeviceAdsl      NMDeviceAdsl;
 typedef struct _NMDeviceAdslClass NMDeviceAdslClass;
 
 GType nm_device_adsl_get_type(void);
diff --git a/src/libnm-client-public/nm-device-bond.h b/src/libnm-client-public/nm-device-bond.h
index 19e0e046..6edc6106 100644
--- a/src/libnm-client-public/nm-device-bond.h
+++ b/src/libnm-client-public/nm-device-bond.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceBond:
  */
+typedef struct _NMDeviceBond      NMDeviceBond;
 typedef struct _NMDeviceBondClass NMDeviceBondClass;
 
 GType nm_device_bond_get_type(void);
diff --git a/src/libnm-client-public/nm-device-bridge.h b/src/libnm-client-public/nm-device-bridge.h
index 07905195..e3740022 100644
--- a/src/libnm-client-public/nm-device-bridge.h
+++ b/src/libnm-client-public/nm-device-bridge.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceBridge:
  */
+typedef struct _NMDeviceBridge      NMDeviceBridge;
 typedef struct _NMDeviceBridgeClass NMDeviceBridgeClass;
 
 GType nm_device_bridge_get_type(void);
diff --git a/src/libnm-client-public/nm-device-bt.h b/src/libnm-client-public/nm-device-bt.h
index c277bae9..fa8d7308 100644
--- a/src/libnm-client-public/nm-device-bt.h
+++ b/src/libnm-client-public/nm-device-bt.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceBt:
  */
+typedef struct _NMDeviceBt      NMDeviceBt;
 typedef struct _NMDeviceBtClass NMDeviceBtClass;
 
 GType nm_device_bt_get_type(void);
diff --git a/src/libnm-client-public/nm-device-dummy.h b/src/libnm-client-public/nm-device-dummy.h
index d5b8cb24..8b2f7485 100644
--- a/src/libnm-client-public/nm-device-dummy.h
+++ b/src/libnm-client-public/nm-device-dummy.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceDummy:
  */
+typedef struct _NMDeviceDummy      NMDeviceDummy;
 typedef struct _NMDeviceDummyClass NMDeviceDummyClass;
 
 GType nm_device_dummy_get_type(void);
diff --git a/src/libnm-client-public/nm-device-ethernet.h b/src/libnm-client-public/nm-device-ethernet.h
index 636e5eb5..828865c7 100644
--- a/src/libnm-client-public/nm-device-ethernet.h
+++ b/src/libnm-client-public/nm-device-ethernet.h
@@ -35,6 +35,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceEthernet:
  */
+typedef struct _NMDeviceEthernet      NMDeviceEthernet;
 typedef struct _NMDeviceEthernetClass NMDeviceEthernetClass;
 
 GType nm_device_ethernet_get_type(void);
diff --git a/src/libnm-client-public/nm-device-generic.h b/src/libnm-client-public/nm-device-generic.h
index 7b543b2f..ff24c6f1 100644
--- a/src/libnm-client-public/nm-device-generic.h
+++ b/src/libnm-client-public/nm-device-generic.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceGeneric:
  */
+typedef struct _NMDeviceGeneric      NMDeviceGeneric;
 typedef struct _NMDeviceGenericClass NMDeviceGenericClass;
 
 GType nm_device_generic_get_type(void);
diff --git a/src/libnm-client-public/nm-device-infiniband.h b/src/libnm-client-public/nm-device-infiniband.h
index 3999b2d5..53b16176 100644
--- a/src/libnm-client-public/nm-device-infiniband.h
+++ b/src/libnm-client-public/nm-device-infiniband.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceInfiniband:
  */
+typedef struct _NMDeviceInfiniband      NMDeviceInfiniband;
 typedef struct _NMDeviceInfinibandClass NMDeviceInfinibandClass;
 
 GType nm_device_infiniband_get_type(void);
diff --git a/src/libnm-client-public/nm-device-ip-tunnel.h b/src/libnm-client-public/nm-device-ip-tunnel.h
index d7912729..4f55dc0b 100644
--- a/src/libnm-client-public/nm-device-ip-tunnel.h
+++ b/src/libnm-client-public/nm-device-ip-tunnel.h
@@ -42,6 +42,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceIPTunnel:
  */
+typedef struct _NMDeviceIPTunnel      NMDeviceIPTunnel;
 typedef struct _NMDeviceIPTunnelClass NMDeviceIPTunnelClass;
 
 NM_AVAILABLE_IN_1_2
diff --git a/src/libnm-client-public/nm-device-macsec.h b/src/libnm-client-public/nm-device-macsec.h
index e468344f..b1ec3637 100644
--- a/src/libnm-client-public/nm-device-macsec.h
+++ b/src/libnm-client-public/nm-device-macsec.h
@@ -42,6 +42,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceMacsec:
  */
+typedef struct _NMDeviceMacsec      NMDeviceMacsec;
 typedef struct _NMDeviceMacsecClass NMDeviceMacsecClass;
 
 NM_AVAILABLE_IN_1_6
diff --git a/src/libnm-client-public/nm-device-macvlan.h b/src/libnm-client-public/nm-device-macvlan.h
index ec7eb640..95699334 100644
--- a/src/libnm-client-public/nm-device-macvlan.h
+++ b/src/libnm-client-public/nm-device-macvlan.h
@@ -33,6 +33,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceMacvlan:
  */
+typedef struct _NMDeviceMacvlan      NMDeviceMacvlan;
 typedef struct _NMDeviceMacvlanClass NMDeviceMacvlanClass;
 
 NM_AVAILABLE_IN_1_2
diff --git a/src/libnm-client-public/nm-device-modem.h b/src/libnm-client-public/nm-device-modem.h
index f9dfc348..4ef17572 100644
--- a/src/libnm-client-public/nm-device-modem.h
+++ b/src/libnm-client-public/nm-device-modem.h
@@ -34,6 +34,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceModem:
  */
+typedef struct _NMDeviceModem      NMDeviceModem;
 typedef struct _NMDeviceModemClass NMDeviceModemClass;
 
 GType nm_device_modem_get_type(void);
diff --git a/src/libnm-client-public/nm-device-olpc-mesh.h b/src/libnm-client-public/nm-device-olpc-mesh.h
index 86ac2ce7..ea3a3096 100644
--- a/src/libnm-client-public/nm-device-olpc-mesh.h
+++ b/src/libnm-client-public/nm-device-olpc-mesh.h
@@ -32,6 +32,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceOlpcMesh:
  */
+typedef struct _NMDeviceOlpcMesh      NMDeviceOlpcMesh;
 typedef struct _NMDeviceOlpcMeshClass NMDeviceOlpcMeshClass;
 
 GType nm_device_olpc_mesh_get_type(void);
diff --git a/src/libnm-client-public/nm-device-ovs-bridge.h b/src/libnm-client-public/nm-device-ovs-bridge.h
index f0ef1547..8c454057 100644
--- a/src/libnm-client-public/nm-device-ovs-bridge.h
+++ b/src/libnm-client-public/nm-device-ovs-bridge.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceOvsBridge:
  */
+typedef struct _NMDeviceOvsBridge      NMDeviceOvsBridge;
 typedef struct _NMDeviceOvsBridgeClass NMDeviceOvsBridgeClass;
 
 NM_AVAILABLE_IN_1_10
diff --git a/src/libnm-client-public/nm-device-ovs-interface.h b/src/libnm-client-public/nm-device-ovs-interface.h
index 12b30a75..1ba7ac3a 100644
--- a/src/libnm-client-public/nm-device-ovs-interface.h
+++ b/src/libnm-client-public/nm-device-ovs-interface.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceOvsInterface:
  */
+typedef struct _NMDeviceOvsInterface      NMDeviceOvsInterface;
 typedef struct _NMDeviceOvsInterfaceClass NMDeviceOvsInterfaceClass;
 
 NM_AVAILABLE_IN_1_10
diff --git a/src/libnm-client-public/nm-device-ovs-port.h b/src/libnm-client-public/nm-device-ovs-port.h
index 170067f9..7524cacb 100644
--- a/src/libnm-client-public/nm-device-ovs-port.h
+++ b/src/libnm-client-public/nm-device-ovs-port.h
@@ -30,6 +30,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceOvsPort:
  */
+typedef struct _NMDeviceOvsPort      NMDeviceOvsPort;
 typedef struct _NMDeviceOvsPortClass NMDeviceOvsPortClass;
 
 NM_AVAILABLE_IN_1_10
diff --git a/src/libnm-client-public/nm-device-ppp.h b/src/libnm-client-public/nm-device-ppp.h
index ff99d9f9..4003f901 100644
--- a/src/libnm-client-public/nm-device-ppp.h
+++ b/src/libnm-client-public/nm-device-ppp.h
@@ -24,6 +24,7 @@ G_BEGIN_DECLS
 /**
  * NMDevicePpp:
  */
+typedef struct _NMDevicePpp      NMDevicePpp;
 typedef struct _NMDevicePppClass NMDevicePppClass;
 
 GType nm_device_ppp_get_type(void);
diff --git a/src/libnm-client-public/nm-device-team.h b/src/libnm-client-public/nm-device-team.h
index eab5e4e6..406949a1 100644
--- a/src/libnm-client-public/nm-device-team.h
+++ b/src/libnm-client-public/nm-device-team.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceTeam:
  */
+typedef struct _NMDeviceTeam      NMDeviceTeam;
 typedef struct _NMDeviceTeamClass NMDeviceTeamClass;
 
 GType nm_device_team_get_type(void);
diff --git a/src/libnm-client-public/nm-device-tun.h b/src/libnm-client-public/nm-device-tun.h
index cc05b0c1..e1e7310d 100644
--- a/src/libnm-client-public/nm-device-tun.h
+++ b/src/libnm-client-public/nm-device-tun.h
@@ -34,6 +34,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceTun:
  */
+typedef struct _NMDeviceTun      NMDeviceTun;
 typedef struct _NMDeviceTunClass NMDeviceTunClass;
 
 NM_AVAILABLE_IN_1_2
diff --git a/src/libnm-client-public/nm-device-veth.h b/src/libnm-client-public/nm-device-veth.h
index 41b41915..8f61ae20 100644
--- a/src/libnm-client-public/nm-device-veth.h
+++ b/src/libnm-client-public/nm-device-veth.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceVeth:
  */
+typedef struct _NMDeviceVeth      NMDeviceVeth;
 typedef struct _NMDeviceVethClass NMDeviceVethClass;
 
 NM_AVAILABLE_IN_1_30
diff --git a/src/libnm-client-public/nm-device-vlan.h b/src/libnm-client-public/nm-device-vlan.h
index c3920586..c74453fd 100644
--- a/src/libnm-client-public/nm-device-vlan.h
+++ b/src/libnm-client-public/nm-device-vlan.h
@@ -31,6 +31,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceVlan:
  */
+typedef struct _NMDeviceVlan      NMDeviceVlan;
 typedef struct _NMDeviceVlanClass NMDeviceVlanClass;
 
 GType nm_device_vlan_get_type(void);
diff --git a/src/libnm-client-public/nm-device-vrf.h b/src/libnm-client-public/nm-device-vrf.h
index 3b59023a..fbc8b202 100644
--- a/src/libnm-client-public/nm-device-vrf.h
+++ b/src/libnm-client-public/nm-device-vrf.h
@@ -25,6 +25,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceVrf:
  */
+typedef struct _NMDeviceVrf      NMDeviceVrf;
 typedef struct _NMDeviceVrfClass NMDeviceVrfClass;
 
 NM_AVAILABLE_IN_1_24
diff --git a/src/libnm-client-public/nm-device-vxlan.h b/src/libnm-client-public/nm-device-vxlan.h
index 5264e9ca..7939539d 100644
--- a/src/libnm-client-public/nm-device-vxlan.h
+++ b/src/libnm-client-public/nm-device-vxlan.h
@@ -46,6 +46,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceVxlan:
  */
+typedef struct _NMDeviceVxlan      NMDeviceVxlan;
 typedef struct _NMDeviceVxlanClass NMDeviceVxlanClass;
 
 NM_AVAILABLE_IN_1_2
diff --git a/src/libnm-client-public/nm-device-wifi-p2p.h b/src/libnm-client-public/nm-device-wifi-p2p.h
index cf68b496..ad0ca436 100644
--- a/src/libnm-client-public/nm-device-wifi-p2p.h
+++ b/src/libnm-client-public/nm-device-wifi-p2p.h
@@ -34,6 +34,7 @@ G_BEGIN_DECLS
  *
  * Since: 1.16
  */
+typedef struct _NMDeviceWifiP2P      NMDeviceWifiP2P;
 typedef struct _NMDeviceWifiP2PClass NMDeviceWifiP2PClass;
 
 NM_AVAILABLE_IN_1_16
diff --git a/src/libnm-client-public/nm-device-wifi.h b/src/libnm-client-public/nm-device-wifi.h
index 1c767316..287b792e 100644
--- a/src/libnm-client-public/nm-device-wifi.h
+++ b/src/libnm-client-public/nm-device-wifi.h
@@ -36,6 +36,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceWifi:
  */
+typedef struct _NMDeviceWifi      NMDeviceWifi;
 typedef struct _NMDeviceWifiClass NMDeviceWifiClass;
 
 GType nm_device_wifi_get_type(void);
diff --git a/src/libnm-client-public/nm-device-wimax.h b/src/libnm-client-public/nm-device-wimax.h
index 123b95b2..e6228819 100644
--- a/src/libnm-client-public/nm-device-wimax.h
+++ b/src/libnm-client-public/nm-device-wimax.h
@@ -39,6 +39,7 @@ G_BEGIN_DECLS
  *
  * Deprecated: 1.22: WiMAX is no longer supported by NetworkManager since 1.2.0.
  */
+typedef struct _NMDeviceWimax      NMDeviceWimax;
 typedef struct _NMDeviceWimaxClass NMDeviceWimaxClass;
 
 NM_DEPRECATED_IN_1_2
diff --git a/src/libnm-client-public/nm-device-wireguard.h b/src/libnm-client-public/nm-device-wireguard.h
index 4a18bd81..756dfb4e 100644
--- a/src/libnm-client-public/nm-device-wireguard.h
+++ b/src/libnm-client-public/nm-device-wireguard.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceWireGuard:
  */
+typedef struct _NMDeviceWireGuard      NMDeviceWireGuard;
 typedef struct _NMDeviceWireGuardClass NMDeviceWireGuardClass;
 
 #define NM_DEVICE_WIREGUARD_PUBLIC_KEY  "public-key"
diff --git a/src/libnm-client-public/nm-device-wpan.h b/src/libnm-client-public/nm-device-wpan.h
index b8a7a3bf..8b011851 100644
--- a/src/libnm-client-public/nm-device-wpan.h
+++ b/src/libnm-client-public/nm-device-wpan.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
 /**
  * NMDeviceWpan:
  */
+typedef struct _NMDeviceWpan      NMDeviceWpan;
 typedef struct _NMDeviceWpanClass NMDeviceWpanClass;
 
 NM_AVAILABLE_IN_1_14
diff --git a/src/libnm-client-public/nm-device.h b/src/libnm-client-public/nm-device.h
index 9e9dbea6..f58d3ddb 100644
--- a/src/libnm-client-public/nm-device.h
+++ b/src/libnm-client-public/nm-device.h
@@ -62,6 +62,7 @@ _NM_DEPRECATED_SYNC_WRITABLE_PROPERTY
 /**
  * NMDevice:
  */
+typedef struct _NMDevice      NMDevice;
 typedef struct _NMDeviceClass NMDeviceClass;
 
 /**
diff --git a/src/libnm-client-public/nm-dhcp-config.h b/src/libnm-client-public/nm-dhcp-config.h
index 0188f9c2..625efb58 100644
--- a/src/libnm-client-public/nm-dhcp-config.h
+++ b/src/libnm-client-public/nm-dhcp-config.h
@@ -25,6 +25,7 @@ G_BEGIN_DECLS
 /**
  * NMDhcpConfig:
  */
+typedef struct _NMDhcpConfig      NMDhcpConfig;
 typedef struct _NMDhcpConfigClass NMDhcpConfigClass;
 
 #define NM_DHCP_CONFIG_FAMILY  "family"
diff --git a/src/libnm-client-public/nm-enum-types.c.template b/src/libnm-client-public/nm-enum-types.c.template
index c2627f44..5d693fe3 100644
--- a/src/libnm-client-public/nm-enum-types.c.template
+++ b/src/libnm-client-public/nm-enum-types.c.template
@@ -5,45 +5,9 @@
 
 #include "nm-version-macros.h"
 #include "NetworkManager.h"
-#include "nm-access-point.h"
-#include "nm-active-connection.h"
-#include "nm-checkpoint.h"
-#include "nm-client.h"
-#include "nm-device-adsl.h"
-#include "nm-device-bond.h"
-#include "nm-device-bridge.h"
-#include "nm-device-bt.h"
-#include "nm-device-dummy.h"
-#include "nm-device-ethernet.h"
-#include "nm-device-generic.h"
-#include "nm-device-infiniband.h"
-#include "nm-device-ip-tunnel.h"
-#include "nm-device-macsec.h"
-#include "nm-device-macvlan.h"
-#include "nm-device-modem.h"
-#include "nm-device-olpc-mesh.h"
-#include "nm-device-ovs-interface.h"
-#include "nm-device-ovs-port.h"
-#include "nm-device-ovs-bridge.h"
-#include "nm-device-ppp.h"
-#include "nm-device-team.h"
-#include "nm-device-tun.h"
-#include "nm-device-vlan.h"
-#include "nm-device-vxlan.h"
-#include "nm-device-wifi.h"
-#include "nm-device-wimax.h"
-#include "nm-device.h"
-#include "nm-dhcp-config.h"
-#include "nm-ip-config.h"
-#include "nm-object.h"
-#include "nm-remote-connection.h"
-#include "nm-types.h"
-#include "nm-vpn-connection.h"
-#include "nm-vpn-editor.h"
-#include "nm-wimax-nsp.h"
 #include "nm-secret-agent-old.h"
 #include "nm-vpn-plugin-old.h"
-#include "nm-vpn-service-plugin.h"
+
 /*** END file-header ***/
 
 /*** BEGIN value-header ***/
diff --git a/src/libnm-client-public/nm-ip-config.h b/src/libnm-client-public/nm-ip-config.h
index 99b1948d..9ad15d30 100644
--- a/src/libnm-client-public/nm-ip-config.h
+++ b/src/libnm-client-public/nm-ip-config.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 /**
  * NMIPConfig:
  */
+typedef struct _NMIPConfig      NMIPConfig;
 typedef struct _NMIPConfigClass NMIPConfigClass;
 
 #define NM_IP_CONFIG_FAMILY       "family"
diff --git a/src/libnm-client-public/nm-object.h b/src/libnm-client-public/nm-object.h
index efa3aa53..c6daf1e6 100644
--- a/src/libnm-client-public/nm-object.h
+++ b/src/libnm-client-public/nm-object.h
@@ -11,8 +11,6 @@
 #error "Only <NetworkManager.h> can be included directly."
 #endif
 
-#include "nm-types.h"
-
 G_BEGIN_DECLS
 
 #define NM_TYPE_OBJECT            (nm_object_get_type())
@@ -28,14 +26,17 @@ G_BEGIN_DECLS
 /**
  * NMObject:
  */
+typedef struct _NMObject      NMObject;
 typedef struct _NMObjectClass NMObjectClass;
 
 GType nm_object_get_type(void);
 
 const char *nm_object_get_path(NMObject *object);
 
+struct _NMClient;
+
 NM_AVAILABLE_IN_1_24
-NMClient *nm_object_get_client(NMObject *object);
+struct _NMClient *nm_object_get_client(NMObject *object);
 
 G_END_DECLS
 
diff --git a/src/libnm-client-public/nm-remote-connection.h b/src/libnm-client-public/nm-remote-connection.h
index 6104ecb8..f00b25d6 100644
--- a/src/libnm-client-public/nm-remote-connection.h
+++ b/src/libnm-client-public/nm-remote-connection.h
@@ -37,6 +37,7 @@ G_BEGIN_DECLS
 /**
  * NMRemoteConnection:
  */
+typedef struct _NMRemoteConnection      NMRemoteConnection;
 typedef struct _NMRemoteConnectionClass NMRemoteConnectionClass;
 
 GType nm_remote_connection_get_type(void);
diff --git a/src/libnm-client-public/nm-secret-agent-old.h b/src/libnm-client-public/nm-secret-agent-old.h
index b45b12bb..ca7bfa4c 100644
--- a/src/libnm-client-public/nm-secret-agent-old.h
+++ b/src/libnm-client-public/nm-secret-agent-old.h
@@ -6,8 +6,6 @@
 #ifndef __NM_SECRET_AGENT_OLD_H__
 #define __NM_SECRET_AGENT_OLD_H__
 
-#include "nm-types.h"
-
 G_BEGIN_DECLS
 
 #define NM_TYPE_SECRET_AGENT_OLD (nm_secret_agent_old_get_type())
diff --git a/src/libnm-client-public/nm-types.h b/src/libnm-client-public/nm-types.h
deleted file mode 100644
index 81ffe790..00000000
--- a/src/libnm-client-public/nm-types.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-/*
- * Copyright (C) 2014 - 2018 Red Hat, Inc.
- */
-
-#ifndef __NM_TYPES_H__
-#define __NM_TYPES_H__
-
-#include <gio/gio.h>
-
-#include "nm-dbus-interface.h"
-#include "nm-connection.h"
-
-typedef struct _NMAccessPoint        NMAccessPoint;
-typedef struct _NMActiveConnection   NMActiveConnection;
-typedef struct _NMCheckpoint         NMCheckpoint;
-typedef struct _NMClient             NMClient;
-typedef struct _NMDevice             NMDevice;
-typedef struct _NMDevice6Lowpan      NMDevice6Lowpan;
-typedef struct _NMDeviceAdsl         NMDeviceAdsl;
-typedef struct _NMDeviceBond         NMDeviceBond;
-typedef struct _NMDeviceBridge       NMDeviceBridge;
-typedef struct _NMDeviceBt           NMDeviceBt;
-typedef struct _NMDeviceDummy        NMDeviceDummy;
-typedef struct _NMDeviceEthernet     NMDeviceEthernet;
-typedef struct _NMDeviceGeneric      NMDeviceGeneric;
-typedef struct _NMDeviceIPTunnel     NMDeviceIPTunnel;
-typedef struct _NMDeviceInfiniband   NMDeviceInfiniband;
-typedef struct _NMDeviceMacsec       NMDeviceMacsec;
-typedef struct _NMDeviceMacvlan      NMDeviceMacvlan;
-typedef struct _NMDeviceModem        NMDeviceModem;
-typedef struct _NMDeviceOlpcMesh     NMDeviceOlpcMesh;
-typedef struct _NMDeviceOvsBridge    NMDeviceOvsBridge;
-typedef struct _NMDeviceOvsInterface NMDeviceOvsInterface;
-typedef struct _NMDeviceOvsPort      NMDeviceOvsPort;
-typedef struct _NMDevicePpp          NMDevicePpp;
-typedef struct _NMDeviceTeam         NMDeviceTeam;
-typedef struct _NMDeviceTun          NMDeviceTun;
-typedef struct _NMDeviceVeth         NMDeviceVeth;
-typedef struct _NMDeviceVlan         NMDeviceVlan;
-typedef struct _NMDeviceVrf          NMDeviceVrf;
-typedef struct _NMDeviceVxlan        NMDeviceVxlan;
-typedef struct _NMDeviceWifi         NMDeviceWifi;
-typedef struct _NMDeviceWifiP2P      NMDeviceWifiP2P;
-typedef struct _NMDeviceWimax        NMDeviceWimax;
-typedef struct _NMDeviceWireGuard    NMDeviceWireGuard;
-typedef struct _NMDeviceWpan         NMDeviceWpan;
-typedef struct _NMDhcpConfig         NMDhcpConfig;
-typedef struct _NMIPConfig           NMIPConfig;
-typedef struct _NMObject             NMObject;
-typedef struct _NMRemoteConnection   NMRemoteConnection;
-typedef struct _NMVpnConnection      NMVpnConnection;
-typedef struct _NMWifiP2PPeer        NMWifiP2PPeer;
-typedef struct _NMWimaxNsp           NMWimaxNsp;
-
-#endif /* NM_TYPES_H */
diff --git a/src/libnm-client-public/nm-vpn-connection.h b/src/libnm-client-public/nm-vpn-connection.h
index 33ca139d..578c0333 100644
--- a/src/libnm-client-public/nm-vpn-connection.h
+++ b/src/libnm-client-public/nm-vpn-connection.h
@@ -32,6 +32,7 @@ G_BEGIN_DECLS
 /**
  * NMVpnConnection:
  */
+typedef struct _NMVpnConnection      NMVpnConnection;
 typedef struct _NMVpnConnectionClass NMVpnConnectionClass;
 
 GType nm_vpn_connection_get_type(void);
diff --git a/src/libnm-client-public/nm-vpn-editor.h b/src/libnm-client-public/nm-vpn-editor.h
index f89617a8..9c4facb2 100644
--- a/src/libnm-client-public/nm-vpn-editor.h
+++ b/src/libnm-client-public/nm-vpn-editor.h
@@ -13,7 +13,6 @@
 
 #include <glib.h>
 #include <glib-object.h>
-#include "nm-types.h"
 
 #include "nm-vpn-editor-plugin.h"
 
diff --git a/src/libnm-client-public/nm-vpn-plugin-old.h b/src/libnm-client-public/nm-vpn-plugin-old.h
index 7704c153..fe0d4bc2 100644
--- a/src/libnm-client-public/nm-vpn-plugin-old.h
+++ b/src/libnm-client-public/nm-vpn-plugin-old.h
@@ -32,7 +32,7 @@ G_BEGIN_DECLS
 typedef struct {
     NM_DEPRECATED_IN_1_2
     GObject parent;
-} NMVpnPluginOld NM_DEPRECATED_IN_1_2;
+} NMVpnPluginOld;
 
 typedef struct {
     NM_DEPRECATED_IN_1_2
@@ -85,7 +85,7 @@ typedef struct {
     /*< private >*/
     NM_DEPRECATED_IN_1_2
     gpointer padding[8];
-} NMVpnPluginOldClass NM_DEPRECATED_IN_1_2;
+} NMVpnPluginOldClass;
 
 NM_DEPRECATED_IN_1_2
 GType nm_vpn_plugin_old_get_type(void);
diff --git a/src/libnm-client-public/nm-vpn-service-plugin.h b/src/libnm-client-public/nm-vpn-service-plugin.h
index 81fb6730..5187d93d 100644
--- a/src/libnm-client-public/nm-vpn-service-plugin.h
+++ b/src/libnm-client-public/nm-vpn-service-plugin.h
@@ -39,7 +39,7 @@ G_BEGIN_DECLS
 typedef struct {
     NM_AVAILABLE_IN_1_2
     GObject parent;
-} NMVpnServicePlugin NM_AVAILABLE_IN_1_2;
+} NMVpnServicePlugin;
 
 typedef struct {
     NM_AVAILABLE_IN_1_2
@@ -92,7 +92,7 @@ typedef struct {
     /*< private >*/
     NM_AVAILABLE_IN_1_2
     gpointer padding[8];
-} NMVpnServicePluginClass NM_AVAILABLE_IN_1_2;
+} NMVpnServicePluginClass;
 
 NM_AVAILABLE_IN_1_2
 GType nm_vpn_service_plugin_get_type(void);
diff --git a/src/libnm-client-public/nm-wifi-p2p-peer.h b/src/libnm-client-public/nm-wifi-p2p-peer.h
index 73e6995c..eff27bcb 100644
--- a/src/libnm-client-public/nm-wifi-p2p-peer.h
+++ b/src/libnm-client-public/nm-wifi-p2p-peer.h
@@ -38,6 +38,7 @@ G_BEGIN_DECLS
 /**
  * NMWifiP2PPeer:
  */
+typedef struct _NMWifiP2PPeer      NMWifiP2PPeer;
 typedef struct _NMWifiP2PPeerClass NMWifiP2PPeerClass;
 
 NM_AVAILABLE_IN_1_16
diff --git a/src/libnm-client-public/nm-wimax-nsp.h b/src/libnm-client-public/nm-wimax-nsp.h
index f19272db..9cd4153c 100644
--- a/src/libnm-client-public/nm-wimax-nsp.h
+++ b/src/libnm-client-public/nm-wimax-nsp.h
@@ -33,6 +33,7 @@ G_BEGIN_DECLS
  *
  * Deprecated: 1.22: WiMAX is no longer supported by NetworkManager since 1.2.0.
  */
+typedef struct _NMWimaxNsp      NMWimaxNsp;
 typedef struct _NMWimaxNspClass NMWimaxNspClass;
 
 GType nm_wimax_nsp_get_type(void);