summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--callouts/tests/test-dispatcher-envp.c8
-rw-r--r--configure.ac79
-rw-r--r--libnm-core/nm-connection.c6
-rw-r--r--libnm-core/nm-core-internal.h18
-rw-r--r--libnm-core/nm-keyfile-internal.h6
-rw-r--r--libnm-core/nm-keyfile-utils.c6
-rw-r--r--libnm-core/nm-keyfile-utils.h2
-rw-r--r--libnm-core/nm-keyfile-writer.c4
-rw-r--r--libnm-core/nm-setting-bridge-port.c6
-rw-r--r--libnm-core/nm-setting-connection.c4
-rw-r--r--libnm-core/nm-setting-dcb.c4
-rw-r--r--libnm-core/nm-setting-generic.c2
-rw-r--r--libnm-core/nm-setting-ip-tunnel.c2
-rw-r--r--libnm-core/nm-setting-macvlan.c2
-rw-r--r--libnm-core/nm-setting-vlan.c2
-rw-r--r--libnm-core/nm-setting-vxlan.c2
-rw-r--r--libnm-core/nm-setting.c10
-rw-r--r--libnm-core/nm-utils.c12
-rw-r--r--libnm-core/nm-vpn-editor-plugin.c10
-rw-r--r--libnm-core/nm-vpn-editor-plugin.h4
-rw-r--r--libnm-core/nm-vpn-plugin-info.c12
-rw-r--r--libnm-core/tests/test-general.c36
-rw-r--r--libnm-core/tests/test-keyfile.c8
-rw-r--r--libnm-glib/nm-access-point.c2
-rw-r--r--libnm-glib/nm-client.c8
-rw-r--r--libnm-glib/nm-device-adsl.c2
-rw-r--r--libnm-glib/nm-device-bond.c2
-rw-r--r--libnm-glib/nm-device-bridge.c2
-rw-r--r--libnm-glib/nm-device-bt.c2
-rw-r--r--libnm-glib/nm-device-ethernet.c2
-rw-r--r--libnm-glib/nm-device-generic.c4
-rw-r--r--libnm-glib/nm-device-infiniband.c2
-rw-r--r--libnm-glib/nm-device-modem.c2
-rw-r--r--libnm-glib/nm-device-olpc-mesh.c2
-rw-r--r--libnm-glib/nm-device-team.c2
-rw-r--r--libnm-glib/nm-device-vlan.c2
-rw-r--r--libnm-glib/nm-device-wifi.c2
-rw-r--r--libnm-glib/nm-device-wimax.c2
-rw-r--r--libnm-glib/nm-remote-connection.c10
-rw-r--r--libnm-glib/nm-remote-settings.c8
-rw-r--r--libnm-glib/nm-secret-agent.c10
-rw-r--r--libnm-glib/nm-types.c12
-rw-r--r--libnm-glib/nm-vpn-plugin-ui-interface.h8
-rw-r--r--libnm-glib/nm-vpn-plugin.c8
-rw-r--r--libnm-glib/nm-wimax-nsp.c2
-rw-r--r--libnm-glib/tests/test-nm-client.c14
-rw-r--r--libnm-glib/tests/test-remote-settings-client.c12
-rw-r--r--libnm-util/nm-connection.c6
-rw-r--r--libnm-util/nm-param-spec-specialized.c6
-rw-r--r--libnm-util/nm-setting-bridge-port.c6
-rw-r--r--libnm-util/nm-setting-connection.c4
-rw-r--r--libnm-util/nm-setting-dcb.c4
-rw-r--r--libnm-util/nm-setting-generic.c2
-rw-r--r--libnm-util/nm-setting-ip6-config.c4
-rw-r--r--libnm-util/nm-setting-vlan.c2
-rw-r--r--libnm-util/nm-setting.c6
-rw-r--r--libnm-util/nm-utils.c6
-rw-r--r--libnm-util/tests/test-general.c4
-rw-r--r--libnm/nm-access-point.c2
-rw-r--r--libnm/nm-client.c18
-rw-r--r--libnm/nm-device-adsl.c2
-rw-r--r--libnm/nm-device-bond.c2
-rw-r--r--libnm/nm-device-bridge.c2
-rw-r--r--libnm/nm-device-bt.c2
-rw-r--r--libnm/nm-device-ethernet.c2
-rw-r--r--libnm/nm-device-generic.c4
-rw-r--r--libnm/nm-device-infiniband.c2
-rw-r--r--libnm/nm-device-ip-tunnel.c2
-rw-r--r--libnm/nm-device-macvlan.c2
-rw-r--r--libnm/nm-device-modem.c2
-rw-r--r--libnm/nm-device-olpc-mesh.c2
-rw-r--r--libnm/nm-device-team.c2
-rw-r--r--libnm/nm-device-tun.c2
-rw-r--r--libnm/nm-device-vlan.c2
-rw-r--r--libnm/nm-device-vxlan.c2
-rw-r--r--libnm/nm-device-wifi.c2
-rw-r--r--libnm/nm-device-wimax.c2
-rw-r--r--libnm/nm-manager.c14
-rw-r--r--libnm/nm-object.c6
-rw-r--r--libnm/nm-remote-connection.c6
-rw-r--r--libnm/nm-remote-settings.c4
-rw-r--r--libnm/nm-secret-agent-old.c10
-rw-r--r--libnm/nm-vpn-editor.h4
-rw-r--r--libnm/nm-vpn-plugin-old.c10
-rw-r--r--libnm/nm-vpn-service-plugin.c10
-rw-r--r--libnm/nm-wimax-nsp.c2
-rw-r--r--libnm/tests/test-nm-client.c16
-rw-r--r--libnm/tests/test-remote-settings-client.c16
-rw-r--r--libnm/tests/test-secret-agent.c14
-rw-r--r--shared/nm-common-macros.h4
-rw-r--r--shared/nm-utils/nm-macros-internal.h37
-rw-r--r--shared/nm-utils/nm-shared-utils.h8
-rw-r--r--shared/nm-utils/nm-test-utils.h10
-rw-r--r--src/Makefile.am66
-rw-r--r--src/NetworkManagerUtils.c8
-rw-r--r--src/devices/adsl/nm-atm-manager.c78
-rw-r--r--src/devices/adsl/nm-atm-manager.h37
-rw-r--r--src/devices/adsl/nm-device-adsl.c151
-rw-r--r--src/devices/adsl/nm-device-adsl.h10
-rw-r--r--src/devices/bluetooth/Makefile.am1
-rw-r--r--src/devices/bluetooth/nm-bluez-common.h3
-rw-r--r--src/devices/bluetooth/nm-bluez-device.c286
-rw-r--r--src/devices/bluetooth/nm-bluez-device.h14
-rw-r--r--src/devices/bluetooth/nm-bluez-manager.c113
-rw-r--r--src/devices/bluetooth/nm-bluez-manager.h39
-rw-r--r--src/devices/bluetooth/nm-bluez4-adapter.c192
-rw-r--r--src/devices/bluetooth/nm-bluez4-adapter.h17
-rw-r--r--src/devices/bluetooth/nm-bluez4-manager.c70
-rw-r--r--src/devices/bluetooth/nm-bluez4-manager.h17
-rw-r--r--src/devices/bluetooth/nm-bluez5-manager.c71
-rw-r--r--src/devices/bluetooth/nm-bluez5-manager.h17
-rw-r--r--src/devices/bluetooth/nm-device-bt.c265
-rw-r--r--src/devices/bluetooth/nm-device-bt.h24
-rw-r--r--src/devices/nm-arping-manager.c82
-rw-r--r--src/devices/nm-arping-manager.h8
-rw-r--r--src/devices/nm-device-bond.c31
-rw-r--r--src/devices/nm-device-bond.h4
-rw-r--r--src/devices/nm-device-bridge.c31
-rw-r--r--src/devices/nm-device-bridge.h4
-rw-r--r--src/devices/nm-device-ethernet.c13
-rw-r--r--src/devices/nm-device-ethernet.h2
-rw-r--r--src/devices/nm-device-factory.c4
-rw-r--r--src/devices/nm-device-factory.h2
-rw-r--r--src/devices/nm-device-generic.c131
-rw-r--r--src/devices/nm-device-generic.h10
-rw-r--r--src/devices/nm-device-infiniband.c84
-rw-r--r--src/devices/nm-device-infiniband.h16
-rw-r--r--src/devices/nm-device-ip-tunnel.c287
-rw-r--r--src/devices/nm-device-ip-tunnel.h9
-rw-r--r--src/devices/nm-device-macvlan.c138
-rw-r--r--src/devices/nm-device-macvlan.h4
-rw-r--r--src/devices/nm-device-tun.c147
-rw-r--r--src/devices/nm-device-tun.h4
-rw-r--r--src/devices/nm-device-veth.c6
-rw-r--r--src/devices/nm-device-vlan.c116
-rw-r--r--src/devices/nm-device-vlan.h4
-rw-r--r--src/devices/nm-device-vxlan.c318
-rw-r--r--src/devices/nm-device-vxlan.h4
-rw-r--r--src/devices/nm-device.c61
-rw-r--r--src/devices/nm-lldp-listener.c23
-rw-r--r--src/devices/nm-lldp-listener.h8
-rw-r--r--src/devices/team/Makefile.am5
-rw-r--r--src/devices/team/nm-device-team.c74
-rw-r--r--src/devices/team/nm-device-team.h4
-rw-r--r--src/devices/team/nm-team-factory.c49
-rw-r--r--src/devices/team/nm-team-factory.h35
-rw-r--r--src/devices/wifi/nm-device-olpc-mesh.c142
-rw-r--r--src/devices/wifi/nm-device-olpc-mesh.h17
-rw-r--r--src/devices/wifi/nm-device-wifi.c6
-rw-r--r--src/devices/wifi/nm-wifi-ap.c6
-rw-r--r--src/devices/wifi/nm-wifi-factory.c56
-rw-r--r--src/devices/wifi/tests/test-wifi-ap-utils.c44
-rw-r--r--src/devices/wwan/Makefile.am1
-rw-r--r--src/devices/wwan/nm-device-modem.c245
-rw-r--r--src/devices/wwan/nm-device-modem.h10
-rw-r--r--src/devices/wwan/nm-modem-broadband.c349
-rw-r--r--src/devices/wwan/nm-modem-broadband.h14
-rw-r--r--src/devices/wwan/nm-modem-manager.c154
-rw-r--r--src/devices/wwan/nm-modem-manager.h22
-rw-r--r--src/devices/wwan/nm-modem-ofono.c89
-rw-r--r--src/devices/wwan/nm-modem-ofono.h9
-rw-r--r--src/devices/wwan/nm-modem.c426
-rw-r--r--src/devices/wwan/nm-modem.h24
-rw-r--r--src/devices/wwan/nm-wwan-factory.c68
-rw-r--r--src/devices/wwan/nm-wwan-factory.h35
-rw-r--r--src/dhcp-manager/nm-dhcp-client.c188
-rw-r--r--src/dhcp-manager/nm-dhcp-client.h36
-rw-r--r--src/dhcp-manager/nm-dhcp-dhclient.c77
-rw-r--r--src/dhcp-manager/nm-dhcp-dhclient.h42
-rw-r--r--src/dhcp-manager/nm-dhcp-dhcpcd.c66
-rw-r--r--src/dhcp-manager/nm-dhcp-dhcpcd.h42
-rw-r--r--src/dhcp-manager/nm-dhcp-helper-api.h4
-rw-r--r--src/dhcp-manager/nm-dhcp-listener.c4
-rw-r--r--src/dhcp-manager/nm-dhcp-manager.c182
-rw-r--r--src/dhcp-manager/nm-dhcp-manager.h9
-rw-r--r--src/dhcp-manager/nm-dhcp-systemd.c59
-rw-r--r--src/dhcp-manager/nm-dhcp-systemd.h42
-rw-r--r--src/dhcp-manager/nm-dhcp-utils.c4
-rw-r--r--src/dhcp-manager/tests/test-dhcp-dhclient.c32
-rw-r--r--src/dns-manager/nm-dns-dnsmasq.c43
-rw-r--r--src/dns-manager/nm-dns-dnsmasq.h10
-rw-r--r--src/dns-manager/nm-dns-manager.c6
-rw-r--r--src/dns-manager/nm-dns-plugin.c46
-rw-r--r--src/dns-manager/nm-dns-plugin.h11
-rw-r--r--src/dns-manager/nm-dns-systemd-resolved.c43
-rw-r--r--src/dns-manager/nm-dns-systemd-resolved.h10
-rw-r--r--src/dns-manager/nm-dns-unbound.c25
-rw-r--r--src/dns-manager/nm-dns-unbound.h9
-rw-r--r--src/dnsmasq-manager/nm-dnsmasq-manager.c68
-rw-r--r--src/dnsmasq-manager/nm-dnsmasq-manager.h10
-rw-r--r--src/dnsmasq-manager/tests/test-dnsmasq-utils.c2
-rw-r--r--src/nm-act-request.c (renamed from src/nm-activation-request.c)106
-rw-r--r--src/nm-act-request.h (renamed from src/nm-activation-request.h)15
-rw-r--r--src/nm-active-connection.c213
-rw-r--r--src/nm-active-connection.h3
-rw-r--r--src/nm-audit-manager.c67
-rw-r--r--src/nm-audit-manager.h8
-rw-r--r--src/nm-auth-manager.c109
-rw-r--r--src/nm-auth-manager.h11
-rw-r--r--src/nm-auth-subject.c6
-rw-r--r--src/nm-bus-manager.c224
-rw-r--r--src/nm-bus-manager.h18
-rw-r--r--src/nm-checkpoint-manager.c1
-rw-r--r--src/nm-checkpoint-manager.h2
-rw-r--r--src/nm-checkpoint.c123
-rw-r--r--src/nm-checkpoint.h5
-rw-r--r--src/nm-config-data.c247
-rw-r--r--src/nm-config-data.h9
-rw-r--r--src/nm-config.c173
-rw-r--r--src/nm-config.h17
-rw-r--r--src/nm-connectivity.c157
-rw-r--r--src/nm-connectivity.h9
-rw-r--r--src/nm-core-utils.c10
-rw-r--r--src/nm-default-route-manager.c52
-rw-r--r--src/nm-default-route-manager.h9
-rw-r--r--src/nm-dhcp4-config.c97
-rw-r--r--src/nm-dhcp4-config.h13
-rw-r--r--src/nm-dhcp6-config.c95
-rw-r--r--src/nm-dhcp6-config.h13
-rw-r--r--src/nm-exported-object.c26
-rw-r--r--src/nm-exported-object.h3
-rw-r--r--src/nm-firewall-manager.c94
-rw-r--r--src/nm-firewall-manager.h25
-rw-r--r--src/nm-iface-helper.c2
-rw-r--r--src/nm-ip4-config.c40
-rw-r--r--src/nm-ip4-config.h2
-rw-r--r--src/nm-ip6-config.c30
-rw-r--r--src/nm-ip6-config.h2
-rw-r--r--src/nm-logging.c6
-rw-r--r--src/nm-manager.c39
-rw-r--r--src/nm-multi-index.c10
-rw-r--r--src/nm-policy.c116
-rw-r--r--src/nm-policy.h12
-rw-r--r--src/nm-rfkill-manager.c60
-rw-r--r--src/nm-rfkill-manager.h21
-rw-r--r--src/nm-route-manager.c57
-rw-r--r--src/nm-route-manager.h14
-rw-r--r--src/nm-session-monitor.c65
-rw-r--r--src/nm-session-monitor.h17
-rw-r--r--src/nm-sleep-monitor.c27
-rw-r--r--src/nm-sleep-monitor.h7
-rw-r--r--src/nm-types.h1
-rw-r--r--src/platform/nm-fake-platform.c128
-rw-r--r--src/platform/nm-fake-platform.h13
-rw-r--r--src/platform/nm-linux-platform.c83
-rw-r--r--src/platform/nm-linux-platform.h17
-rw-r--r--src/platform/nm-platform.c45
-rw-r--r--src/platform/nm-platform.h14
-rw-r--r--src/platform/nmp-netns.c73
-rw-r--r--src/platform/nmp-netns.h11
-rw-r--r--src/platform/nmp-object.c36
-rw-r--r--src/platform/tests/test-common.h8
-rw-r--r--src/platform/tests/test-general.c6
-rw-r--r--src/platform/tests/test-link.c4
-rw-r--r--src/platform/tests/test-nmp-object.c8
-rw-r--r--src/platform/wifi/wifi-utils-wext.c4
-rw-r--r--src/platform/wifi/wifi-utils.c2
-rw-r--r--src/ppp-manager/nm-ppp-manager.c371
-rw-r--r--src/ppp-manager/nm-ppp-manager.h29
-rw-r--r--src/rdisc/nm-fake-rdisc.c53
-rw-r--r--src/rdisc/nm-fake-rdisc.h11
-rw-r--r--src/rdisc/nm-rdisc-private.h4
-rw-r--r--src/rdisc/nm-rdisc.c4
-rw-r--r--src/settings/nm-agent-manager.c150
-rw-r--r--src/settings/nm-agent-manager.h12
-rw-r--r--src/settings/nm-inotify-helper.c56
-rw-r--r--src/settings/nm-inotify-helper.h20
-rw-r--r--src/settings/nm-secret-agent.c102
-rw-r--r--src/settings/nm-secret-agent.h10
-rw-r--r--src/settings/nm-settings-connection.c96
-rw-r--r--src/settings/nm-settings-connection.h3
-rw-r--r--src/settings/nm-settings.c231
-rw-r--r--src/settings/nm-settings.h8
-rw-r--r--src/settings/plugins/ibft/nm-ibft-connection.c28
-rw-r--r--src/settings/plugins/ibft/nm-ibft-connection.h9
-rw-r--r--src/settings/plugins/ibft/plugin.c89
-rw-r--r--src/settings/plugins/ibft/plugin.h10
-rw-r--r--src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c238
-rw-r--r--src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.h9
-rw-r--r--src/settings/plugins/ifcfg-rh/plugin.c139
-rw-r--r--src/settings/plugins/ifcfg-rh/plugin.h9
-rw-r--r--src/settings/plugins/ifnet/nm-ifnet-connection.c135
-rw-r--r--src/settings/plugins/ifnet/nm-ifnet-connection.h9
-rw-r--r--src/settings/plugins/ifnet/plugin.c158
-rw-r--r--src/settings/plugins/ifnet/plugin.h9
-rw-r--r--src/settings/plugins/ifupdown/nm-ifupdown-connection.c43
-rw-r--r--src/settings/plugins/ifupdown/nm-ifupdown-connection.h9
-rw-r--r--src/settings/plugins/ifupdown/plugin.c298
-rw-r--r--src/settings/plugins/ifupdown/plugin.h10
-rw-r--r--src/settings/plugins/keyfile/plugin.c87
-rw-r--r--src/settings/plugins/keyfile/plugin.h15
-rw-r--r--src/supplicant-manager/nm-supplicant-config.c39
-rw-r--r--src/supplicant-manager/nm-supplicant-config.h11
-rw-r--r--src/supplicant-manager/nm-supplicant-interface.c139
-rw-r--r--src/supplicant-manager/nm-supplicant-interface.h47
-rw-r--r--src/supplicant-manager/nm-supplicant-manager.c54
-rw-r--r--src/supplicant-manager/nm-supplicant-manager.h24
-rw-r--r--src/supplicant-manager/nm-supplicant-settings-verify.c4
-rw-r--r--src/tests/config/nm-test-device.c41
-rw-r--r--src/tests/config/nm-test-device.h10
-rw-r--r--src/tests/config/test-config.c4
-rw-r--r--src/tests/test-dcb.c2
-rw-r--r--src/tests/test-general-with-expect.c14
-rw-r--r--src/tests/test-general.c8
-rw-r--r--src/tests/test-ip4-config.c2
-rw-r--r--src/tests/test-ip6-config.c2
-rw-r--r--src/tests/test-resolvconf-capture.c2
-rw-r--r--src/tests/test-wired-defname.c12
-rw-r--r--src/vpn-manager/nm-vpn-connection.c13
-rw-r--r--src/vpn-manager/nm-vpn-connection.h11
-rw-r--r--src/vpn-manager/nm-vpn-manager.c31
-rw-r--r--src/vpn-manager/nm-vpn-manager.h15
312 files changed, 6183 insertions, 6334 deletions
diff --git a/callouts/tests/test-dispatcher-envp.c b/callouts/tests/test-dispatcher-envp.c
index 8636f09797..354ab2c5b2 100644
--- a/callouts/tests/test-dispatcher-envp.c
+++ b/callouts/tests/test-dispatcher-envp.c
@@ -30,7 +30,7 @@
#include "nm-utils/nm-test-utils.h"
-/*******************************************/
+/*****************************************************************************/
static gboolean
parse_main (GKeyFile *kf,
@@ -444,7 +444,7 @@ out:
return success;
}
-/*******************************************/
+/*****************************************************************************/
static void
test_generic (const char *file, const char *override_vpn_ip_iface)
@@ -556,7 +556,7 @@ test_generic (const char *file, const char *override_vpn_ip_iface)
g_assert_cmpstr (expected_iface, ==, out_iface);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_up (void)
@@ -606,7 +606,7 @@ test_up_empty_vpn_iface (void)
test_generic ("dispatcher-up", "");
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/configure.ac b/configure.ac
index 34b92d1afe..570aae3984 100644
--- a/configure.ac
+++ b/configure.ac
@@ -742,48 +742,71 @@ AM_CONDITIONAL(WITH_OFONO, test "${with_ofono}" = "yes")
# DHCP client support
AC_ARG_WITH([dhclient], AS_HELP_STRING([--with-dhclient=yes|no|path], [Enable dhclient 4.x support]))
-AC_ARG_WITH([dhcpcd], AS_HELP_STRING([--with-dhcpcd=yes|no|path], [Enable dhcpcd 4.x support]))
-# Default to "yes"
-AS_IF([test -z "$with_dhclient"], with_dhclient=yes)
-AS_IF([test -z "$with_dhcpcd"], with_dhcpcd=yes)
-# Search and check the executables
-if test "$with_dhclient" = "yes"; then
+if test "$with_dhclient" != "no"; then
+ with_dhclient_="$with_dhclient"
AC_PATH_PROGS(with_dhclient, dhclient, no, /sbin:/usr/sbin:/usr/local/sbin)
- if test "$with_dhclient" != "no"; then
+ if test "$with_dhclient" == "no"; then
+ if test "$with_dhclient_" == yes; then
+ AC_MSG_WARN([dhclient not found, assume path /usr/sbin/dhclient])
+ with_dhclient=/usr/sbin/dhclient
+ fi
+ else
if ! $with_dhclient --version 2>&1 | grep -q "^isc-dhclient-4\."; then
- AC_MSG_WARN([Cannot use dhclient, version 4.x is required])
- with_dhclient=no
+ AC_MSG_WARN([Seems version of dhclient $with_dhclient is too old, version 4.x or newer is required.])
fi
fi
fi
-if test "$with_dhcpcd" = "yes"; then
+if test "$with_dhclient" != "no"; then
+ AC_DEFINE(WITH_DHCLIENT, 1, [Define if you have dhclient])
+ AC_SUBST(DHCLIENT_PATH, $with_dhclient)
+else
+ AC_DEFINE(WITH_DHCLIENT, 0, [Define if you have dhclient])
+fi
+
+AC_ARG_WITH([dhcpcd], AS_HELP_STRING([--with-dhcpcd=yes|no|path], [Enable dhcpcd 4.x support]))
+AC_ARG_WITH([dhcpcd-supports-ipv6], AS_HELP_STRING([--with-dhcpcd-supports-ipv6=yes|no|auto], [Whether using dhcpcd >= 6.x which has IPv6 support]), [with_dhcpcd_supports_ipv6=$withval], [with_dhcpcd_supports_ipv6=auto])
+if test "$with_dhcpcd" != "no"; then
+ with_dhcpcd_="$with_dhcpcd"
AC_PATH_PROGS(with_dhcpcd, dhcpcd, no, /sbin:/usr/sbin:/usr/local/sbin)
- if test "$with_dhcpcd" != "no"; then
+ if test "$with_dhcpcd" == "no"; then
+ if test "$with_dhcpcd_" == yes; then
+ AC_MSG_WARN([dhcpcd not found, assume path /usr/sbin/dhcpcd])
+ with_dhcpcd=/usr/sbin/dhcpcd
+ if test "$with_dhcpcd_supports_ipv6" == auto; then
+ with_dhcpcd_supports_ipv6=yes
+ fi
+ fi
+ else
if ! $with_dhcpcd --version 2>&1 | grep -q "^dhcpcd [[456789]]\."; then
- AC_MSG_WARN([Cannot use dhcpcd, version 4.x or higher is required])
- with_dhcpcd=no
- elif $with_dhcpcd --version 2>&1 | grep -q "^dhcpcd [[6789]]\."; then
- AC_DEFINE(DHCPCD_SUPPORTS_IPV6, 1, [Define if dhcpcd supports IPv6 (6.x+)])
+ AC_MSG_WARN([Seems version of dhcpcd $with_dhcpcd is too old, version 4.x or newer is required])
fi
fi
fi
-# Fallback
-if test "$with_dhclient" = "no" -a "$with_dhcpcd" = "no"; then
- AC_MSG_WARN([Could not find a suitable DHCP client, falling back to dhclient])
- with_dhclient=/sbin/dhclient
-fi
-# Add substitutions
-if test "$with_dhclient" != "no"; then
- AC_DEFINE(WITH_DHCLIENT, TRUE, [Define if you have dhclient])
- AC_SUBST(DHCLIENT_PATH, $with_dhclient)
+if test "$with_dhcpcd" != "no"; then
+ if $with_dhcpcd --version 2>&1 | grep -q "^dhcpcd [[6789]]\."; then
+ if test "$with_dhcpcd_supports_ipv6" == no; then
+ AC_MSG_WARN([Seems version of dhcpcd $with_dhcpcd supports IPv6, but compiling --with-dhcpcd-supports-ipv6=no])
+ else
+ with_dhcpcd_supports_ipv6=yes
+ fi
+ else
+ if test "$with_dhcpcd_supports_ipv6" == yes; then
+ AC_MSG_WARN([Seems version of dhcpcd $with_dhcpcd does not support IPv6, but compiling --with-dhcpcd-supports-ipv6=yes])
+ else
+ with_dhcpcd_supports_ipv6=no
+ fi
+ fi
+ if test "$with_dhcpcd_supports_ipv6" != no; then
+ AC_DEFINE(DHCPCD_SUPPORTS_IPV6, 1, [Define if dhcpcd supports IPv6 (6.x+)])
+ fi
else
- AC_DEFINE(WITH_DHCLIENT, FALSE, [Define if you have dhclient])
+ with_dhcpcd_supports_ipv6=no
fi
if test "$with_dhcpcd" != "no"; then
- AC_DEFINE(WITH_DHCPCD, TRUE, [Define if you have dhcpcd])
+ AC_DEFINE(WITH_DHCPCD, 1, [Define if you have dhcpcd])
AC_SUBST(DHCPCD_PATH, $with_dhcpcd)
else
- AC_DEFINE(WITH_DHCPCD, FALSE, [Define if you have dhcpcd])
+ AC_DEFINE(WITH_DHCPCD, 0, [Define if you have dhcpcd])
fi
# resolvconf and netconfig support
@@ -792,6 +815,7 @@ AC_ARG_WITH(netconfig, AS_HELP_STRING([--with-netconfig=yes|no], [Enable SUSE ne
AC_ARG_WITH(config-dns-rc-manager-default, AS_HELP_STRING([--with-config-dns-rc-manager-default=symlink|file|netconfig|resolvconf], [Configure default value for main.rc-manager setting]), [config_dns_rc_manager_default=$withval])
if test "$config_dns_rc_manager_default" != symlink -a \
"$config_dns_rc_manager_default" != file -a \
+ "$config_dns_rc_manager_default" != "" -a \
"$config_dns_rc_manager_default" != netconfig -a \
"$config_dns_rc_manager_default" != resolvconf; then
AC_MSG_WARN([Unknown --with-config-dns-rc-manager-default=$config_dns_rc_manager_default setting.])
@@ -1265,6 +1289,7 @@ echo
echo "DHCP clients:"
echo " dhclient: $with_dhclient"
echo " dhcpcd: $with_dhcpcd"
+echo " dhcpcd-supports-ipv6: $with_dhcpcd_supports_ipv6"
echo
echo "Miscellaneous:"
diff --git a/libnm-core/nm-connection.c b/libnm-core/nm-connection.c
index 3e9db68f41..5632b1883e 100644
--- a/libnm-core/nm-connection.c
+++ b/libnm-core/nm-connection.c
@@ -77,7 +77,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
static NMSettingVerifyResult _nm_connection_verify (NMConnection *connection, GError **error);
-/*************************************************************/
+/*****************************************************************************/
static void
setting_changed_cb (NMSetting *setting,
@@ -1860,7 +1860,7 @@ nm_connection_get_virtual_device_description (NMConnection *connection)
return g_strdup_printf ("%s (%s)", display_type, iface);
}
-/*************************************************************/
+/*****************************************************************************/
/**
* nm_connection_get_setting_802_1x:
@@ -2360,7 +2360,7 @@ nm_connection_get_setting_vlan (NMConnection *connection)
return (NMSettingVlan *) nm_connection_get_setting (connection, NM_TYPE_SETTING_VLAN);
}
-/*************************************************************/
+/*****************************************************************************/
static void
nm_connection_private_free (NMConnectionPrivate *priv)
diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h
index 2a1c69d94b..d7ad49b0f7 100644
--- a/libnm-core/nm-core-internal.h
+++ b/libnm-core/nm-core-internal.h
@@ -227,7 +227,7 @@ GVariant *_nm_dbus_proxy_call_sync (GDBusProxy *proxy,
gboolean _nm_dbus_error_has_name (GError *error,
const char *dbus_error_name);
-/***********************************************************/
+/*****************************************************************************/
gboolean _nm_vpn_plugin_info_check_file (const char *filename,
gboolean check_absolute,
@@ -247,7 +247,7 @@ GSList *_nm_vpn_plugin_info_list_load_dir (const char *dirname,
NMUtilsCheckFilePredicate check_file,
gpointer user_data);
-/***********************************************************/
+/*****************************************************************************/
typedef struct {
const char *name;
@@ -262,7 +262,7 @@ gboolean _nm_utils_dns_option_validate (const char *option, char **out_name,
const NMUtilsDNSOptionDesc *option_descs);
int _nm_utils_dns_option_find_idx (GPtrArray *array, const char *option);
-/***********************************************************/
+/*****************************************************************************/
typedef struct _NMUtilsStrStrDictKey NMUtilsStrStrDictKey;
guint _nm_utils_strstrdictkey_hash (gconstpointer a);
@@ -272,7 +272,7 @@ NMUtilsStrStrDictKey *_nm_utils_strstrdictkey_create (const char *v1, const char
#define _nm_utils_strstrdictkey_static(v1, v2) \
( (NMUtilsStrStrDictKey *) ("\03" v1 "\0" v2 "") )
-/***********************************************************/
+/*****************************************************************************/
gboolean _nm_setting_vlan_set_priorities (NMSettingVlan *setting,
NMVlanPriorityMap map,
@@ -283,7 +283,7 @@ void _nm_setting_vlan_get_priorities (NMSettingVlan *setting,
NMVlanQosMapping **out_qos_map,
guint *out_n_qos_map);
-/***********************************************************/
+/*****************************************************************************/
struct ether_addr;
@@ -293,7 +293,7 @@ gboolean _nm_utils_generate_mac_address_mask_parse (const char *value,
gsize *out_ouis_len,
GError **error);
-/***********************************************************/
+/*****************************************************************************/
typedef enum {
NM_BOND_OPTION_TYPE_INT,
@@ -307,7 +307,7 @@ typedef enum {
NMBondOptionType
_nm_setting_bond_get_option_type (NMSettingBond *setting, const char *name);
-/***********************************************************/
+/*****************************************************************************/
typedef enum {
NM_BOND_MODE_UNKNOWN = 0,
@@ -323,11 +323,11 @@ typedef enum {
NMBondMode _nm_setting_bond_mode_from_string (const char *str);
gboolean _nm_setting_bond_option_supported (const char *option, NMBondMode mode);
-/***********************************************************/
+/*****************************************************************************/
gboolean _nm_utils_inet6_is_token (const struct in6_addr *in6addr);
-/***********************************************************/
+/*****************************************************************************/
gboolean _nm_utils_team_config_equal (const char *conf1, const char *conf2, gboolean port);
diff --git a/libnm-core/nm-keyfile-internal.h b/libnm-core/nm-keyfile-internal.h
index 41bec0cf8a..1bf24be8d0 100644
--- a/libnm-core/nm-keyfile-internal.h
+++ b/libnm-core/nm-keyfile-internal.h
@@ -27,7 +27,7 @@
#include "nm-connection.h"
#include "nm-setting-8021x.h"
-/*********************************************************/
+/*****************************************************************************/
#define NM_KEYFILE_CERT_SCHEME_PREFIX_BLOB "data:;base64,"
#define NM_KEYFILE_CERT_SCHEME_PREFIX_PATH "file://"
@@ -94,7 +94,7 @@ NMConnection *nm_keyfile_read (GKeyFile *keyfile,
void *user_data,
GError **error);
-/*********************************************************/
+/*****************************************************************************/
typedef enum {
NM_KEYFILE_WRITE_TYPE_CERT = 1,
@@ -155,7 +155,7 @@ GKeyFile *nm_keyfile_write (NMConnection *connection,
void *user_data,
GError **error);
-/*********************************************************/
+/*****************************************************************************/
char *nm_keyfile_plugin_kf_get_string (GKeyFile *kf, const char *group, const char *key, GError **error);
void nm_keyfile_plugin_kf_set_string (GKeyFile *kf, const char *group, const char *key, const char *value);
diff --git a/libnm-core/nm-keyfile-utils.c b/libnm-core/nm-keyfile-utils.c
index bdd18bab4c..79b6ea112d 100644
--- a/libnm-core/nm-keyfile-utils.c
+++ b/libnm-core/nm-keyfile-utils.c
@@ -68,7 +68,7 @@ nm_keyfile_plugin_get_setting_name_for_alias (const char *alias)
return NULL;
}
-/**********************************************************************/
+/*****************************************************************************/
/* List helpers */
#define DEFINE_KF_LIST_WRAPPER(stype, get_ctype, set_ctype) \
@@ -202,7 +202,7 @@ nm_keyfile_plugin_kf_has_key (GKeyFile *kf,
return has;
}
-/************************************************************************/
+/*****************************************************************************/
void
_nm_keyfile_copy (GKeyFile *dst, GKeyFile *src)
@@ -232,7 +232,7 @@ _nm_keyfile_copy (GKeyFile *dst, GKeyFile *src)
}
}
-/************************************************************************/
+/*****************************************************************************/
gboolean
_nm_keyfile_a_contains_all_in_b (GKeyFile *kf_a, GKeyFile *kf_b)
diff --git a/libnm-core/nm-keyfile-utils.h b/libnm-core/nm-keyfile-utils.h
index faa027db3f..e7d803ce1e 100644
--- a/libnm-core/nm-keyfile-utils.h
+++ b/libnm-core/nm-keyfile-utils.h
@@ -29,7 +29,7 @@ const char *nm_keyfile_plugin_get_alias_for_setting_name (const char *setting_na
const char *nm_keyfile_plugin_get_setting_name_for_alias (const char *alias);
-/*********************************************************/
+/*****************************************************************************/
/* List helpers */
#define DEFINE_KF_LIST_WRAPPER_PROTO(stype, get_ctype, set_ctype) \
diff --git a/libnm-core/nm-keyfile-writer.c b/libnm-core/nm-keyfile-writer.c
index e0e6ba4bf8..4a2fbd1f18 100644
--- a/libnm-core/nm-keyfile-writer.c
+++ b/libnm-core/nm-keyfile-writer.c
@@ -428,7 +428,7 @@ static const ObjectType objtypes[10] = {
{ NULL },
};
-/**************************************************************************/
+/*****************************************************************************/
static void
cert_writer_default (NMConnection *connection,
@@ -540,7 +540,7 @@ cert_writer (KeyfileWriterInfo *info,
cert_writer_default (info->connection, info->keyfile, &type_data);
}
-/**************************************************************************/
+/*****************************************************************************/
typedef struct {
const char *setting_name;
diff --git a/libnm-core/nm-setting-bridge-port.c b/libnm-core/nm-setting-bridge-port.c
index df2e7bd334..331fa5aea0 100644
--- a/libnm-core/nm-setting-bridge-port.c
+++ b/libnm-core/nm-setting-bridge-port.c
@@ -60,7 +60,7 @@ enum {
LAST_PROP
};
-/**************************************************************************/
+/*****************************************************************************/
/**
* nm_setting_bridge_port_get_priority:
@@ -104,7 +104,7 @@ nm_setting_bridge_port_get_hairpin_mode (NMSettingBridgePort *setting)
return NM_SETTING_BRIDGE_PORT_GET_PRIVATE (setting)->hairpin_mode;
}
-/**************************************************************************/
+/*****************************************************************************/
#define BR_MAX_PORT_PRIORITY 63
#define BR_DEF_PRIORITY 32
@@ -174,7 +174,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
return TRUE;
}
-/**************************************************************************/
+/*****************************************************************************/
/**
* nm_setting_bridge_port_new:
diff --git a/libnm-core/nm-setting-connection.c b/libnm-core/nm-setting-connection.c
index f6b801c6bd..abd8b19e3c 100644
--- a/libnm-core/nm-setting-connection.c
+++ b/libnm-core/nm-setting-connection.c
@@ -105,7 +105,7 @@ enum {
LAST_PROP
};
-/***********************************************************************/
+/*****************************************************************************/
#define PERM_USER_PREFIX "user:"
@@ -186,7 +186,7 @@ permission_free (Permission *p)
g_slice_free (Permission, p);
}
-/***********************************************************************/
+/*****************************************************************************/
/**
* nm_setting_connection_new:
diff --git a/libnm-core/nm-setting-dcb.c b/libnm-core/nm-setting-dcb.c
index 751904b510..140dc02102 100644
--- a/libnm-core/nm-setting-dcb.c
+++ b/libnm-core/nm-setting-dcb.c
@@ -506,7 +506,7 @@ nm_setting_dcb_set_priority_traffic_class (NMSettingDcb *setting,
}
}
-/******************************************************************/
+/*****************************************************************************/
#define DCB_FLAGS_ALL (NM_SETTING_DCB_FLAG_ENABLE | \
NM_SETTING_DCB_FLAG_ADVERTISE | \
@@ -724,7 +724,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_setting_dcb_init (NMSettingDcb *setting)
diff --git a/libnm-core/nm-setting-generic.c b/libnm-core/nm-setting-generic.c
index a44f83cbb0..09edeb6e1b 100644
--- a/libnm-core/nm-setting-generic.c
+++ b/libnm-core/nm-setting-generic.c
@@ -46,7 +46,7 @@ typedef struct {
int dummy;
} NMSettingGenericPrivate;
-/**************************************************************************/
+/*****************************************************************************/
/**
* nm_setting_generic_new:
diff --git a/libnm-core/nm-setting-ip-tunnel.c b/libnm-core/nm-setting-ip-tunnel.c
index f75a51b68c..4b78bde05a 100644
--- a/libnm-core/nm-setting-ip-tunnel.c
+++ b/libnm-core/nm-setting-ip-tunnel.c
@@ -285,7 +285,7 @@ nm_setting_ip_tunnel_get_mtu (NMSettingIPTunnel *setting)
return NM_SETTING_IP_TUNNEL_GET_PRIVATE (setting)->mtu;
}
-/*********************************************************************/
+/*****************************************************************************/
static gboolean
verify (NMSetting *setting, NMConnection *connection, GError **error)
diff --git a/libnm-core/nm-setting-macvlan.c b/libnm-core/nm-setting-macvlan.c
index aec3b4f99d..836e6d5e7c 100644
--- a/libnm-core/nm-setting-macvlan.c
+++ b/libnm-core/nm-setting-macvlan.c
@@ -136,7 +136,7 @@ nm_setting_macvlan_get_tap (NMSettingMacvlan *setting)
return NM_SETTING_MACVLAN_GET_PRIVATE (setting)->tap;
}
-/*********************************************************************/
+/*****************************************************************************/
static void
nm_setting_macvlan_init (NMSettingMacvlan *setting)
diff --git a/libnm-core/nm-setting-vlan.c b/libnm-core/nm-setting-vlan.c
index 827a47af23..b27fe65ed3 100644
--- a/libnm-core/nm-setting-vlan.c
+++ b/libnm-core/nm-setting-vlan.c
@@ -595,7 +595,7 @@ nm_setting_vlan_clear_priorities (NMSettingVlan *setting, NMVlanPriorityMap map)
set_map (setting, map, NULL);
}
-/*********************************************************************/
+/*****************************************************************************/
static void
nm_setting_vlan_init (NMSettingVlan *setting)
diff --git a/libnm-core/nm-setting-vxlan.c b/libnm-core/nm-setting-vxlan.c
index 57fbfd795f..deedd919ae 100644
--- a/libnm-core/nm-setting-vxlan.c
+++ b/libnm-core/nm-setting-vxlan.c
@@ -340,7 +340,7 @@ nm_setting_vxlan_get_l3_miss (NMSettingVxlan *setting)
return NM_SETTING_VXLAN_GET_PRIVATE (setting)->l3_miss;
}
-/*********************************************************************/
+/*****************************************************************************/
static void
nm_setting_vxlan_init (NMSettingVxlan *setting)
diff --git a/libnm-core/nm-setting.c b/libnm-core/nm-setting.c
index fcd8dff760..82467c9c6a 100644
--- a/libnm-core/nm-setting.c
+++ b/libnm-core/nm-setting.c
@@ -74,7 +74,7 @@ enum {
PROP_LAST
};
-/*************************************************************/
+/*****************************************************************************/
static GHashTable *registered_settings = NULL;
static GHashTable *registered_settings_by_type = NULL;
@@ -115,7 +115,7 @@ _ensure_registered_constructor (void)
} \
} G_STMT_END
-/*************************************************************/
+/*****************************************************************************/
/*
* _nm_register_setting:
@@ -264,7 +264,7 @@ _nm_setting_compare_priority (gconstpointer a, gconstpointer b)
return 1;
}
-/*************************************************************/
+/*****************************************************************************/
gboolean
_nm_setting_slave_type_is_valid (const char *slave_type, const char **out_port_type)
@@ -288,7 +288,7 @@ _nm_setting_slave_type_is_valid (const char *slave_type, const char **out_port_t
return found;
}
-/*************************************************************/
+/*****************************************************************************/
typedef struct {
const char *name;
@@ -592,7 +592,7 @@ nm_setting_class_find_property (NMSettingClass *setting_class, const char *prope
return find_property (properties, property_name);
}
-/*************************************************************/
+/*****************************************************************************/
static const GVariantType *
variant_type_for_gtype (GType type)
diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c
index 4e1694696b..f94b217a20 100644
--- a/libnm-core/nm-utils.c
+++ b/libnm-core/nm-utils.c
@@ -2144,7 +2144,7 @@ next:
return routes;
}
-/**********************************************************************************************/
+/*****************************************************************************/
/**
* nm_utils_uuid_generate:
@@ -2260,7 +2260,7 @@ _nm_utils_uuid_generate_from_strings (const char *string1, ...)
return uuid;
}
-/**********************************************************************************************/
+/*****************************************************************************/
/**
* nm_utils_rsa_key_encrypt:
@@ -2454,7 +2454,7 @@ nm_utils_file_is_pkcs12 (const char *filename)
return crypto_is_pkcs12_file (filename, NULL);
}
-/**********************************************************************************************/
+/*****************************************************************************/
gboolean
_nm_utils_check_file (const char *filename,
@@ -2580,7 +2580,7 @@ _nm_utils_check_module_file (const char *name,
error);
}
-/**********************************************************************************************/
+/*****************************************************************************/
/**
* nm_utils_file_search_in_paths:
@@ -2654,7 +2654,7 @@ NOT_FOUND:
return NULL;
}
-/**********************************************************************************************/
+/*****************************************************************************/
/* Band, channel/frequency stuff for wireless */
struct cf_pair {
@@ -4001,7 +4001,7 @@ nm_utils_bond_mode_string_to_int (const char *mode)
return -1;
}
-/**********************************************************************************************/
+/*****************************************************************************/
#define STRSTRDICTKEY_V1_SET 0x01
#define STRSTRDICTKEY_V2_SET 0x02
diff --git a/libnm-core/nm-vpn-editor-plugin.c b/libnm-core/nm-vpn-editor-plugin.c
index 7cb02abd0e..32e2a4edf2 100644
--- a/libnm-core/nm-vpn-editor-plugin.c
+++ b/libnm-core/nm-vpn-editor-plugin.c
@@ -72,7 +72,7 @@ nm_vpn_editor_plugin_default_init (NMVpnEditorPluginInterface *iface)
G_PARAM_STATIC_STRINGS));
}
-/*********************************************************************/
+/*****************************************************************************/
typedef struct {
NMVpnPluginInfo *plugin_info;
@@ -113,7 +113,7 @@ _private_get (NMVpnEditorPlugin *plugin, gboolean create)
#define NM_VPN_EDITOR_PLUGIN_GET_PRIVATE(plugin) _private_get (plugin, TRUE)
#define NM_VPN_EDITOR_PLUGIN_TRY_GET_PRIVATE(plugin) _private_get (plugin, FALSE)
-/*********************************************************************/
+/*****************************************************************************/
/**
* nm_vpn_editor_plugin_get_plugin_info:
@@ -178,7 +178,7 @@ nm_vpn_editor_plugin_set_plugin_info (NMVpnEditorPlugin *plugin, NMVpnPluginInfo
}
-/*********************************************************************/
+/*****************************************************************************/
/**
* nm_vpn_editor_plugin_get_vt:
@@ -225,7 +225,7 @@ nm_vpn_editor_plugin_get_vt (NMVpnEditorPlugin *plugin,
return p_vt_size;
}
-/*********************************************************************/
+/*****************************************************************************/
static NMVpnEditorPlugin *
_nm_vpn_editor_plugin_load (const char *plugin_name,
@@ -446,7 +446,7 @@ nm_vpn_editor_plugin_load (const char *plugin_name,
error);
}
-/*********************************************************************/
+/*****************************************************************************/
/**
* nm_vpn_editor_plugin_get_editor:
diff --git a/libnm-core/nm-vpn-editor-plugin.h b/libnm-core/nm-vpn-editor-plugin.h
index fb51f7e621..6d3cf0c781 100644
--- a/libnm-core/nm-vpn-editor-plugin.h
+++ b/libnm-core/nm-vpn-editor-plugin.h
@@ -48,9 +48,9 @@ NMVpnEditorPlugin *nm_vpn_editor_plugin_factory (GError **error);
#endif
-/**************************************************/
+/*****************************************************************************/
/* Editor plugin interface */
-/**************************************************/
+/*****************************************************************************/
#define NM_TYPE_VPN_EDITOR_PLUGIN (nm_vpn_editor_plugin_get_type ())
#define NM_VPN_EDITOR_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_EDITOR_PLUGIN, NMVpnEditorPlugin))
diff --git a/libnm-core/nm-vpn-plugin-info.c b/libnm-core/nm-vpn-plugin-info.c
index d3bc4893aa..14c3588e78 100644
--- a/libnm-core/nm-vpn-plugin-info.c
+++ b/libnm-core/nm-vpn-plugin-info.c
@@ -67,7 +67,7 @@ G_DEFINE_TYPE_WITH_CODE (NMVpnPluginInfo, nm_vpn_plugin_info, G_TYPE_OBJECT,
#define NM_VPN_PLUGIN_INFO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_VPN_PLUGIN_INFO, NMVpnPluginInfoPrivate))
-/*********************************************************************/
+/*****************************************************************************/
/**
* nm_vpn_plugin_info_validate_filename:
@@ -412,7 +412,7 @@ nm_vpn_plugin_info_new_search_file (const char *name, const char *service)
return plugin_info;
}
-/*********************************************************************/
+/*****************************************************************************/
static gboolean
_check_no_conflict (NMVpnPluginInfo *i1, NMVpnPluginInfo *i2, GError **error)
@@ -775,7 +775,7 @@ nm_vpn_plugin_info_list_get_service_types (GSList *list,
return (char **) g_ptr_array_free (l, FALSE);
}
-/*********************************************************************/
+/*****************************************************************************/
/**
* nm_vpn_plugin_info_get_filename:
@@ -987,7 +987,7 @@ nm_vpn_plugin_info_lookup_property (NMVpnPluginInfo *self, const char *group, co
return g_hash_table_lookup (priv->keys, k);
}
-/*********************************************************************/
+/*****************************************************************************/
/**
* nm_vpn_plugin_info_get_editor_plugin:
@@ -1094,7 +1094,7 @@ nm_vpn_plugin_info_load_editor_plugin (NMVpnPluginInfo *self, GError **error)
return priv->editor_plugin;
}
-/*********************************************************************/
+/*****************************************************************************/
/**
* nm_vpn_plugin_info_new_from_file:
@@ -1152,7 +1152,7 @@ nm_vpn_plugin_info_new_with_data (const char *filename,
NULL));
}
-/*********************************************************************/
+/*****************************************************************************/
static void
nm_vpn_plugin_info_init (NMVpnPluginInfo *plugin)
diff --git a/libnm-core/tests/test-general.c b/libnm-core/tests/test-general.c
index c75abbf999..52c6f80911 100644
--- a/libnm-core/tests/test-general.c
+++ b/libnm-core/tests/test-general.c
@@ -2527,7 +2527,7 @@ test_setting_compare_wireless_cloned_mac_address (void)
g_assert_cmpstr ("stable-bia", ==, nm_setting_wireless_get_cloned_mac_address ((NMSettingWireless *) new));
g_object_get (new, NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS, &str1, NULL);
g_assert_cmpstr ("stable-bia", ==, str1);
- g_clear_pointer (&str1, g_free);
+ nm_clear_g_free (&str1);
success = nm_setting_compare (old, new, NM_SETTING_COMPARE_FLAG_EXACT);
g_assert (!success);
@@ -3318,7 +3318,7 @@ test_setting_old_uuid (void)
nmtst_assert_setting_verifies (NM_SETTING (setting));
}
-/******************************************************************************/
+/*****************************************************************************/
static void
test_connection_normalize_uuid (void)
@@ -3335,7 +3335,7 @@ test_connection_normalize_uuid (void)
nmtst_assert_connection_verifies_after_normalization (con, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_MISSING_PROPERTY);
}
-/******************************************************************************/
+/*****************************************************************************/
/*
* Test normalization of interface-name
@@ -4313,7 +4313,7 @@ test_hexstr2bin (void)
}
}
-/******************************************************************************/
+/*****************************************************************************/
#define UUID_NIL "00000000-0000-0000-0000-000000000000"
#define UUID_NS_DNS "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
@@ -4367,7 +4367,7 @@ test_nm_utils_uuid_generate_from_string (void)
_test_uuid (NM_UTILS_UUID_TYPE_VARIANT3, "002a0ada-f547-375a-bab5-896a11d1927e", "a\0b", 3, UUID_NS_DNS);
}
-/*******************************************/
+/*****************************************************************************/
static void
__test_uuid (const char *expected_uuid, const char *str, gssize slen, char *uuid_test)
@@ -4414,7 +4414,7 @@ test_nm_utils_uuid_generate_from_strings (void)
_test_uuid ("dd265bf7-c05a-3037-9939-b9629858a477", "a\0b\0", 4, "a", "b");
}
-/******************************************************************************/
+/*****************************************************************************/
static void
test_nm_utils_ascii_str_to_int64_check (const char *str, guint base, gint64 min,
@@ -4545,7 +4545,7 @@ test_nm_utils_ascii_str_to_int64 (void)
test_nm_utils_ascii_str_to_int64_do ("0x70", 0, G_MININT64, G_MAXINT64, -1, 0, 0x70);
}
-/******************************************************************************/
+/*****************************************************************************/
static void
test_nm_utils_strstrdictkey (void)
@@ -4593,7 +4593,7 @@ test_nm_utils_strstrdictkey (void)
}
}
-/******************************************************************************/
+/*****************************************************************************/
static void
test_nm_utils_dns_option_validate_do (char *option, gboolean ipv6, const NMUtilsDNSOptionDesc *descs,
@@ -4677,7 +4677,7 @@ test_nm_utils_dns_option_find_idx (void)
g_ptr_array_free (options, TRUE);
}
-/******************************************************************************/
+/*****************************************************************************/
static void
_json_config_check_valid (const char *conf, gboolean expected)
@@ -4781,7 +4781,7 @@ test_nm_utils_team_config_equal (void)
#endif
}
-/******************************************************************************/
+/*****************************************************************************/
enum TEST_IS_POWER_OF_TWP_ENUM_SIGNED {
_DUMMY_1 = -1,
@@ -4878,7 +4878,7 @@ again:
}
}
-/******************************************************************************/
+/*****************************************************************************/
static void
test_g_ptr_array_insert (void)
@@ -4903,7 +4903,7 @@ test_g_ptr_array_insert (void)
#endif
}
-/******************************************************************************/
+/*****************************************************************************/
static void
test_g_hash_table_get_keys_as_array (void)
@@ -4938,7 +4938,7 @@ test_g_hash_table_get_keys_as_array (void)
g_hash_table_unref (table);
}
-/******************************************************************************/
+/*****************************************************************************/
static int
_test_find_binary_search_cmp (gconstpointer a, gconstpointer b, gpointer dummy)
@@ -5082,7 +5082,7 @@ test_nm_utils_ptrarray_find_binary_search (void)
test_find_binary_search_do (-3, -2, -1, 1, 2, 3, 4);
}
-/******************************************************************************/
+/*****************************************************************************/
static void
test_nm_utils_enum_from_str_do (GType type, const char *str,
gboolean exp_result, int exp_flags,
@@ -5177,7 +5177,7 @@ static void test_nm_utils_enum (void)
test_nm_utils_enum_get_values_do (color_flags, 0, G_MAXINT, "blue,red,green");
}
-/******************************************************************************/
+/*****************************************************************************/
static int
_test_nm_in_set_get (int *call_counter, gboolean allow_called, int value)
@@ -5269,7 +5269,7 @@ test_nm_in_set (void)
#undef _ASSERT
}
-/******************************************************************************/
+/*****************************************************************************/
static const char *
_test_nm_in_set_getstr (int *call_counter, gboolean allow_called, const char *value)
@@ -5397,7 +5397,7 @@ test_nm_in_strset (void)
#undef _ASSERT
}
-/******************************************************************************/
+/*****************************************************************************/
static gboolean
do_test_nm_set_out_called (gint *call_count)
@@ -5427,7 +5427,7 @@ test_nm_set_out (void)
g_assert_cmpint (call_count, ==, 0);
}
-/******************************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/libnm-core/tests/test-keyfile.c b/libnm-core/tests/test-keyfile.c
index b9b211b68b..84dcffbb9f 100644
--- a/libnm-core/tests/test-keyfile.c
+++ b/libnm-core/tests/test-keyfile.c
@@ -36,7 +36,7 @@
#define TEST_WIRED_TLS_PRIVKEY TEST_CERT_DIR"/test-key-and-cert.pem"
-/******************************************************************************/
+/*****************************************************************************/
#define CLEAR(con, keyfile) \
G_STMT_START { \
@@ -219,7 +219,7 @@ _keyfile_convert (NMConnection **con,
}
}
-/******************************************************************************/
+/*****************************************************************************/
static void
_test_8021x_cert_check (NMConnection *con,
@@ -359,7 +359,7 @@ test_8021x_cert (void)
}
-/******************************************************************************/
+/*****************************************************************************/
static void
test_8021x_cert_read (void)
@@ -567,7 +567,7 @@ test_team_conf_read_invalid (void)
#endif
}
-/******************************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/libnm-glib/nm-access-point.c b/libnm-glib/nm-access-point.c
index 5f34cb292c..0aef3ee400 100644
--- a/libnm-glib/nm-access-point.c
+++ b/libnm-glib/nm-access-point.c
@@ -432,7 +432,7 @@ nm_access_point_filter_connections (NMAccessPoint *ap, const GSList *connections
return g_slist_reverse (filtered);
}
-/************************************************************/
+/*****************************************************************************/
static void
nm_access_point_init (NMAccessPoint *ap)
diff --git a/libnm-glib/nm-client.c b/libnm-glib/nm-client.c
index f0ce64bc31..796019e7a6 100644
--- a/libnm-glib/nm-client.c
+++ b/libnm-glib/nm-client.c
@@ -127,7 +127,7 @@ static void proxy_name_owner_changed (DBusGProxy *proxy,
const char *new_owner,
gpointer user_data);
-/**********************************************************************/
+/*****************************************************************************/
/**
* nm_client_error_quark:
@@ -148,7 +148,7 @@ nm_client_error_quark (void)
return quark;
}
-/**********************************************************************/
+/*****************************************************************************/
static void
nm_client_init (NMClient *client)
@@ -1315,7 +1315,7 @@ nm_client_get_activating_connection (NMClient *client)
return NM_CLIENT_GET_PRIVATE (client)->activating_connection;
}
-/****************************************************************/
+/*****************************************************************************/
static void
free_devices (NMClient *client, gboolean in_dispose)
@@ -1658,7 +1658,7 @@ nm_client_check_connectivity_finish (NMClient *client,
return ccd->connectivity;
}
-/****************************************************************/
+/*****************************************************************************/
/**
* nm_client_new:
diff --git a/libnm-glib/nm-device-adsl.c b/libnm-glib/nm-device-adsl.c
index b8d341f452..30f6c4ec16 100644
--- a/libnm-glib/nm-device-adsl.c
+++ b/libnm-glib/nm-device-adsl.c
@@ -140,7 +140,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_ADSL;
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_device_adsl_init (NMDeviceAdsl *device)
diff --git a/libnm-glib/nm-device-bond.c b/libnm-glib/nm-device-bond.c
index 2ba34162bd..bd5bc216a7 100644
--- a/libnm-glib/nm-device-bond.c
+++ b/libnm-glib/nm-device-bond.c
@@ -200,7 +200,7 @@ get_hw_address (NMDevice *device)
return nm_device_bond_get_hw_address (NM_DEVICE_BOND (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_bond_init (NMDeviceBond *device)
diff --git a/libnm-glib/nm-device-bridge.c b/libnm-glib/nm-device-bridge.c
index d95a21194d..20d65cfad3 100644
--- a/libnm-glib/nm-device-bridge.c
+++ b/libnm-glib/nm-device-bridge.c
@@ -208,7 +208,7 @@ get_hw_address (NMDevice *device)
return nm_device_bridge_get_hw_address (NM_DEVICE_BRIDGE (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_bridge_init (NMDeviceBridge *device)
diff --git a/libnm-glib/nm-device-bt.c b/libnm-glib/nm-device-bt.c
index 5f6a12f5fe..5cf55c576e 100644
--- a/libnm-glib/nm-device-bt.c
+++ b/libnm-glib/nm-device-bt.c
@@ -232,7 +232,7 @@ get_hw_address (NMDevice *device)
return nm_device_bt_get_hw_address (NM_DEVICE_BT (device));
}
-/************************************************************/
+/*****************************************************************************/
static void
nm_device_bt_init (NMDeviceBt *device)
diff --git a/libnm-glib/nm-device-ethernet.c b/libnm-glib/nm-device-ethernet.c
index 46056a2c7b..2817a32053 100644
--- a/libnm-glib/nm-device-ethernet.c
+++ b/libnm-glib/nm-device-ethernet.c
@@ -235,7 +235,7 @@ get_hw_address (NMDevice *device)
return nm_device_ethernet_get_hw_address (NM_DEVICE_ETHERNET (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_ethernet_init (NMDeviceEthernet *device)
diff --git a/libnm-glib/nm-device-generic.c b/libnm-glib/nm-device-generic.c
index dd9c24b5c9..206174fb16 100644
--- a/libnm-glib/nm-device-generic.c
+++ b/libnm-glib/nm-device-generic.c
@@ -112,7 +112,7 @@ nm_device_generic_get_hw_address (NMDeviceGeneric *device)
return NM_DEVICE_GENERIC_GET_PRIVATE (device)->hw_address;
}
-/***********************************************************/
+/*****************************************************************************/
static const char *
get_type_description (NMDevice *device)
@@ -161,7 +161,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_GENERIC;
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_generic_init (NMDeviceGeneric *device)
diff --git a/libnm-glib/nm-device-infiniband.c b/libnm-glib/nm-device-infiniband.c
index c256c4a1ca..5c4a8c8b9f 100644
--- a/libnm-glib/nm-device-infiniband.c
+++ b/libnm-glib/nm-device-infiniband.c
@@ -187,7 +187,7 @@ get_hw_address (NMDevice *device)
return nm_device_infiniband_get_hw_address (NM_DEVICE_INFINIBAND (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_infiniband_init (NMDeviceInfiniband *device)
diff --git a/libnm-glib/nm-device-modem.c b/libnm-glib/nm-device-modem.c
index 96ce6ca098..d4c156178e 100644
--- a/libnm-glib/nm-device-modem.c
+++ b/libnm-glib/nm-device-modem.c
@@ -176,7 +176,7 @@ get_setting_type (NMDevice *device)
return G_TYPE_INVALID;
}
-/*******************************************************************/
+/*****************************************************************************/
static void
nm_device_modem_init (NMDeviceModem *device)
diff --git a/libnm-glib/nm-device-olpc-mesh.c b/libnm-glib/nm-device-olpc-mesh.c
index 846b4c51be..df4fb4655e 100644
--- a/libnm-glib/nm-device-olpc-mesh.c
+++ b/libnm-glib/nm-device-olpc-mesh.c
@@ -185,7 +185,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_OLPC_MESH;
}
-/**************************************************************/
+/*****************************************************************************/
static void
nm_device_olpc_mesh_init (NMDeviceOlpcMesh *device)
diff --git a/libnm-glib/nm-device-team.c b/libnm-glib/nm-device-team.c
index 7b50e1852a..2a12a73289 100644
--- a/libnm-glib/nm-device-team.c
+++ b/libnm-glib/nm-device-team.c
@@ -208,7 +208,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_TEAM;
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_team_init (NMDeviceTeam *device)
diff --git a/libnm-glib/nm-device-vlan.c b/libnm-glib/nm-device-vlan.c
index 28d8ce5761..3f40ec567d 100644
--- a/libnm-glib/nm-device-vlan.c
+++ b/libnm-glib/nm-device-vlan.c
@@ -233,7 +233,7 @@ get_hw_address (NMDevice *device)
return nm_device_vlan_get_hw_address (NM_DEVICE_VLAN (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_vlan_init (NMDeviceVlan *device)
diff --git a/libnm-glib/nm-device-wifi.c b/libnm-glib/nm-device-wifi.c
index 2c12628a9d..08e5b90c10 100644
--- a/libnm-glib/nm-device-wifi.c
+++ b/libnm-glib/nm-device-wifi.c
@@ -532,7 +532,7 @@ get_hw_address (NMDevice *device)
return nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (device));
}
-/**************************************************************/
+/*****************************************************************************/
static void
nm_device_wifi_init (NMDeviceWifi *device)
diff --git a/libnm-glib/nm-device-wimax.c b/libnm-glib/nm-device-wimax.c
index 9bd733e7fd..cda3601670 100644
--- a/libnm-glib/nm-device-wimax.c
+++ b/libnm-glib/nm-device-wimax.c
@@ -428,7 +428,7 @@ get_hw_address (NMDevice *device)
return nm_device_wimax_get_hw_address (NM_DEVICE_WIMAX (device));
}
-/**************************************************************/
+/*****************************************************************************/
static void
nm_device_wimax_init (NMDeviceWimax *device)
diff --git a/libnm-glib/nm-remote-connection.c b/libnm-glib/nm-remote-connection.c
index a4dc638adc..5c07f0ecec 100644
--- a/libnm-glib/nm-remote-connection.c
+++ b/libnm-glib/nm-remote-connection.c
@@ -108,7 +108,7 @@ nm_remote_connection_error_quark (void)
return quark;
}
-/****************************************************************/
+/*****************************************************************************/
static void
_nm_remote_connection_ensure_inited (NMRemoteConnection *self)
@@ -131,7 +131,7 @@ _nm_remote_connection_ensure_inited (NMRemoteConnection *self)
}
}
-/****************************************************************/
+/*****************************************************************************/
static void
remote_call_dbus_cb (DBusGProxy *proxy, DBusGProxyCall *proxy_call, gpointer user_data)
@@ -213,7 +213,7 @@ proxy_destroy_cb (DBusGProxy* proxy, gpointer user_data) {
proxy_set_destroyed (user_data);
}
-/****************************************************************/
+/*****************************************************************************/
static void
result_cb (RemoteCall *call, DBusGProxyCall *proxy_call, GError *error)
@@ -445,7 +445,7 @@ nm_remote_connection_get_unsaved (NMRemoteConnection *connection)
return NM_REMOTE_CONNECTION_GET_PRIVATE (connection)->unsaved;
}
-/****************************************************************/
+/*****************************************************************************/
static void
updated_get_settings_cb (DBusGProxy *proxy,
@@ -531,7 +531,7 @@ properties_changed_cb (DBusGProxy *proxy,
}
}
-/****************************************************************/
+/*****************************************************************************/
/**
* nm_remote_connection_new:
diff --git a/libnm-glib/nm-remote-settings.c b/libnm-glib/nm-remote-settings.c
index b64743a99c..6e90db1958 100644
--- a/libnm-glib/nm-remote-settings.c
+++ b/libnm-glib/nm-remote-settings.c
@@ -170,7 +170,7 @@ enum {
};
static guint signals[LAST_SIGNAL] = { 0 };
-/**********************************************************************/
+/*****************************************************************************/
/**
* nm_remote_settings_error_quark:
@@ -189,7 +189,7 @@ nm_remote_settings_error_quark (void)
return quark;
}
-/**********************************************************************/
+/*****************************************************************************/
static void
_nm_remote_settings_ensure_inited (NMRemoteSettings *self)
@@ -212,7 +212,7 @@ _nm_remote_settings_ensure_inited (NMRemoteSettings *self)
}
}
-/**********************************************************************/
+/*****************************************************************************/
typedef struct {
NMRemoteSettings *self;
@@ -1057,7 +1057,7 @@ name_owner_changed (DBusGProxy *proxy,
}
}
-/****************************************************************/
+/*****************************************************************************/
/**
* nm_remote_settings_new:
diff --git a/libnm-glib/nm-secret-agent.c b/libnm-glib/nm-secret-agent.c
index 03290469ad..aeb7a208ca 100644
--- a/libnm-glib/nm-secret-agent.c
+++ b/libnm-glib/nm-secret-agent.c
@@ -99,7 +99,7 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-/********************************************************************/
+/*****************************************************************************/
GQuark
nm_secret_agent_error_quark (void)
@@ -111,7 +111,7 @@ nm_secret_agent_error_quark (void)
return ret;
}
-/*************************************************************/
+/*****************************************************************************/
static const char *
get_nm_owner (NMSecretAgent *self)
@@ -512,7 +512,7 @@ impl_secret_agent_delete_secrets (NMSecretAgent *self,
g_object_unref (connection);
}
-/**************************************************************/
+/*****************************************************************************/
static void
reg_result (NMSecretAgent *self, GError *error)
@@ -692,7 +692,7 @@ auto_register_cb (gpointer user_data)
return FALSE;
}
-/**************************************************************/
+/*****************************************************************************/
/**
* nm_secret_agent_get_secrets:
@@ -796,7 +796,7 @@ nm_secret_agent_delete_secrets (NMSecretAgent *self,
user_data);
}
-/**************************************************************/
+/*****************************************************************************/
static gboolean
validate_identifier (const char *identifier)
diff --git a/libnm-glib/nm-types.c b/libnm-glib/nm-types.c
index 19f19e368d..5fe1eb535c 100644
--- a/libnm-glib/nm-types.c
+++ b/libnm-glib/nm-types.c
@@ -81,7 +81,7 @@ _nm_ssid_demarshal (GValue *value, GByteArray **dest)
return TRUE;
}
-/*****************************/
+/*****************************************************************************/
static gpointer
_nm_uint_array_copy (GArray *src)
@@ -133,7 +133,7 @@ _nm_uint_array_demarshal (GValue *value, GArray **dest)
return TRUE;
}
-/*****************************/
+/*****************************************************************************/
static gpointer
_nm_string_array_copy (GPtrArray *src)
@@ -194,7 +194,7 @@ _nm_string_array_demarshal (GValue *value, GPtrArray **dest)
return TRUE;
}
-/*****************************/
+/*****************************************************************************/
static gpointer
_nm_object_array_copy (GPtrArray *src)
@@ -276,7 +276,7 @@ _nm_object_array_demarshal (GValue *value,
return TRUE;
}
-/*****************************/
+/*****************************************************************************/
static gpointer
_nm_ip6_address_object_array_copy (GPtrArray *src)
@@ -312,7 +312,7 @@ nm_ip6_address_object_array_get_type (void)
return our_type;
}
-/*****************************/
+/*****************************************************************************/
static gpointer
_nm_ip6_address_array_copy (GPtrArray *src)
@@ -384,7 +384,7 @@ _nm_ip6_address_array_demarshal (GValue *value, GSList **dest)
return TRUE;
}
-/*****************************/
+/*****************************************************************************/
static gpointer
_nm_ip6_route_object_array_copy (GPtrArray *src)
diff --git a/libnm-glib/nm-vpn-plugin-ui-interface.h b/libnm-glib/nm-vpn-plugin-ui-interface.h
index e671e6cfac..37fde91f8c 100644
--- a/libnm-glib/nm-vpn-plugin-ui-interface.h
+++ b/libnm-glib/nm-vpn-plugin-ui-interface.h
@@ -38,9 +38,9 @@ typedef NMVpnPluginUiInterface * (*NMVpnPluginUiFactory) (GError **error);
NMVpnPluginUiInterface *nm_vpn_plugin_ui_factory (GError **error);
-/**************************************************/
+/*****************************************************************************/
/* Plugin interface */
-/**************************************************/
+/*****************************************************************************/
#define NM_TYPE_VPN_PLUGIN_UI_INTERFACE (nm_vpn_plugin_ui_interface_get_type ())
#define NM_VPN_PLUGIN_UI_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_PLUGIN_UI_INTERFACE, NMVpnPluginUiInterface))
@@ -174,9 +174,9 @@ gboolean nm_vpn_plugin_ui_interface_delete_connection (NMVpnPluginUiInterface *i
GError **error);
-/**************************************************/
+/*****************************************************************************/
/* UI widget interface */
-/**************************************************/
+/*****************************************************************************/
#define NM_TYPE_VPN_PLUGIN_UI_WIDGET_INTERFACE (nm_vpn_plugin_ui_widget_interface_get_type ())
#define NM_VPN_PLUGIN_UI_WIDGET_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_PLUGIN_UI_WIDGET_INTERFACE, NMVpnPluginUiWidgetInterface))
diff --git a/libnm-glib/nm-vpn-plugin.c b/libnm-glib/nm-vpn-plugin.c
index 0534b766e8..0ea30b58a3 100644
--- a/libnm-glib/nm-vpn-plugin.c
+++ b/libnm-glib/nm-vpn-plugin.c
@@ -508,7 +508,7 @@ impl_vpn_plugin_connect_interactive (NMVPNPlugin *plugin,
return _connect_generic (plugin, connection, details, error);
}
-/***************************************************************/
+/*****************************************************************************/
static gboolean
impl_vpn_plugin_need_secrets (NMVPNPlugin *plugin,
@@ -635,7 +635,7 @@ nm_vpn_plugin_secrets_required (NMVPNPlugin *plugin,
g_signal_emit (plugin, signals[SECRETS_REQUIRED], 0, message, hints);
}
-/***************************************************************/
+/*****************************************************************************/
static gboolean
impl_vpn_plugin_disconnect (NMVPNPlugin *plugin,
@@ -684,7 +684,7 @@ impl_vpn_plugin_set_failure (NMVPNPlugin *plugin,
return TRUE;
}
-/*********************************************************************/
+/*****************************************************************************/
static void
sigterm_handler (int signum)
@@ -706,7 +706,7 @@ setup_unix_signal_handler (void)
sigaction (SIGTERM, &action, NULL);
}
-/*********************************************************************/
+/*****************************************************************************/
static void
one_plugin_destroyed (gpointer data,
diff --git a/libnm-glib/nm-wimax-nsp.c b/libnm-glib/nm-wimax-nsp.c
index 6a3b8effab..9e36e5b9d0 100644
--- a/libnm-glib/nm-wimax-nsp.c
+++ b/libnm-glib/nm-wimax-nsp.c
@@ -198,7 +198,7 @@ nm_wimax_nsp_filter_connections (NMWimaxNsp *nsp, const GSList *connections)
return g_slist_reverse (filtered);
}
-/************************************************************/
+/*****************************************************************************/
static void
nm_wimax_nsp_init (NMWimaxNsp *nsp)
diff --git a/libnm-glib/tests/test-nm-client.c b/libnm-glib/tests/test-nm-client.c
index 0da93c3fd3..b6b5968b3f 100644
--- a/libnm-glib/tests/test-nm-client.c
+++ b/libnm-glib/tests/test-nm-client.c
@@ -39,7 +39,7 @@
static GMainLoop *loop = NULL;
static NMTstcServiceInfo *sinfo;
-/*******************************************************************/
+/*****************************************************************************/
static gboolean
loop_quit (gpointer user_data)
@@ -93,7 +93,7 @@ add_wired_device (const char *method, const char *ifname, char **out_path)
return TRUE;
}
-/*******************************************************************/
+/*****************************************************************************/
typedef struct {
GMainLoop *loop;
@@ -197,7 +197,7 @@ test_device_added (void)
g_clear_pointer (&sinfo, nmtstc_service_cleanup);
}
-/*******************************************************************/
+/*****************************************************************************/
static const char *expected_bssid = "66:55:44:33:22:11";
@@ -420,7 +420,7 @@ test_wifi_ap_added_removed (void)
g_clear_pointer (&sinfo, nmtstc_service_cleanup);
}
-/*******************************************************************/
+/*****************************************************************************/
static const char *expected_nsp_name = "Clear";
@@ -643,7 +643,7 @@ test_wimax_nsp_added_removed (void)
g_clear_pointer (&sinfo, nmtstc_service_cleanup);
}
-/*******************************************************************/
+/*****************************************************************************/
typedef struct {
GMainLoop *loop;
@@ -873,7 +873,7 @@ test_client_manager_running (void)
g_object_unref (client2);
}
-/*******************************************************************/
+/*****************************************************************************/
static GPtrArray *
_slist_to_array (GPtrArray **connections, GSList *list)
@@ -1121,7 +1121,7 @@ test_connection_invalid (void)
#undef ASSERT_IDX
}
-/*******************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/libnm-glib/tests/test-remote-settings-client.c b/libnm-glib/tests/test-remote-settings-client.c
index 9213aa720e..57bc4faa61 100644
--- a/libnm-glib/tests/test-remote-settings-client.c
+++ b/libnm-glib/tests/test-remote-settings-client.c
@@ -41,7 +41,7 @@ static NMRemoteSettings *settings = NULL;
DBusGConnection *bus = NULL;
NMRemoteConnection *remote = NULL;
-/*******************************************************************/
+/*****************************************************************************/
static void
add_cb (NMRemoteSettings *s,
@@ -105,7 +105,7 @@ test_add_connection (void)
NM_SETTING_COMPARE_FLAG_EXACT) == TRUE);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
set_visible_cb (DBusGProxy *proxy,
@@ -192,7 +192,7 @@ test_make_invisible (void)
g_object_unref (proxy);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
vis_new_connection_cb (NMRemoteSettings *foo,
@@ -262,7 +262,7 @@ test_make_visible (void)
g_object_unref (proxy);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
deleted_cb (DBusGProxy *proxy,
@@ -336,7 +336,7 @@ test_remove_connection (void)
g_object_unref (proxy);
}
-/*******************************************************************/
+/*****************************************************************************/
static GMainLoop *loop;
@@ -418,7 +418,7 @@ test_service_running (void)
g_object_unref (settings2);
}
-/*******************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/libnm-util/nm-connection.c b/libnm-util/nm-connection.c
index 51c480284f..b929fdcd1a 100644
--- a/libnm-util/nm-connection.c
+++ b/libnm-util/nm-connection.c
@@ -124,7 +124,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
static NMSettingVerifyResult _nm_connection_verify (NMConnection *connection, GError **error);
-/*************************************************************/
+/*****************************************************************************/
/**
* nm_connection_lookup_setting_type:
@@ -1638,7 +1638,7 @@ nm_connection_get_virtual_device_description (NMConnection *connection)
return g_strdup_printf ("%s (%s)", display_type, iface);
}
-/*************************************************************/
+/*****************************************************************************/
/**
* nm_connection_get_setting_802_1x:
@@ -2064,7 +2064,7 @@ nm_connection_get_setting_vlan (NMConnection *connection)
return (NMSettingVlan *) nm_connection_get_setting (connection, NM_TYPE_SETTING_VLAN);
}
-/*************************************************************/
+/*****************************************************************************/
static void
nm_connection_init (NMConnection *connection)
diff --git a/libnm-util/nm-param-spec-specialized.c b/libnm-util/nm-param-spec-specialized.c
index 0bb32b7fed..7021e108fc 100644
--- a/libnm-util/nm-param-spec-specialized.c
+++ b/libnm-util/nm-param-spec-specialized.c
@@ -36,7 +36,7 @@ struct _NMParamSpecSpecialized {
#include "nm-dbus-glib-types.h"
-/***********************************************************/
+/*****************************************************************************/
/* _gvalues_compare */
static gint _gvalues_compare (const GValue *value1, const GValue *value2);
@@ -561,7 +561,7 @@ _gvalues_compare (const GValue *value1, const GValue *value2)
return ret;
}
-/***********************************************************/
+/*****************************************************************************/
static void
param_specialized_init (GParamSpec *pspec)
@@ -638,7 +638,7 @@ _nm_param_spec_specialized (const char *name,
return G_PARAM_SPEC (pspec);
}
-/***********************************************************/
+/*****************************************************************************/
/* Tests */
#if 0
diff --git a/libnm-util/nm-setting-bridge-port.c b/libnm-util/nm-setting-bridge-port.c
index 3d11e73cfa..3d671ae376 100644
--- a/libnm-util/nm-setting-bridge-port.c
+++ b/libnm-util/nm-setting-bridge-port.c
@@ -84,7 +84,7 @@ enum {
LAST_PROP
};
-/**************************************************************************/
+/*****************************************************************************/
/**
* nm_setting_bridge_port_get_priority:
@@ -134,7 +134,7 @@ nm_setting_bridge_port_get_hairpin_mode (NMSettingBridgePort *setting)
return NM_SETTING_BRIDGE_PORT_GET_PRIVATE (setting)->hairpin_mode;
}
-/**************************************************************************/
+/*****************************************************************************/
#define BR_MAX_PORT_PRIORITY 63
#define BR_DEF_PRIORITY 32
@@ -174,7 +174,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
return TRUE;
}
-/**************************************************************************/
+/*****************************************************************************/
/**
* nm_setting_bridge_port_new:
diff --git a/libnm-util/nm-setting-connection.c b/libnm-util/nm-setting-connection.c
index 16c858dc5c..e6fe2fe4bf 100644
--- a/libnm-util/nm-setting-connection.c
+++ b/libnm-util/nm-setting-connection.c
@@ -112,7 +112,7 @@ enum {
LAST_PROP
};
-/***********************************************************************/
+/*****************************************************************************/
#define PERM_USER_PREFIX "user:"
@@ -193,7 +193,7 @@ permission_free (Permission *p)
g_slice_free (Permission, p);
}
-/***********************************************************************/
+/*****************************************************************************/
/**
* nm_setting_connection_new:
diff --git a/libnm-util/nm-setting-dcb.c b/libnm-util/nm-setting-dcb.c
index 7888a71100..f5c3ab0be4 100644
--- a/libnm-util/nm-setting-dcb.c
+++ b/libnm-util/nm-setting-dcb.c
@@ -578,7 +578,7 @@ nm_setting_dcb_set_priority_traffic_class (NMSettingDcb *setting,
}
}
-/******************************************************************/
+/*****************************************************************************/
#define DCB_FLAGS_ALL (NM_SETTING_DCB_FLAG_ENABLE | \
NM_SETTING_DCB_FLAG_ADVERTISE | \
@@ -796,7 +796,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_setting_dcb_init (NMSettingDcb *setting)
diff --git a/libnm-util/nm-setting-generic.c b/libnm-util/nm-setting-generic.c
index 39134e8bd2..573be86a5b 100644
--- a/libnm-util/nm-setting-generic.c
+++ b/libnm-util/nm-setting-generic.c
@@ -71,7 +71,7 @@ typedef struct {
int dummy;
} NMSettingGenericPrivate;
-/**************************************************************************/
+/*****************************************************************************/
/**
* nm_setting_generic_new:
diff --git a/libnm-util/nm-setting-ip6-config.c b/libnm-util/nm-setting-ip6-config.c
index ac1645883f..9ad93ac16c 100644
--- a/libnm-util/nm-setting-ip6-config.c
+++ b/libnm-util/nm-setting-ip6-config.c
@@ -1306,7 +1306,7 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
G_PARAM_STATIC_STRINGS));
}
-/********************************************************************/
+/*****************************************************************************/
struct NMIP6Address {
guint32 refcount;
@@ -1521,7 +1521,7 @@ nm_ip6_address_set_gateway (NMIP6Address *address, const struct in6_addr *gatewa
memcpy (&address->gateway, gateway, sizeof (struct in6_addr));
}
-/********************************************************************/
+/*****************************************************************************/
struct NMIP6Route {
guint32 refcount;
diff --git a/libnm-util/nm-setting-vlan.c b/libnm-util/nm-setting-vlan.c
index 32ad9394f1..3437d69772 100644
--- a/libnm-util/nm-setting-vlan.c
+++ b/libnm-util/nm-setting-vlan.c
@@ -515,7 +515,7 @@ nm_setting_vlan_clear_priorities (NMSettingVlan *setting, NMVlanPriorityMap map)
set_map (setting, map, NULL);
}
-/*********************************************************************/
+/*****************************************************************************/
static void
nm_setting_vlan_init (NMSettingVlan *setting)
diff --git a/libnm-util/nm-setting.c b/libnm-util/nm-setting.c
index c0d82b4263..53e8f34384 100644
--- a/libnm-util/nm-setting.c
+++ b/libnm-util/nm-setting.c
@@ -82,7 +82,7 @@ enum {
PROP_LAST
};
-/*************************************************************/
+/*****************************************************************************/
static GHashTable *registered_settings = NULL;
static GHashTable *registered_settings_by_type = NULL;
@@ -124,7 +124,7 @@ _ensure_registered_constructor (void)
} \
} G_STMT_END
-/*************************************************************/
+/*****************************************************************************/
/*
* _nm_register_setting:
@@ -286,7 +286,7 @@ _nm_setting_compare_priority (gconstpointer a, gconstpointer b)
return 1;
}
-/*************************************************************/
+/*****************************************************************************/
static void
destroy_gvalue (gpointer data)
diff --git a/libnm-util/nm-utils.c b/libnm-util/nm-utils.c
index f22b4f74b8..fcb6bfd4e5 100644
--- a/libnm-util/nm-utils.c
+++ b/libnm-util/nm-utils.c
@@ -1730,7 +1730,7 @@ nm_utils_file_is_pkcs12 (const char *filename)
return crypto_is_pkcs12_file (filename, NULL);
}
-/**********************************************************************************************/
+/*****************************************************************************/
/**
* nm_utils_file_search_in_paths:
@@ -1804,7 +1804,7 @@ NOT_FOUND:
return NULL;
}
-/**********************************************************************************************/
+/*****************************************************************************/
/* Band, channel/frequency stuff for wireless */
struct cf_pair {
@@ -2577,7 +2577,7 @@ nm_utils_check_virtual_device_compatibility (GType virtual_type, GType other_typ
}
}
-/***********************************************************/
+/*****************************************************************************/
/* Unused prototypes to make the compiler happy */
gconstpointer nm_utils_get_private (void);
diff --git a/libnm-util/tests/test-general.c b/libnm-util/tests/test-general.c
index 8373ae1197..daa948941d 100644
--- a/libnm-util/tests/test-general.c
+++ b/libnm-util/tests/test-general.c
@@ -2440,7 +2440,7 @@ test_libnm_linking (void)
}
#endif /* __SANITIZE_ADDRESS__ */
-/******************************************************************************/
+/*****************************************************************************/
static void
_test_uuid (const char *expected_uuid, const char *str)
@@ -2480,7 +2480,7 @@ test_nm_utils_uuid_generate_from_string (void)
g_test_assert_expected_messages ();
}
-/******************************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/libnm/nm-access-point.c b/libnm/nm-access-point.c
index d1dd1c3fdd..67b8550603 100644
--- a/libnm/nm-access-point.c
+++ b/libnm/nm-access-point.c
@@ -381,7 +381,7 @@ nm_access_point_filter_connections (NMAccessPoint *ap, const GPtrArray *connecti
return filtered;
}
-/************************************************************/
+/*****************************************************************************/
static void
nm_access_point_init (NMAccessPoint *ap)
diff --git a/libnm/nm-client.c b/libnm/nm-client.c
index 64c0d9de1d..17dc41c6d7 100644
--- a/libnm/nm-client.c
+++ b/libnm/nm-client.c
@@ -97,7 +97,7 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-/**********************************************************************/
+/*****************************************************************************/
/**
* nm_client_error_quark:
@@ -116,7 +116,7 @@ nm_client_error_quark (void)
return quark;
}
-/**********************************************************************/
+/*****************************************************************************/
static void
nm_client_init (NMClient *client)
@@ -698,9 +698,9 @@ nm_client_save_hostname_finish (NMClient *client,
return g_simple_async_result_get_op_res_gboolean (simple);
}
-/****************************************************************/
+/*****************************************************************************/
/* Devices */
-/****************************************************************/
+/*****************************************************************************/
/**
* nm_client_get_devices:
@@ -787,9 +787,9 @@ nm_client_get_device_by_iface (NMClient *client, const char *iface)
return nm_manager_get_device_by_iface (NM_CLIENT_GET_PRIVATE (client)->manager, iface);
}
-/****************************************************************/
+/*****************************************************************************/
/* Active Connections */
-/****************************************************************/
+/*****************************************************************************/
/**
* nm_client_get_active_connections:
@@ -1180,9 +1180,9 @@ nm_client_deactivate_connection_finish (NMClient *client,
return g_simple_async_result_get_op_res_gboolean (simple);
}
-/****************************************************************/
+/*****************************************************************************/
/* Connections */
-/****************************************************************/
+/*****************************************************************************/
/**
* nm_client_get_connections:
@@ -1602,7 +1602,7 @@ nm_client_reload_connections_finish (NMClient *client,
return g_simple_async_result_get_op_res_gboolean (simple);
}
-/****************************************************************/
+/*****************************************************************************/
/**
* nm_client_new:
diff --git a/libnm/nm-device-adsl.c b/libnm/nm-device-adsl.c
index 7608ff3916..6c66f717f8 100644
--- a/libnm/nm-device-adsl.c
+++ b/libnm/nm-device-adsl.c
@@ -84,7 +84,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_ADSL;
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_device_adsl_init (NMDeviceAdsl *device)
diff --git a/libnm/nm-device-bond.c b/libnm/nm-device-bond.c
index 483d9d009b..e5977c6664 100644
--- a/libnm/nm-device-bond.c
+++ b/libnm/nm-device-bond.c
@@ -130,7 +130,7 @@ get_hw_address (NMDevice *device)
return nm_device_bond_get_hw_address (NM_DEVICE_BOND (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_bond_init (NMDeviceBond *device)
diff --git a/libnm/nm-device-bridge.c b/libnm/nm-device-bridge.c
index c6bf135997..83ad963410 100644
--- a/libnm/nm-device-bridge.c
+++ b/libnm/nm-device-bridge.c
@@ -130,7 +130,7 @@ get_hw_address (NMDevice *device)
return nm_device_bridge_get_hw_address (NM_DEVICE_BRIDGE (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_bridge_init (NMDeviceBridge *device)
diff --git a/libnm/nm-device-bt.c b/libnm/nm-device-bt.c
index dc28ad89f4..2c039d941e 100644
--- a/libnm/nm-device-bt.c
+++ b/libnm/nm-device-bt.c
@@ -178,7 +178,7 @@ get_hw_address (NMDevice *device)
return nm_device_bt_get_hw_address (NM_DEVICE_BT (device));
}
-/************************************************************/
+/*****************************************************************************/
static void
nm_device_bt_init (NMDeviceBt *device)
diff --git a/libnm/nm-device-ethernet.c b/libnm/nm-device-ethernet.c
index 825ed7b392..15ca0257e6 100644
--- a/libnm/nm-device-ethernet.c
+++ b/libnm/nm-device-ethernet.c
@@ -277,7 +277,7 @@ get_hw_address (NMDevice *device)
return nm_device_ethernet_get_hw_address (NM_DEVICE_ETHERNET (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_ethernet_init (NMDeviceEthernet *device)
diff --git a/libnm/nm-device-generic.c b/libnm/nm-device-generic.c
index 069ca0eafa..9dd1c945ec 100644
--- a/libnm/nm-device-generic.c
+++ b/libnm/nm-device-generic.c
@@ -62,7 +62,7 @@ nm_device_generic_get_hw_address (NMDeviceGeneric *device)
return NM_DEVICE_GENERIC_GET_PRIVATE (device)->hw_address;
}
-/***********************************************************/
+/*****************************************************************************/
static const char *
get_type_description (NMDevice *device)
@@ -108,7 +108,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_GENERIC;
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_generic_init (NMDeviceGeneric *device)
diff --git a/libnm/nm-device-infiniband.c b/libnm/nm-device-infiniband.c
index 6770b1c53e..0f92f8304b 100644
--- a/libnm/nm-device-infiniband.c
+++ b/libnm/nm-device-infiniband.c
@@ -127,7 +127,7 @@ get_hw_address (NMDevice *device)
return nm_device_infiniband_get_hw_address (NM_DEVICE_INFINIBAND (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_infiniband_init (NMDeviceInfiniband *device)
diff --git a/libnm/nm-device-ip-tunnel.c b/libnm/nm-device-ip-tunnel.c
index f5b3cad6a3..6410c48c4d 100644
--- a/libnm/nm-device-ip-tunnel.c
+++ b/libnm/nm-device-ip-tunnel.c
@@ -264,7 +264,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_IP_TUNNEL;
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_ip_tunnel_init (NMDeviceIPTunnel *device)
diff --git a/libnm/nm-device-macvlan.c b/libnm/nm-device-macvlan.c
index 825c9197c1..610bdc35f2 100644
--- a/libnm/nm-device-macvlan.c
+++ b/libnm/nm-device-macvlan.c
@@ -181,7 +181,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_MACVLAN;
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_macvlan_init (NMDeviceMacvlan *device)
diff --git a/libnm/nm-device-modem.c b/libnm/nm-device-modem.c
index d442dc0342..ae011812f2 100644
--- a/libnm/nm-device-modem.c
+++ b/libnm/nm-device-modem.c
@@ -153,7 +153,7 @@ get_setting_type (NMDevice *device)
return G_TYPE_INVALID;
}
-/*******************************************************************/
+/*****************************************************************************/
static void
nm_device_modem_init (NMDeviceModem *device)
diff --git a/libnm/nm-device-olpc-mesh.c b/libnm/nm-device-olpc-mesh.c
index 984ea4e42d..a11050f5b4 100644
--- a/libnm/nm-device-olpc-mesh.c
+++ b/libnm/nm-device-olpc-mesh.c
@@ -125,7 +125,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_OLPC_MESH;
}
-/**************************************************************/
+/*****************************************************************************/
static void
nm_device_olpc_mesh_init (NMDeviceOlpcMesh *device)
diff --git a/libnm/nm-device-team.c b/libnm/nm-device-team.c
index 3955e10561..8179bd52f4 100644
--- a/libnm/nm-device-team.c
+++ b/libnm/nm-device-team.c
@@ -151,7 +151,7 @@ get_setting_type (NMDevice *device)
return NM_TYPE_SETTING_TEAM;
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_team_init (NMDeviceTeam *device)
diff --git a/libnm/nm-device-tun.c b/libnm/nm-device-tun.c
index b227f5b13e..e4e412f8fe 100644
--- a/libnm/nm-device-tun.c
+++ b/libnm/nm-device-tun.c
@@ -234,7 +234,7 @@ get_hw_address (NMDevice *device)
return nm_device_tun_get_hw_address (NM_DEVICE_TUN (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_tun_init (NMDeviceTun *device)
diff --git a/libnm/nm-device-vlan.c b/libnm/nm-device-vlan.c
index 843dda02df..7083b24484 100644
--- a/libnm/nm-device-vlan.c
+++ b/libnm/nm-device-vlan.c
@@ -164,7 +164,7 @@ get_hw_address (NMDevice *device)
return nm_device_vlan_get_hw_address (NM_DEVICE_VLAN (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_vlan_init (NMDeviceVlan *device)
diff --git a/libnm/nm-device-vxlan.c b/libnm/nm-device-vxlan.c
index 335498ee4a..86b5fca8e7 100644
--- a/libnm/nm-device-vxlan.c
+++ b/libnm/nm-device-vxlan.c
@@ -410,7 +410,7 @@ get_hw_address (NMDevice *device)
return nm_device_vxlan_get_hw_address (NM_DEVICE_VXLAN (device));
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_vxlan_init (NMDeviceVxlan *device)
diff --git a/libnm/nm-device-wifi.c b/libnm/nm-device-wifi.c
index 3fde324c05..790ddf4ca6 100644
--- a/libnm/nm-device-wifi.c
+++ b/libnm/nm-device-wifi.c
@@ -656,7 +656,7 @@ get_hw_address (NMDevice *device)
return nm_device_wifi_get_hw_address (NM_DEVICE_WIFI (device));
}
-/**************************************************************/
+/*****************************************************************************/
static void
nm_device_wifi_init (NMDeviceWifi *device)
diff --git a/libnm/nm-device-wimax.c b/libnm/nm-device-wimax.c
index e26efedbae..e14925f778 100644
--- a/libnm/nm-device-wimax.c
+++ b/libnm/nm-device-wimax.c
@@ -350,7 +350,7 @@ get_hw_address (NMDevice *device)
return nm_device_wimax_get_hw_address (NM_DEVICE_WIMAX (device));
}
-/**************************************************************/
+/*****************************************************************************/
static void
nm_device_wimax_init (NMDeviceWimax *device)
diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c
index c3d0c51db0..d9d21b823d 100644
--- a/libnm/nm-manager.c
+++ b/libnm/nm-manager.c
@@ -128,7 +128,7 @@ static void nm_running_changed_cb (GObject *object,
GParamSpec *pspec,
gpointer user_data);
-/**********************************************************************/
+/*****************************************************************************/
static void
nm_manager_init (NMManager *manager)
@@ -657,9 +657,9 @@ nm_manager_check_connectivity_finish (NMManager *manager,
return (NMConnectivityState) g_simple_async_result_get_op_res_gssize (simple);
}
-/****************************************************************/
+/*****************************************************************************/
/* Devices */
-/****************************************************************/
+/*****************************************************************************/
const GPtrArray *
nm_manager_get_devices (NMManager *manager)
@@ -721,9 +721,9 @@ nm_manager_get_device_by_iface (NMManager *manager, const char *iface)
return device;
}
-/****************************************************************/
+/*****************************************************************************/
/* Active Connections */
-/****************************************************************/
+/*****************************************************************************/
const GPtrArray *
nm_manager_get_active_connections (NMManager *manager)
@@ -1184,7 +1184,7 @@ nm_manager_deactivate_connection_finish (NMManager *manager,
return g_simple_async_result_get_op_res_gboolean (simple);
}
-/****************************************************************/
+/*****************************************************************************/
static void
free_devices (NMManager *manager, gboolean in_dispose)
@@ -1320,7 +1320,7 @@ nm_running_changed_cb (GObject *object,
}
}
-/****************************************************************/
+/*****************************************************************************/
static void
constructed (GObject *object)
diff --git a/libnm/nm-object.c b/libnm/nm-object.c
index 337ca69862..4c417c3202 100644
--- a/libnm/nm-object.c
+++ b/libnm/nm-object.c
@@ -1509,7 +1509,7 @@ _nm_object_get_nm_running (NMObject *self)
return NM_OBJECT_GET_PRIVATE (self)->nm_running;
}
-/**************************************************************/
+/*****************************************************************************/
static void
on_name_owner_changed (GObject *proxy,
@@ -1588,7 +1588,7 @@ init_sync (GInitable *initable, GCancellable *cancellable, GError **error)
return _nm_object_reload_properties (self, error);
}
-/**************************************************************/
+/*****************************************************************************/
typedef struct {
NMObject *object;
@@ -1724,7 +1724,7 @@ init_finish (GAsyncInitable *initable, GAsyncResult *result, GError **error)
return TRUE;
}
-/**************************************************************/
+/*****************************************************************************/
static void
nm_object_initable_iface_init (GInitableIface *iface)
diff --git a/libnm/nm-remote-connection.c b/libnm/nm-remote-connection.c
index eb2874a049..6ad5e5f506 100644
--- a/libnm/nm-remote-connection.c
+++ b/libnm/nm-remote-connection.c
@@ -65,7 +65,7 @@ typedef struct {
#define NM_REMOTE_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_REMOTE_CONNECTION, NMRemoteConnectionPrivate))
-/****************************************************************/
+/*****************************************************************************/
/**
* nm_remote_connection_commit_changes:
@@ -557,7 +557,7 @@ nm_remote_connection_get_visible (NMRemoteConnection *connection)
return NM_REMOTE_CONNECTION_GET_PRIVATE (connection)->visible;
}
-/****************************************************************/
+/*****************************************************************************/
static void
replace_settings (NMRemoteConnection *self, GVariant *new_settings)
@@ -615,7 +615,7 @@ updated_cb (NMDBusSettingsConnection *proxy, gpointer user_data)
g_object_ref (self));
}
-/****************************************************************/
+/*****************************************************************************/
static void
init_dbus (NMObject *object)
diff --git a/libnm/nm-remote-settings.c b/libnm/nm-remote-settings.c
index b04f4f2ac8..fa3a0f09f5 100644
--- a/libnm/nm-remote-settings.c
+++ b/libnm/nm-remote-settings.c
@@ -73,7 +73,7 @@ enum {
};
static guint signals[LAST_SIGNAL] = { 0 };
-/**********************************************************************/
+/*****************************************************************************/
typedef struct {
NMRemoteSettings *self;
@@ -660,7 +660,7 @@ nm_running_changed (GObject *object,
g_object_thaw_notify (object);
}
-/****************************************************************/
+/*****************************************************************************/
static void
nm_remote_settings_init (NMRemoteSettings *self)
diff --git a/libnm/nm-secret-agent-old.c b/libnm/nm-secret-agent-old.c
index 02a3f685ca..1a078183ac 100644
--- a/libnm/nm-secret-agent-old.c
+++ b/libnm/nm-secret-agent-old.c
@@ -70,7 +70,7 @@ enum {
LAST_PROP
};
-/*************************************************************/
+/*****************************************************************************/
static void
_internal_unregister (NMSecretAgentOld *self)
@@ -472,7 +472,7 @@ impl_secret_agent_old_delete_secrets (NMSecretAgentOld *self,
g_object_unref (connection);
}
-/**************************************************************/
+/*****************************************************************************/
static gboolean
check_nm_running (NMSecretAgentOld *self, GError **error)
@@ -493,7 +493,7 @@ check_nm_running (NMSecretAgentOld *self, GError **error)
return FALSE;
}
-/**************************************************************/
+/*****************************************************************************/
/**
* nm_secret_agent_old_register:
@@ -878,7 +878,7 @@ nm_secret_agent_old_get_registered (NMSecretAgentOld *self)
return NM_SECRET_AGENT_OLD_GET_PRIVATE (self)->registered;
}
-/**************************************************************/
+/*****************************************************************************/
/**
* nm_secret_agent_old_get_secrets:
@@ -984,7 +984,7 @@ nm_secret_agent_old_delete_secrets (NMSecretAgentOld *self,
user_data);
}
-/**************************************************************/
+/*****************************************************************************/
static gboolean
validate_identifier (const char *identifier)
diff --git a/libnm/nm-vpn-editor.h b/libnm/nm-vpn-editor.h
index 2ee34525d8..d450bbd6ad 100644
--- a/libnm/nm-vpn-editor.h
+++ b/libnm/nm-vpn-editor.h
@@ -34,9 +34,9 @@
G_BEGIN_DECLS
-/**************************************************/
+/*****************************************************************************/
/* Editor interface */
-/**************************************************/
+/*****************************************************************************/
#define NM_TYPE_VPN_EDITOR (nm_vpn_editor_get_type ())
#define NM_VPN_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_EDITOR, NMVpnEditor))
diff --git a/libnm/nm-vpn-plugin-old.c b/libnm/nm-vpn-plugin-old.c
index 634e61a232..cfaefdf264 100644
--- a/libnm/nm-vpn-plugin-old.c
+++ b/libnm/nm-vpn-plugin-old.c
@@ -534,7 +534,7 @@ impl_vpn_plugin_old_connect_interactive (NMVpnPluginOld *plugin,
_connect_generic (plugin, context, connection, details);
}
-/***************************************************************/
+/*****************************************************************************/
static void
impl_vpn_plugin_old_need_secrets (NMVpnPluginOld *plugin,
@@ -681,7 +681,7 @@ nm_vpn_plugin_old_secrets_required (NMVpnPluginOld *plugin,
g_signal_emit (plugin, signals[SECRETS_REQUIRED], 0, message, hints);
}
-/***************************************************************/
+/*****************************************************************************/
#define DATA_KEY_TAG "DATA_KEY="
#define DATA_VAL_TAG "DATA_VAL="
@@ -847,7 +847,7 @@ nm_vpn_plugin_old_get_secret_flags (GHashTable *data,
return success;
}
-/***************************************************************/
+/*****************************************************************************/
static void
impl_vpn_plugin_old_disconnect (NMVpnPluginOld *plugin,
@@ -902,7 +902,7 @@ impl_vpn_plugin_old_set_failure (NMVpnPluginOld *plugin,
g_dbus_method_invocation_return_value (context, NULL);
}
-/*********************************************************************/
+/*****************************************************************************/
static void
sigterm_handler (int signum)
@@ -924,7 +924,7 @@ setup_unix_signal_handler (void)
sigaction (SIGTERM, &action, NULL);
}
-/*********************************************************************/
+/*****************************************************************************/
static void
one_plugin_destroyed (gpointer data,
diff --git a/libnm/nm-vpn-service-plugin.c b/libnm/nm-vpn-service-plugin.c
index 6431629669..8b781f08e3 100644
--- a/libnm/nm-vpn-service-plugin.c
+++ b/libnm/nm-vpn-service-plugin.c
@@ -554,7 +554,7 @@ impl_vpn_service_plugin_connect_interactive (NMVpnServicePlugin *plugin,
_connect_generic (plugin, context, connection, details);
}
-/***************************************************************/
+/*****************************************************************************/
static void
impl_vpn_service_plugin_need_secrets (NMVpnServicePlugin *plugin,
@@ -702,7 +702,7 @@ nm_vpn_service_plugin_secrets_required (NMVpnServicePlugin *plugin,
nmdbus_vpn_plugin_emit_secrets_required (priv->dbus_vpn_service_plugin, message, hints);
}
-/***************************************************************/
+/*****************************************************************************/
#define DATA_KEY_TAG "DATA_KEY="
#define DATA_VAL_TAG "DATA_VAL="
@@ -868,7 +868,7 @@ nm_vpn_service_plugin_get_secret_flags (GHashTable *data,
return success;
}
-/***************************************************************/
+/*****************************************************************************/
static void
impl_vpn_service_plugin_disconnect (NMVpnServicePlugin *plugin,
@@ -923,7 +923,7 @@ impl_vpn_service_plugin_set_failure (NMVpnServicePlugin *plugin,
g_dbus_method_invocation_return_value (context, NULL);
}
-/*********************************************************************/
+/*****************************************************************************/
static void
sigterm_handler (int signum)
@@ -945,7 +945,7 @@ setup_unix_signal_handler (void)
sigaction (SIGTERM, &action, NULL);
}
-/*********************************************************************/
+/*****************************************************************************/
static void
one_plugin_destroyed (gpointer data,
diff --git a/libnm/nm-wimax-nsp.c b/libnm/nm-wimax-nsp.c
index d544b0d47f..c15fddd900 100644
--- a/libnm/nm-wimax-nsp.c
+++ b/libnm/nm-wimax-nsp.c
@@ -172,7 +172,7 @@ nm_wimax_nsp_filter_connections (NMWimaxNsp *nsp, const GPtrArray *connections)
return filtered;
}
-/************************************************************/
+/*****************************************************************************/
static void
nm_wimax_nsp_init (NMWimaxNsp *nsp)
diff --git a/libnm/tests/test-nm-client.c b/libnm/tests/test-nm-client.c
index 3a7c4d5dde..a45d47c2a7 100644
--- a/libnm/tests/test-nm-client.c
+++ b/libnm/tests/test-nm-client.c
@@ -29,7 +29,7 @@
static GMainLoop *loop = NULL;
static NMTstcServiceInfo *sinfo;
-/*******************************************************************/
+/*****************************************************************************/
static gboolean
loop_quit (gpointer user_data)
@@ -38,7 +38,7 @@ loop_quit (gpointer user_data)
return G_SOURCE_REMOVE;
}
-/*******************************************************************/
+/*****************************************************************************/
static void
devices_notify_cb (NMClient *c,
@@ -107,7 +107,7 @@ test_device_added (void)
g_clear_pointer (&sinfo, nmtstc_service_cleanup);
}
-/*******************************************************************/
+/*****************************************************************************/
typedef enum {
SIGNAL_FIRST = 0x01,
@@ -206,7 +206,7 @@ test_device_added_signal_after_init (void)
g_clear_pointer (&sinfo, nmtstc_service_cleanup);
}
-/*******************************************************************/
+/*****************************************************************************/
static const char *expected_bssid = "66:55:44:33:22:11";
@@ -405,7 +405,7 @@ test_wifi_ap_added_removed (void)
g_clear_pointer (&sinfo, nmtstc_service_cleanup);
}
-/*******************************************************************/
+/*****************************************************************************/
static const char *expected_nsp_name = "Clear";
@@ -604,7 +604,7 @@ test_wimax_nsp_added_removed (void)
g_clear_pointer (&sinfo, nmtstc_service_cleanup);
}
-/*******************************************************************/
+/*****************************************************************************/
typedef struct {
GMainLoop *loop;
@@ -1228,7 +1228,7 @@ test_device_connection_compatibility (void)
g_clear_pointer (&sinfo, nmtstc_service_cleanup);
}
-/*******************************************************************/
+/*****************************************************************************/
static gboolean
_test_connection_invalid_find_connections (gpointer element, gpointer needle, gpointer user_data)
@@ -1568,7 +1568,7 @@ test_connection_invalid (void)
#undef ASSERT_IDX
}
-/*******************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/libnm/tests/test-remote-settings-client.c b/libnm/tests/test-remote-settings-client.c
index 8f59656d75..fda943c804 100644
--- a/libnm/tests/test-remote-settings-client.c
+++ b/libnm/tests/test-remote-settings-client.c
@@ -31,7 +31,7 @@ static NMClient *client = NULL;
GDBusConnection *bus = NULL;
NMRemoteConnection *remote = NULL;
-/*******************************************************************/
+/*****************************************************************************/
static void
add_cb (GObject *s,
@@ -87,7 +87,7 @@ test_add_connection (void)
g_object_unref (connection);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
set_visible_cb (GObject *proxy,
@@ -194,7 +194,7 @@ test_make_invisible (void)
g_object_unref (proxy);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
vis_new_connection_cb (NMClient *foo,
@@ -271,7 +271,7 @@ test_make_visible (void)
g_object_unref (proxy);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
deleted_cb (GObject *proxy,
@@ -354,7 +354,7 @@ test_remove_connection (void)
g_object_unref (proxy);
}
-/*******************************************************************/
+/*****************************************************************************/
#define TEST_ADD_REMOVE_ID "add-remove-test-connection"
@@ -413,7 +413,7 @@ test_add_remove_connection (void)
g_object_unref (connection);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
add_bad_cb (GObject *s,
@@ -456,7 +456,7 @@ test_add_bad_connection (void)
g_assert (remote == NULL);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
save_hostname_cb (GObject *s,
@@ -495,7 +495,7 @@ test_save_hostname (void)
g_assert (remote == NULL);
}
-/*******************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/libnm/tests/test-secret-agent.c b/libnm/tests/test-secret-agent.c
index 9756186681..e4ebe3e0e9 100644
--- a/libnm/tests/test-secret-agent.c
+++ b/libnm/tests/test-secret-agent.c
@@ -28,7 +28,7 @@
#include "nm-test-libnm-utils.h"
-/*******************************************************************/
+/*****************************************************************************/
enum {
SECRET_REQUESTED,
@@ -176,7 +176,7 @@ test_secret_agent_new (void)
return agent;
}
-/*******************************************************************/
+/*****************************************************************************/
typedef struct {
NMTstcServiceInfo *sinfo;
@@ -341,7 +341,7 @@ test_cleanup (TestSecretAgentData *sadata, gconstpointer test_data)
g_free (sadata->con_id);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
connection_activated_none_cb (GObject *c,
@@ -371,7 +371,7 @@ test_secret_agent_none (TestSecretAgentData *sadata, gconstpointer test_data)
g_main_loop_run (sadata->loop);
}
-/*******************************************************************/
+/*****************************************************************************/
static char *
secrets_requested_no_secrets_cb (TestSecretAgent *agent,
@@ -422,7 +422,7 @@ test_secret_agent_no_secrets (TestSecretAgentData *sadata, gconstpointer test_da
g_assert_cmpint (sadata->secrets_requested, ==, 1);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
connection_activated_cancel_cb (GObject *c,
@@ -473,7 +473,7 @@ test_secret_agent_cancel (TestSecretAgentData *sadata, gconstpointer test_data)
g_assert_cmpint (sadata->secrets_requested, ==, 1);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
connection_activated_good_cb (GObject *c,
@@ -618,7 +618,7 @@ test_secret_agent_auto_register (void)
g_main_loop_unref (loop);
}
-/*******************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/shared/nm-common-macros.h b/shared/nm-common-macros.h
index 6e0769cca4..39acf56f7a 100644
--- a/shared/nm-common-macros.h
+++ b/shared/nm-common-macros.h
@@ -22,7 +22,7 @@
#ifndef __NM_COMMON_MACROS_H__
#define __NM_COMMON_MACROS_H__
-/******************************************************************************/
+/*****************************************************************************/
#define NM_AUTH_PERMISSION_ENABLE_DISABLE_NETWORK "org.freedesktop.NetworkManager.enable-disable-network"
#define NM_AUTH_PERMISSION_SLEEP_WAKE "org.freedesktop.NetworkManager.sleep-wake"
@@ -55,6 +55,6 @@ NM_CLONED_MAC_IS_SPECIAL (const char *str)
NM_CLONED_MAC_STABLE);
}
-/******************************************************************************/
+/*****************************************************************************/
#endif /* __NM_COMMON_MACROS_H__ */
diff --git a/shared/nm-utils/nm-macros-internal.h b/shared/nm-utils/nm-macros-internal.h
index d116fb873a..1451053580 100644
--- a/shared/nm-utils/nm-macros-internal.h
+++ b/shared/nm-utils/nm-macros-internal.h
@@ -26,7 +26,7 @@
#include "nm-glib.h"
-/********************************************************/
+/*****************************************************************************/
#define _nm_packed __attribute__ ((packed))
#define _nm_unused __attribute__ ((unused))
@@ -59,7 +59,7 @@ _nm_auto_free_gstring_impl (GString **str)
}
#define nm_auto_free_gstring nm_auto(_nm_auto_free_gstring_impl)
-/********************************************************/
+/*****************************************************************************/
/* http://stackoverflow.com/a/11172679 */
#define _NM_UTILS_MACRO_FIRST(...) __NM_UTILS_MACRO_FIRST_HELPER(__VA_ARGS__, throwaway)
@@ -78,7 +78,7 @@ _nm_auto_free_gstring_impl (GString **str)
TWOORMORE, TWOORMORE, TWOORMORE, ONE, throwaway)
#define __NM_UTILS_MACRO_REST_SELECT_20TH(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, ...) a20
-/********************************************************/
+/*****************************************************************************/
/* http://stackoverflow.com/a/2124385/354393 */
@@ -103,7 +103,7 @@ _nm_auto_free_gstring_impl (GString **str)
19,18,17,16,15,14,13,12,11,10, \
9,8,7,6,5,4,3,2,1,0
-/********************************************************/
+/*****************************************************************************/
#if defined (__GNUC__)
#define _NM_PRAGMA_WARNING_DO(warning) G_STRINGIFY(GCC diagnostic ignored warning)
@@ -139,7 +139,7 @@ _nm_auto_free_gstring_impl (GString **str)
#define NM_PRAGMA_WARNING_REENABLE
#endif
-/********************************************************/
+/*****************************************************************************/
/**
* NM_G_ERROR_MSG:
@@ -159,7 +159,7 @@ NM_G_ERROR_MSG (GError *error)
return error ? (error->message ? : "(null)") : "(no-error)"; \
}
-/********************************************************/
+/*****************************************************************************/
/* macro to return strlen() of a compile time string. */
#define NM_STRLEN(str) ( sizeof ("" str) - 1 )
@@ -178,7 +178,7 @@ NM_G_ERROR_MSG (GError *error)
} \
} G_STMT_END
-/********************************************************/
+/*****************************************************************************/
#define _NM_IN_SET_EVAL_1( op, _x, y) (_x == (y))
#define _NM_IN_SET_EVAL_2( op, _x, y, ...) (_x == (y)) op _NM_IN_SET_EVAL_1 (op, _x, __VA_ARGS__)
@@ -214,7 +214,7 @@ NM_G_ERROR_MSG (GError *error)
* side-effects. */
#define NM_IN_SET_SE(x, ...) _NM_IN_SET_EVAL_N(|, x, NM_NARG (__VA_ARGS__), __VA_ARGS__)
-/********************************************************/
+/*****************************************************************************/
static inline gboolean
_NM_IN_STRSET_streq (const char *x, const char *s)
@@ -373,6 +373,27 @@ nm_g_object_unref (gpointer obj)
g_object_unref (obj);
}
+/* basically, replaces
+ * g_clear_pointer (&location, g_free)
+ * with
+ * nm_clear_g_free (&location)
+ *
+ * Another advantage is that by using a macro and typeof(), it is more
+ * typesafe and gives you for example a compiler warning when pp is a const
+ * pointer or points to a const-pointer.
+ */
+#define nm_clear_g_free(pp) \
+ ({ \
+ typeof (*(pp)) *_pp = (pp); \
+ typeof (**_pp) *_p = *_pp; \
+ \
+ if (_p) { \
+ *_pp = NULL; \
+ g_free (_p); \
+ } \
+ !!_p; \
+ })
+
static inline gboolean
nm_clear_g_source (guint *id)
{
diff --git a/shared/nm-utils/nm-shared-utils.h b/shared/nm-utils/nm-shared-utils.h
index cfa8f994f7..f77fb0e353 100644
--- a/shared/nm-utils/nm-shared-utils.h
+++ b/shared/nm-utils/nm-shared-utils.h
@@ -22,14 +22,14 @@
#ifndef __NM_SHARED_UTILS_H__
#define __NM_SHARED_UTILS_H__
-/******************************************************************************/
+/*****************************************************************************/
gint64 _nm_utils_ascii_str_to_int64 (const char *str, guint base, gint64 min, gint64 max, gint64 fallback);
gint _nm_utils_ascii_str_to_bool (const char *str,
gint default_value);
-/******************************************************************************/
+/*****************************************************************************/
/**
* NMUtilsError:
@@ -54,13 +54,13 @@ void nm_utils_error_set_cancelled (GError **error,
gboolean nm_utils_error_is_cancelled (GError *error,
gboolean consider_is_disposing);
-/******************************************************************************/
+/*****************************************************************************/
gboolean nm_g_object_set_property (GObject *object,
const gchar *property_name,
const GValue *value,
GError **error);
-/******************************************************************************/
+/*****************************************************************************/
#endif /* __NM_SHARED_UTILS_H__ */
diff --git a/shared/nm-utils/nm-test-utils.h b/shared/nm-utils/nm-test-utils.h
index dba41c4ba9..64604e38f1 100644
--- a/shared/nm-utils/nm-test-utils.h
+++ b/shared/nm-utils/nm-test-utils.h
@@ -106,12 +106,12 @@
#include "nm-utils.h"
-/*******************************************************************************/
+/*****************************************************************************/
#define NMTST_G_RETURN_MSG_S(expr) "*: assertion '"NM_ASSERT_G_RETURN_EXPR(expr)"' failed"
#define NMTST_G_RETURN_MSG(expr) NMTST_G_RETURN_MSG_S(#expr)
-/*******************************************************************************/
+/*****************************************************************************/
/* general purpose functions that have no dependency on other nmtst functions */
@@ -168,7 +168,7 @@
g_assert (!(success)); \
} G_STMT_END
-/*******************************************************************************/
+/*****************************************************************************/
struct __nmtst_internal
{
@@ -1123,7 +1123,7 @@ __nmtst_spawn_sync (const char *working_directory, char **standard_out, char **s
return exit_status;
}
-/*******************************************************************************/
+/*****************************************************************************/
inline static char *
nmtst_file_resolve_relative_path (const char *rel, const char *cwd)
@@ -1156,7 +1156,7 @@ _nmtst_assert_resolve_relative_path_equals (const char *f1, const char *f2, cons
}
#define nmtst_assert_resolve_relative_path_equals(f1, f2) _nmtst_assert_resolve_relative_path_equals (f1, f2, __FILE__, __LINE__);
-/*******************************************************************************/
+/*****************************************************************************/
#ifdef NM_SETTING_IP_CONFIG_H
inline static void
diff --git a/src/Makefile.am b/src/Makefile.am
index f08acecc0d..6e2742a8d0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -90,7 +90,6 @@ noinst_LTLIBRARIES = \
libNetworkManagerBase.la \
libNetworkManager.la \
libNetworkManagerTest.la \
- libnm-iface-helper.la \
libsystemd-nm.la
###############################################################################
@@ -290,25 +289,10 @@ nm_device_headers = \
devices/nm-device-vxlan.h \
$(NULL)
-nm_dhcp_client_sources = \
- dhcp-manager/nm-dhcp-dhclient.c \
- dhcp-manager/nm-dhcp-dhcpcd.c \
- dhcp-manager/nm-dhcp-systemd.c \
- $(NULL)
-
-nm_dhcp_client_headers = \
- dhcp-manager/nm-dhcp-dhclient.h \
- dhcp-manager/nm-dhcp-dhcpcd.h \
- dhcp-manager/nm-dhcp-systemd.h \
- $(NULL)
-
###############################################################################
libNetworkManager_la_SOURCES = \
\
- dhcp-manager/nm-dhcp-dhclient-utils.c \
- dhcp-manager/nm-dhcp-dhclient-utils.h \
- \
nm-checkpoint-manager.c \
nm-checkpoint-manager.h \
nm-checkpoint.c \
@@ -332,13 +316,18 @@ libNetworkManager_la_SOURCES = \
dhcp-manager/nm-dhcp-client.c \
dhcp-manager/nm-dhcp-client.h \
dhcp-manager/nm-dhcp-client-logging.h \
- dhcp-manager/nm-dhcp-helper-api.h \
dhcp-manager/nm-dhcp-utils.c \
+ dhcp-manager/nm-dhcp-manager.c \
+ dhcp-manager/nm-dhcp-manager.h \
dhcp-manager/nm-dhcp-utils.h \
+ dhcp-manager/nm-dhcp-dhclient.c \
+ dhcp-manager/nm-dhcp-dhcpcd.c \
+ dhcp-manager/nm-dhcp-systemd.c \
+ dhcp-manager/nm-dhcp-helper-api.h \
dhcp-manager/nm-dhcp-listener.c \
dhcp-manager/nm-dhcp-listener.h \
- dhcp-manager/nm-dhcp-manager.c \
- dhcp-manager/nm-dhcp-manager.h \
+ dhcp-manager/nm-dhcp-dhclient-utils.c \
+ dhcp-manager/nm-dhcp-dhclient-utils.h \
\
dns-manager/nm-dns-dnsmasq.c \
dns-manager/nm-dns-dnsmasq.h \
@@ -421,8 +410,8 @@ libNetworkManager_la_SOURCES = \
vpn-manager/nm-vpn-manager.c \
vpn-manager/nm-vpn-manager.h \
\
- nm-activation-request.c \
- nm-activation-request.h \
+ nm-act-request.c \
+ nm-act-request.h \
nm-active-connection.c \
nm-active-connection.h \
nm-audit-manager.c \
@@ -524,9 +513,6 @@ NetworkManager_SOURCES = \
$(nm_device_sources) \
$(nm_device_headers) \
\
- $(nm_dhcp_client_sources) \
- $(nm_dhcp_client_headers) \
- \
main-utils.c \
main-utils.h \
main.c
@@ -540,7 +526,10 @@ NetworkManager_LDFLAGS = \
###############################################################################
-libnm_iface_helper_la_SOURCES = \
+nm_iface_helper_CFLAGS = \
+ -DNM_DHCP_INTERNAL_ONLY
+
+nm_iface_helper_SOURCES = \
\
dhcp-manager/nm-dhcp-client.c \
dhcp-manager/nm-dhcp-client.h \
@@ -549,6 +538,7 @@ libnm_iface_helper_la_SOURCES = \
dhcp-manager/nm-dhcp-utils.h \
dhcp-manager/nm-dhcp-manager.c \
dhcp-manager/nm-dhcp-manager.h \
+ dhcp-manager/nm-dhcp-systemd.c \
\
platform/nmp-netns.c \
platform/nmp-netns.h \
@@ -586,15 +576,19 @@ libnm_iface_helper_la_SOURCES = \
nm-multi-index.c \
nm-multi-index.h \
NetworkManagerUtils.c \
- NetworkManagerUtils.h
+ NetworkManagerUtils.h \
+ \
+ nm-iface-helper.c \
+ main-utils.c \
+ main-utils.h
if WITH_WEXT
-libnm_iface_helper_la_SOURCES += \
+nm_iface_helper_SOURCES += \
platform/wifi/wifi-utils-wext.c \
platform/wifi/wifi-utils-wext.h
endif
-libnm_iface_helper_la_LIBADD = \
+nm_iface_helper_LDADD = \
$(top_builddir)/libnm-core/libnm-core.la \
$(top_builddir)/introspection/libnmdbus.la \
libNetworkManagerBase.la \
@@ -606,22 +600,6 @@ libnm_iface_helper_la_LIBADD = \
$(DL_LIBS) \
$(LIBM)
-nm_iface_helper_SOURCES = \
- dhcp-manager/nm-dhcp-systemd.h \
- dhcp-manager/nm-dhcp-systemd.c \
- nm-iface-helper.c \
- main-utils.c \
- main-utils.h
-
-nm_iface_helper_LDADD = \
- $(top_builddir)/libnm-core/libnm-core.la \
- libnm-iface-helper.la \
- $(GLIB_LIBS) \
- $(GUDEV_LIBS) \
- $(LIBNL_LIBS) \
- $(LIBNDP_LIBS) \
- $(LIBM)
-
nm_iface_helper_LDFLAGS = \
-rdynamic
diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c
index 7cfe03f1df..ad90fb7118 100644
--- a/src/NetworkManagerUtils.c
+++ b/src/NetworkManagerUtils.c
@@ -34,7 +34,7 @@
#include "nm-exported-object.h"
#include "nm-auth-utils.h"
-/******************************************************************************/
+/*****************************************************************************/
/**
* nm_utils_get_shared_wifi_permission:
@@ -65,7 +65,7 @@ nm_utils_get_shared_wifi_permission (NMConnection *connection)
return NULL;
}
-/******************************************************************************/
+/*****************************************************************************/
static char *
get_new_connection_name (const GSList *existing,
@@ -774,7 +774,7 @@ nm_utils_match_connection (GSList *connections,
return best_match;
}
-/******************************************************************************/
+/*****************************************************************************/
/**
* nm_utils_g_value_set_object_path:
@@ -830,4 +830,4 @@ nm_utils_g_value_set_object_path_array (GValue *value,
g_value_take_boxed (value, paths);
}
-/******************************************************************************/
+/*****************************************************************************/
diff --git a/src/devices/adsl/nm-atm-manager.c b/src/devices/adsl/nm-atm-manager.c
index 6708575215..5decea5200 100644
--- a/src/devices/adsl/nm-atm-manager.c
+++ b/src/devices/adsl/nm-atm-manager.c
@@ -24,27 +24,49 @@
#include <gudev/gudev.h>
#include <gmodule.h>
-#include "nm-atm-manager.h"
#include "nm-setting-adsl.h"
#include "nm-device-adsl.h"
#include "nm-device-factory.h"
#include "nm-platform.h"
+/*****************************************************************************/
+
+#define NM_TYPE_ATM_MANAGER (nm_atm_manager_get_type ())
+#define NM_ATM_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_ATM_MANAGER, NMAtmManager))
+#define NM_ATM_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_ATM_MANAGER, NMAtmManagerClass))
+#define NM_IS_ATM_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_ATM_MANAGER))
+#define NM_IS_ATM_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_ATM_MANAGER))
+#define NM_ATM_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_ATM_MANAGER, NMAtmManagerClass))
+
+typedef struct _NMAtmManager NMAtmManager;
+typedef struct _NMAtmManagerClass NMAtmManagerClass;
+
+static GType nm_atm_manager_get_type (void);
+
+/*****************************************************************************/
+
typedef struct {
GUdevClient *client;
GSList *devices;
} NMAtmManagerPrivate;
-#define NM_ATM_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_ATM_MANAGER, NMAtmManagerPrivate))
+struct _NMAtmManager {
+ GObject parent;
+ NMAtmManagerPrivate _priv;
+};
-static GType nm_atm_manager_get_type (void);
+struct _NMAtmManagerClass {
+ GObjectClass parent;
+};
static void device_factory_interface_init (NMDeviceFactoryInterface *factory_iface);
G_DEFINE_TYPE_EXTENDED (NMAtmManager, nm_atm_manager, G_TYPE_OBJECT, 0,
G_IMPLEMENT_INTERFACE (NM_TYPE_DEVICE_FACTORY, device_factory_interface_init))
-/**************************************************************************/
+#define NM_ATM_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMAtmManager, NM_IS_ATM_MANAGER)
+
+/*****************************************************************************/
G_MODULE_EXPORT NMDeviceFactory *
nm_device_factory_create (GError **error)
@@ -52,7 +74,7 @@ nm_device_factory_create (GError **error)
return (NMDeviceFactory *) g_object_new (NM_TYPE_ATM_MANAGER, NULL);
}
-/************************************************************************/
+/*****************************************************************************/
static gboolean
dev_get_attrs (GUdevDevice *udev_device,
@@ -223,24 +245,7 @@ NM_DEVICE_FACTORY_DECLARE_TYPES (
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_ADSL_SETTING_NAME)
)
-/*********************************************************************/
-
-static void
-nm_atm_manager_init (NMAtmManager *self)
-{
- NMAtmManagerPrivate *priv = NM_ATM_MANAGER_GET_PRIVATE (self);
- const char *subsys[] = { "atm", NULL };
-
- priv->client = g_udev_client_new (subsys);
- g_signal_connect (priv->client, "uevent", G_CALLBACK (handle_uevent), self);
-}
-
-static void
-device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
-{
- factory_iface->get_supported_types = get_supported_types;
- factory_iface->start = start;
-}
+/*****************************************************************************/
static void
dispose (GObject *object)
@@ -249,9 +254,10 @@ dispose (GObject *object)
NMAtmManagerPrivate *priv = NM_ATM_MANAGER_GET_PRIVATE (self);
GSList *iter;
- if (priv->client)
+ if (priv->client) {
g_signal_handlers_disconnect_by_func (priv->client, handle_uevent, self);
- g_clear_object (&priv->client);
+ g_clear_object (&priv->client);
+ }
for (iter = priv->devices; iter; iter = iter->next)
g_object_weak_unref (G_OBJECT (iter->data), device_destroyed, self);
@@ -265,8 +271,24 @@ nm_atm_manager_class_init (NMAtmManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMAtmManagerPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
}
+
+/*****************************************************************************/
+
+static void
+nm_atm_manager_init (NMAtmManager *self)
+{
+ NMAtmManagerPrivate *priv = NM_ATM_MANAGER_GET_PRIVATE (self);
+ const char *subsys[] = { "atm", NULL };
+
+ priv->client = g_udev_client_new (subsys);
+ g_signal_connect (priv->client, "uevent", G_CALLBACK (handle_uevent), self);
+}
+
+static void
+device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
+{
+ factory_iface->get_supported_types = get_supported_types;
+ factory_iface->start = start;
+}
diff --git a/src/devices/adsl/nm-atm-manager.h b/src/devices/adsl/nm-atm-manager.h
deleted file mode 100644
index bcbc6c77bc..0000000000
--- a/src/devices/adsl/nm-atm-manager.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager -- Network link manager
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2007 - 2008 Novell, Inc.
- * Copyright (C) 2007 - 2014 Red Hat, Inc.
- */
-
-#ifndef __NETWORKMANAGER_ATM_MANAGER_H__
-#define __NETWORKMANAGER_ATM_MANAGER_H__
-
-#define NM_TYPE_ATM_MANAGER (nm_atm_manager_get_type ())
-#define NM_ATM_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_ATM_MANAGER, NMAtmManager))
-
-typedef struct {
- GObject parent;
-} NMAtmManager;
-
-typedef struct {
- GObjectClass parent;
-} NMAtmManagerClass;
-
-#endif /* __NETWORKMANAGER_ATM_MANAGER_H__ */
-
diff --git a/src/devices/adsl/nm-device-adsl.c b/src/devices/adsl/nm-device-adsl.c
index ebb7a319b4..a5b6641abf 100644
--- a/src/devices/adsl/nm-device-adsl.c
+++ b/src/devices/adsl/nm-device-adsl.c
@@ -20,24 +20,23 @@
#include "nm-default.h"
+#include "nm-device-adsl.h"
+
#include <sys/socket.h>
#include <linux/atmdev.h>
#include <linux/atmbr2684.h>
-
#include <errno.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <unistd.h>
-
#include <stdlib.h>
#include <string.h>
-#include "nm-device-adsl.h"
#include "nm-device-private.h"
#include "nm-enum-types.h"
#include "nm-platform.h"
-
#include "ppp-manager/nm-ppp-manager.h"
+#include "ppp-manager/nm-ppp-status.h"
#include "nm-setting-adsl.h"
#include "nm-utils.h"
@@ -46,18 +45,11 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF (NMDeviceAdsl);
-G_DEFINE_TYPE (NMDeviceAdsl, nm_device_adsl, NM_TYPE_DEVICE)
-
-#define NM_DEVICE_ADSL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_ADSL, NMDeviceAdslPrivate))
+/*****************************************************************************/
-enum {
- PROP_0,
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
PROP_ATM_INDEX,
-
- LAST_PROP
-};
-
-/**********************************************/
+);
typedef struct {
guint carrier_poll_id;
@@ -74,7 +66,20 @@ typedef struct {
guint nas_update_count;
} NMDeviceAdslPrivate;
-/**************************************************************/
+struct _NMDeviceAdsl {
+ NMDevice parent;
+ NMDeviceAdslPrivate _priv;
+};
+
+struct _NMDeviceAdslClass {
+ NMDeviceClass parent;
+};
+
+G_DEFINE_TYPE (NMDeviceAdsl, nm_device_adsl, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_ADSL_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceAdsl, NM_IS_DEVICE_ADSL)
+
+/*****************************************************************************/
static NMDeviceCapabilities
get_generic_capabilities (NMDevice *dev)
@@ -138,7 +143,7 @@ complete_connection (NMDevice *device,
return TRUE;
}
-/**************************************************************/
+/*****************************************************************************/
static gboolean
br2684_assign_vcc (NMDeviceAdsl *self, NMSettingAdsl *s_adsl)
@@ -526,7 +531,7 @@ deactivate (NMDevice *device)
adsl_cleanup (NM_DEVICE_ADSL (device));
}
-/**************************************************************/
+/*****************************************************************************/
static gboolean
carrier_update_cb (gpointer user_data)
@@ -545,51 +550,7 @@ carrier_update_cb (gpointer user_data)
return TRUE;
}
-/**************************************************************/
-
-NMDevice *
-nm_device_adsl_new (const char *udi,
- const char *iface,
- const char *driver,
- int atm_index)
-{
- g_return_val_if_fail (udi != NULL, NULL);
- g_return_val_if_fail (atm_index >= 0, NULL);
-
- return (NMDevice *) g_object_new (NM_TYPE_DEVICE_ADSL,
- NM_DEVICE_UDI, udi,
- NM_DEVICE_IFACE, iface,
- NM_DEVICE_DRIVER, driver,
- NM_DEVICE_ADSL_ATM_INDEX, atm_index,
- NM_DEVICE_TYPE_DESC, "ADSL",
- NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_ADSL,
- NULL);
-}
-
-static void
-constructed (GObject *object)
-{
- NMDeviceAdsl *self = NM_DEVICE_ADSL (object);
- NMDeviceAdslPrivate *priv = NM_DEVICE_ADSL_GET_PRIVATE (self);
-
- G_OBJECT_CLASS (nm_device_adsl_parent_class)->constructed (object);
-
- priv->carrier_poll_id = g_timeout_add_seconds (5, carrier_update_cb, self);
-
- _LOGD (LOGD_ADSL, "ATM device index %d", priv->atm_index);
-
- g_return_if_fail (priv->atm_index >= 0);
-}
-
-static void
-dispose (GObject *object)
-{
- adsl_cleanup (NM_DEVICE_ADSL (object));
-
- nm_clear_g_source (&NM_DEVICE_ADSL_GET_PRIVATE (object)->carrier_poll_id);
-
- G_OBJECT_CLASS (nm_device_adsl_parent_class)->dispose (object);
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
@@ -597,7 +558,7 @@ get_property (GObject *object, guint prop_id,
{
switch (prop_id) {
case PROP_ATM_INDEX:
- g_value_set_int (value, NM_DEVICE_ADSL_GET_PRIVATE (object)->atm_index);
+ g_value_set_int (value, NM_DEVICE_ADSL_GET_PRIVATE ((NMDeviceAdsl *) object)->atm_index);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -612,7 +573,7 @@ set_property (GObject *object, guint prop_id,
switch (prop_id) {
case PROP_ATM_INDEX:
/* construct only */
- NM_DEVICE_ADSL_GET_PRIVATE (object)->atm_index = g_value_get_int (value);
+ NM_DEVICE_ADSL_GET_PRIVATE ((NMDeviceAdsl *) object)->atm_index = g_value_get_int (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -620,19 +581,63 @@ set_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
static void
nm_device_adsl_init (NMDeviceAdsl *self)
{
}
static void
+constructed (GObject *object)
+{
+ NMDeviceAdsl *self = NM_DEVICE_ADSL (object);
+ NMDeviceAdslPrivate *priv = NM_DEVICE_ADSL_GET_PRIVATE (self);
+
+ G_OBJECT_CLASS (nm_device_adsl_parent_class)->constructed (object);
+
+ priv->carrier_poll_id = g_timeout_add_seconds (5, carrier_update_cb, self);
+
+ _LOGD (LOGD_ADSL, "ATM device index %d", priv->atm_index);
+
+ g_return_if_fail (priv->atm_index >= 0);
+}
+
+NMDevice *
+nm_device_adsl_new (const char *udi,
+ const char *iface,
+ const char *driver,
+ int atm_index)
+{
+ g_return_val_if_fail (udi != NULL, NULL);
+ g_return_val_if_fail (atm_index >= 0, NULL);
+
+ return (NMDevice *) g_object_new (NM_TYPE_DEVICE_ADSL,
+ NM_DEVICE_UDI, udi,
+ NM_DEVICE_IFACE, iface,
+ NM_DEVICE_DRIVER, driver,
+ NM_DEVICE_ADSL_ATM_INDEX, atm_index,
+ NM_DEVICE_TYPE_DESC, "ADSL",
+ NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_ADSL,
+ NULL);
+}
+
+static void
+dispose (GObject *object)
+{
+ adsl_cleanup (NM_DEVICE_ADSL (object));
+
+ nm_clear_g_source (&NM_DEVICE_ADSL_GET_PRIVATE ((NMDeviceAdsl *) object)->carrier_poll_id);
+
+ G_OBJECT_CLASS (nm_device_adsl_parent_class)->dispose (object);
+}
+
+static void
nm_device_adsl_class_init (NMDeviceAdslClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMDeviceAdslPrivate));
-
object_class->constructed = constructed;
object_class->dispose = dispose;
object_class->get_property = get_property;
@@ -647,13 +652,13 @@ nm_device_adsl_class_init (NMDeviceAdslClass *klass)
parent_class->act_stage3_ip4_config_start = act_stage3_ip4_config_start;
parent_class->deactivate = deactivate;
- /* properties */
- g_object_class_install_property
- (object_class, PROP_ATM_INDEX,
- g_param_spec_int (NM_DEVICE_ADSL_ATM_INDEX, "", "",
- -1, G_MAXINT, -1,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_ATM_INDEX] =
+ g_param_spec_int (NM_DEVICE_ADSL_ATM_INDEX, "", "",
+ -1, G_MAXINT, -1,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_ADSL_SKELETON,
diff --git a/src/devices/adsl/nm-device-adsl.h b/src/devices/adsl/nm-device-adsl.h
index cfde2b3529..ff8d1f999d 100644
--- a/src/devices/adsl/nm-device-adsl.h
+++ b/src/devices/adsl/nm-device-adsl.h
@@ -22,7 +22,6 @@
#ifndef __NETWORKMANAGER_DEVICE_ADSL_H__
#define __NETWORKMANAGER_DEVICE_ADSL_H__
-// Parent class
#include "nm-device.h"
#define NM_TYPE_DEVICE_ADSL (nm_device_adsl_get_type ())
@@ -34,13 +33,8 @@
#define NM_DEVICE_ADSL_ATM_INDEX "atm-index"
-typedef struct {
- NMDevice parent;
-} NMDeviceAdsl;
-
-typedef struct {
- NMDeviceClass parent;
-} NMDeviceAdslClass;
+typedef struct _NMDeviceAdsl NMDeviceAdsl;
+typedef struct _NMDeviceAdslClass NMDeviceAdslClass;
GType nm_device_adsl_get_type (void);
diff --git a/src/devices/bluetooth/Makefile.am b/src/devices/bluetooth/Makefile.am
index 8997bf7861..7ac7bff0ec 100644
--- a/src/devices/bluetooth/Makefile.am
+++ b/src/devices/bluetooth/Makefile.am
@@ -33,7 +33,6 @@ SYMBOL_VIS_FILE=$(srcdir)/exports.ver
libnm_device_plugin_bluetooth_la_SOURCES = \
nm-bluez-manager.c \
- nm-bluez-manager.h \
nm-bluez-common.h \
nm-bluez-device.c \
nm-bluez-device.h \
diff --git a/src/devices/bluetooth/nm-bluez-common.h b/src/devices/bluetooth/nm-bluez-common.h
index 67810b94ce..6e97c3f512 100644
--- a/src/devices/bluetooth/nm-bluez-common.h
+++ b/src/devices/bluetooth/nm-bluez-common.h
@@ -39,5 +39,6 @@
#define BLUEZ4_SERIAL_INTERFACE "org.bluez.Serial"
#define BLUEZ4_NETWORK_INTERFACE "org.bluez.Network"
-#endif /* NM_BLUEZ_COMMON_H */
+#define NM_BLUEZ_MANAGER_BDADDR_ADDED "bdaddr-added"
+#endif /* NM_BLUEZ_COMMON_H */
diff --git a/src/devices/bluetooth/nm-bluez-device.c b/src/devices/bluetooth/nm-bluez-device.c
index 3463da6be8..6e705f93da 100644
--- a/src/devices/bluetooth/nm-bluez-device.c
+++ b/src/devices/bluetooth/nm-bluez-device.c
@@ -21,13 +21,13 @@
#include "nm-default.h"
+#include "nm-bluez-device.h"
+
#include <string.h>
#include "nm-core-internal.h"
-
#include "nm-bt-error.h"
#include "nm-bluez-common.h"
-#include "nm-bluez-device.h"
#include "nm-settings.h"
#include "nm-settings-connection.h"
#include "NetworkManagerUtils.h"
@@ -36,9 +36,31 @@
#include "nm-bluez5-dun.h"
#endif
-G_DEFINE_TYPE (NMBluezDevice, nm_bluez_device, G_TYPE_OBJECT)
+/*****************************************************************************/
-#define NM_BLUEZ_DEVICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_BLUEZ_DEVICE, NMBluezDevicePrivate))
+#define VARIANT_IS_OF_TYPE_BOOLEAN(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_BOOLEAN) ))
+#define VARIANT_IS_OF_TYPE_STRING(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_STRING) ))
+#define VARIANT_IS_OF_TYPE_OBJECT_PATH(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_OBJECT_PATH) ))
+#define VARIANT_IS_OF_TYPE_STRING_ARRAY(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_STRING_ARRAY) ))
+
+/*****************************************************************************/
+
+NM_GOBJECT_PROPERTIES_DEFINE (NMBluezDevice,
+ PROP_PATH,
+ PROP_ADDRESS,
+ PROP_NAME,
+ PROP_CAPABILITIES,
+ PROP_USABLE,
+ PROP_CONNECTED,
+);
+
+enum {
+ INITIALIZED,
+ REMOVED,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
typedef struct {
char *path;
@@ -75,39 +97,26 @@ typedef struct {
gboolean pan_connection_no_autocreate;
} NMBluezDevicePrivate;
-
-enum {
- PROP_0,
- PROP_PATH,
- PROP_ADDRESS,
- PROP_NAME,
- PROP_CAPABILITIES,
- PROP_USABLE,
- PROP_CONNECTED,
-
- LAST_PROP
+struct _NMBluezDevice {
+ GObject parent;
+ NMBluezDevicePrivate _priv;
};
-/* Signals */
-enum {
- INITIALIZED,
- REMOVED,
- LAST_SIGNAL
+struct _NMBluezDeviceClass {
+ GObjectClass parent;
};
-static guint signals[LAST_SIGNAL] = { 0 };
+G_DEFINE_TYPE (NMBluezDevice, nm_bluez_device, G_TYPE_OBJECT)
+
+#define NM_BLUEZ_DEVICE_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMBluezDevice, NM_IS_BLUEZ_DEVICE)
+
+/*****************************************************************************/
static void cp_connection_added (NMSettings *settings,
NMConnection *connection, NMBluezDevice *self);
static gboolean connection_compatible (NMBluezDevice *self, NMConnection *connection);
-
-#define VARIANT_IS_OF_TYPE_BOOLEAN(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_BOOLEAN) ))
-#define VARIANT_IS_OF_TYPE_STRING(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_STRING) ))
-#define VARIANT_IS_OF_TYPE_OBJECT_PATH(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_OBJECT_PATH) ))
-#define VARIANT_IS_OF_TYPE_STRING_ARRAY(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_STRING_ARRAY) ))
-
-/***********************************************************/
+/*****************************************************************************/
const char *
nm_bluez_device_get_path (NMBluezDevice *self)
@@ -292,7 +301,7 @@ check_emit_usable (NMBluezDevice *self)
END:
if (new_usable != priv->usable) {
priv->usable = new_usable;
- g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_USABLE);
+ _notify (self, PROP_USABLE);
}
return G_SOURCE_REMOVE;
@@ -307,7 +316,7 @@ check_emit_usable_schedule (NMBluezDevice *self)
priv->check_emit_usable_id = g_idle_add ((GSourceFunc) check_emit_usable, self);
}
-/********************************************************************/
+/*****************************************************************************/
static gboolean
connection_compatible (NMBluezDevice *self, NMConnection *connection)
@@ -417,14 +426,14 @@ load_connections (NMBluezDevice *self)
check_emit_usable (self);
}
-/***********************************************************/
+/*****************************************************************************/
static void
bluez_disconnect_cb (GDBusConnection *dbus_connection,
GAsyncResult *res,
gpointer user_data)
{
- NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (user_data);
+ NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE ((NMBluezDevice *) user_data);
GError *error = NULL;
GVariant *variant;
@@ -628,13 +637,13 @@ nm_bluez_device_connect_finish (NMBluezDevice *self,
device = (const char *) g_simple_async_result_get_op_res_gpointer (simple);
if (device && priv->bluez_version == 5) {
priv->connected = TRUE;
- g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_CONNECTED);
+ _notify (self, PROP_CONNECTED);
}
return device;
}
-/***********************************************************/
+/*****************************************************************************/
static void
set_adapter_address (NMBluezDevice *self, const char *address)
@@ -695,7 +704,7 @@ _set_property_capabilities (NMBluezDevice *self, const char **uuids)
((uint_val & NM_BT_CAPABILITY_DUN) && (uint_val &NM_BT_CAPABILITY_NAP)) ? " | " : "",
uint_val & NM_BT_CAPABILITY_DUN ? "DUN" : "");
priv->capabilities = uint_val;
- g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_CAPABILITIES);
+ _notify (self, PROP_CAPABILITIES);
}
}
@@ -727,7 +736,7 @@ _set_property_address (NMBluezDevice *self, const char *addr)
}
priv->address = g_strdup (addr);
- g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_ADDRESS);
+ _notify (self, PROP_ADDRESS);
}
static void
@@ -749,7 +758,7 @@ _take_variant_property_name (NMBluezDevice *self, GVariant *v)
if (g_strcmp0 (priv->name, str)) {
g_free (priv->name);
priv->name = g_strdup (str);
- g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_NAME);
+ _notify (self, PROP_NAME);
}
}
if (v)
@@ -779,7 +788,7 @@ _take_variant_property_connected (NMBluezDevice *self, GVariant *v)
if (priv->connected != connected) {
priv->connected = connected;
- g_object_notify (G_OBJECT (self), NM_BLUEZ_DEVICE_CONNECTED);
+ _notify (self, PROP_CONNECTED);
}
}
if (v)
@@ -1027,7 +1036,62 @@ on_bus_acquired (GObject *object, GAsyncResult *res, NMBluezDevice *self)
g_object_unref (self);
}
-/********************************************************************/
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE ((NMBluezDevice *) object);
+
+ switch (prop_id) {
+ case PROP_PATH:
+ g_value_set_string (value, priv->path);
+ break;
+ case PROP_ADDRESS:
+ g_value_set_string (value, priv->address);
+ break;
+ case PROP_NAME:
+ g_value_set_string (value, priv->name);
+ break;
+ case PROP_CAPABILITIES:
+ g_value_set_uint (value, priv->capabilities);
+ break;
+ case PROP_USABLE:
+ g_value_set_boolean (value, priv->usable);
+ break;
+ case PROP_CONNECTED:
+ g_value_set_boolean (value, priv->connected);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
+{
+ NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE ((NMBluezDevice *) object);
+
+ switch (prop_id) {
+ case PROP_PATH:
+ /* construct only */
+ priv->path = g_value_dup_string (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
+static void
+nm_bluez_device_init (NMBluezDevice *self)
+{
+}
NMBluezDevice *
nm_bluez_device_new (const char *path,
@@ -1090,11 +1154,6 @@ nm_bluez_device_new (const char *path,
}
static void
-nm_bluez_device_init (NMBluezDevice *self)
-{
-}
-
-static void
dispose (GObject *object)
{
NMBluezDevice *self = NM_BLUEZ_DEVICE (object);
@@ -1146,7 +1205,7 @@ dispose (GObject *object)
static void
finalize (GObject *object)
{
- NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (object);
+ NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE ((NMBluezDevice *) object);
nm_log_dbg (LOGD_BT, "bluez[%s]: finalize NMBluezDevice", priv->path);
@@ -1164,121 +1223,64 @@ finalize (GObject *object)
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (object);
-
- switch (prop_id) {
- case PROP_PATH:
- g_value_set_string (value, priv->path);
- break;
- case PROP_ADDRESS:
- g_value_set_string (value, priv->address);
- break;
- case PROP_NAME:
- g_value_set_string (value, priv->name);
- break;
- case PROP_CAPABILITIES:
- g_value_set_uint (value, priv->capabilities);
- break;
- case PROP_USABLE:
- g_value_set_boolean (value, priv->usable);
- break;
- case PROP_CONNECTED:
- g_value_set_boolean (value, priv->connected);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- NMBluezDevicePrivate *priv = NM_BLUEZ_DEVICE_GET_PRIVATE (object);
-
- switch (prop_id) {
- case PROP_PATH:
- /* construct only */
- priv->path = g_value_dup_string (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
nm_bluez_device_class_init (NMBluezDeviceClass *config_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (config_class);
- g_type_class_add_private (config_class, sizeof (NMBluezDevicePrivate));
-
- /* virtual methods */
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->dispose = dispose;
object_class->finalize = finalize;
- /* Properties */
- g_object_class_install_property
- (object_class, PROP_PATH,
- g_param_spec_string (NM_BLUEZ_DEVICE_PATH, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_ADDRESS,
- g_param_spec_string (NM_BLUEZ_DEVICE_ADDRESS, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_NAME,
- g_param_spec_string (NM_BLUEZ_DEVICE_NAME, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_CAPABILITIES,
- g_param_spec_uint (NM_BLUEZ_DEVICE_CAPABILITIES, "", "",
- 0, G_MAXUINT, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_USABLE,
- g_param_spec_boolean (NM_BLUEZ_DEVICE_USABLE, "", "",
- FALSE,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_CONNECTED,
- g_param_spec_boolean (NM_BLUEZ_DEVICE_CONNECTED, "", "",
- FALSE,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- /* Signals */
+ obj_properties[PROP_PATH] =
+ g_param_spec_string (NM_BLUEZ_DEVICE_PATH, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_ADDRESS] =
+ g_param_spec_string (NM_BLUEZ_DEVICE_ADDRESS, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_NAME] =
+ g_param_spec_string (NM_BLUEZ_DEVICE_NAME, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_CAPABILITIES] =
+ g_param_spec_uint (NM_BLUEZ_DEVICE_CAPABILITIES, "", "",
+ 0, G_MAXUINT, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_USABLE] =
+ g_param_spec_boolean (NM_BLUEZ_DEVICE_USABLE, "", "",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_CONNECTED] =
+ g_param_spec_boolean (NM_BLUEZ_DEVICE_CONNECTED, "", "",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
+
signals[INITIALIZED] = g_signal_new ("initialized",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMBluezDeviceClass, initialized),
+ 0,
NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
signals[REMOVED] = g_signal_new (NM_BLUEZ_DEVICE_REMOVED,
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMBluezDeviceClass, removed),
+ 0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
}
diff --git a/src/devices/bluetooth/nm-bluez-device.h b/src/devices/bluetooth/nm-bluez-device.h
index 66a349e0db..e56d5d2429 100644
--- a/src/devices/bluetooth/nm-bluez-device.h
+++ b/src/devices/bluetooth/nm-bluez-device.h
@@ -41,18 +41,8 @@
/* Signals */
#define NM_BLUEZ_DEVICE_REMOVED "removed"
-typedef struct {
- GObject parent;
-} NMBluezDevice;
-
-typedef struct {
- GObjectClass parent;
-
- /* virtual functions */
- void (*initialized) (NMBluezDevice *self, gboolean success);
-
- void (*removed) (NMBluezDevice *self);
-} NMBluezDeviceClass;
+typedef struct _NMBluezDevice NMBluezDevice;
+typedef struct _NMBluezDeviceClass NMBluezDeviceClass;
GType nm_bluez_device_get_type (void);
diff --git a/src/devices/bluetooth/nm-bluez-manager.c b/src/devices/bluetooth/nm-bluez-manager.c
index 0d2e302cfc..bc262eebdd 100644
--- a/src/devices/bluetooth/nm-bluez-manager.c
+++ b/src/devices/bluetooth/nm-bluez-manager.c
@@ -20,8 +20,6 @@
#include "nm-default.h"
-#include "nm-bluez-manager.h"
-
#include <signal.h>
#include <string.h>
#include <stdlib.h>
@@ -39,15 +37,21 @@
#include "nm-platform.h"
#include "nm-dbus-compat.h"
-#define _NMLOG_DOMAIN LOGD_BT
-#define _NMLOG_PREFIX_NAME "bluez"
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- nm_log ((level), _NMLOG_DOMAIN, \
- "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- _NMLOG_PREFIX_NAME": " \
- _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } G_STMT_END
+/*****************************************************************************/
+
+#define NM_TYPE_BLUEZ_MANAGER (nm_bluez_manager_get_type ())
+#define NM_BLUEZ_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_BLUEZ_MANAGER, NMBluezManager))
+#define NM_BLUEZ_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_BLUEZ_MANAGER, NMBluezManagerClass))
+#define NM_IS_BLUEZ_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_BLUEZ_MANAGER))
+#define NM_IS_BLUEZ_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_BLUEZ_MANAGER))
+#define NM_BLUEZ_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_BLUEZ_MANAGER, NMBluezManagerClass))
+
+typedef struct _NMBluezManager NMBluezManager;
+typedef struct _NMBluezManagerClass NMBluezManagerClass;
+
+static GType nm_bluez_manager_get_type (void);
+
+/*****************************************************************************/
typedef struct {
int bluez_version;
@@ -62,26 +66,39 @@ typedef struct {
GCancellable *async_cancellable;
} NMBluezManagerPrivate;
-#define NM_BLUEZ_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_BLUEZ_MANAGER, NMBluezManagerPrivate))
+struct _NMBluezManager {
+ GObject parent;
+ NMBluezManagerPrivate _priv;
+};
-static GType nm_bluez_manager_get_type (void);
+struct _NMBluezManagerClass {
+ GObjectClass parent;
+};
static void device_factory_interface_init (NMDeviceFactoryInterface *factory_iface);
G_DEFINE_TYPE_EXTENDED (NMBluezManager, nm_bluez_manager, G_TYPE_OBJECT, 0,
G_IMPLEMENT_INTERFACE (NM_TYPE_DEVICE_FACTORY, device_factory_interface_init))
-static void check_bluez_and_try_setup (NMBluezManager *self);
+#define NM_BLUEZ_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMBluezManager, NM_IS_BLUEZ_MANAGER)
-/**************************************************************************/
+/*****************************************************************************/
-G_MODULE_EXPORT NMDeviceFactory *
-nm_device_factory_create (GError **error)
-{
- return (NMDeviceFactory *) g_object_new (NM_TYPE_BLUEZ_MANAGER, NULL);
-}
+#define _NMLOG_DOMAIN LOGD_BT
+#define _NMLOG_PREFIX_NAME "bluez"
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ nm_log ((level), _NMLOG_DOMAIN, \
+ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ _NMLOG_PREFIX_NAME": " \
+ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } G_STMT_END
-/************************************************************************/
+/*****************************************************************************/
+
+static void check_bluez_and_try_setup (NMBluezManager *self);
+
+/*****************************************************************************/
struct AsyncData {
NMBluezManager *self;
@@ -382,12 +399,32 @@ start (NMDeviceFactory *factory)
check_bluez_and_try_setup (NM_BLUEZ_MANAGER (factory));
}
+static NMDevice *
+create_device (NMDeviceFactory *factory,
+ const char *iface,
+ const NMPlatformLink *plink,
+ NMConnection *connection,
+ gboolean *out_ignore)
+{
+ g_warn_if_fail (plink->type == NM_LINK_TYPE_BNEP);
+ *out_ignore = TRUE;
+ return NULL;
+}
+
NM_DEVICE_FACTORY_DECLARE_TYPES (
NM_DEVICE_FACTORY_DECLARE_LINK_TYPES (NM_LINK_TYPE_BNEP)
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_BLUETOOTH_SETTING_NAME)
)
-/*********************************************************************/
+/*****************************************************************************/
+
+static void
+nm_bluez_manager_init (NMBluezManager *self)
+{
+ NMBluezManagerPrivate *priv = NM_BLUEZ_MANAGER_GET_PRIVATE (self);
+
+ priv->settings = g_object_ref (NM_SETTINGS_GET);
+}
static void
dispose (GObject *object)
@@ -414,23 +451,11 @@ dispose (GObject *object)
}
static void
-nm_bluez_manager_init (NMBluezManager *self)
+nm_bluez_manager_class_init (NMBluezManagerClass *klass)
{
- NMBluezManagerPrivate *priv = NM_BLUEZ_MANAGER_GET_PRIVATE (self);
-
- priv->settings = g_object_ref (NM_SETTINGS_GET);
-}
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
-static NMDevice *
-create_device (NMDeviceFactory *factory,
- const char *iface,
- const NMPlatformLink *plink,
- NMConnection *connection,
- gboolean *out_ignore)
-{
- g_warn_if_fail (plink->type == NM_LINK_TYPE_BNEP);
- *out_ignore = TRUE;
- return NULL;
+ object_class->dispose = dispose;
}
static void
@@ -441,14 +466,10 @@ device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
factory_iface->start = start;
}
-static void
-nm_bluez_manager_class_init (NMBluezManagerClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+/*****************************************************************************/
- g_type_class_add_private (klass, sizeof (NMBluezManagerPrivate));
-
- /* virtual methods */
- object_class->dispose = dispose;
+G_MODULE_EXPORT NMDeviceFactory *
+nm_device_factory_create (GError **error)
+{
+ return (NMDeviceFactory *) g_object_new (NM_TYPE_BLUEZ_MANAGER, NULL);
}
-
diff --git a/src/devices/bluetooth/nm-bluez-manager.h b/src/devices/bluetooth/nm-bluez-manager.h
deleted file mode 100644
index d23b33a7d8..0000000000
--- a/src/devices/bluetooth/nm-bluez-manager.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager -- Network link manager
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2007 - 2008 Novell, Inc.
- * Copyright (C) 2007 - 2014 Red Hat, Inc.
- */
-
-#ifndef __NETWORKMANAGER_BLUEZ_MANAGER_H__
-#define __NETWORKMANAGER_BLUEZ_MANAGER_H__
-
-#define NM_TYPE_BLUEZ_MANAGER (nm_bluez_manager_get_type ())
-#define NM_BLUEZ_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_BLUEZ_MANAGER, NMBluezManager))
-
-#define NM_BLUEZ_MANAGER_BDADDR_ADDED "bdaddr-added"
-
-typedef struct {
- GObject parent;
-} NMBluezManager;
-
-typedef struct {
- GObjectClass parent;
-} NMBluezManagerClass;
-
-#endif /* __NETWORKMANAGER_BLUEZ_MANAGER_H__ */
-
diff --git a/src/devices/bluetooth/nm-bluez4-adapter.c b/src/devices/bluetooth/nm-bluez4-adapter.c
index 2ef071a8bf..dd684f29c2 100644
--- a/src/devices/bluetooth/nm-bluez4-adapter.c
+++ b/src/devices/bluetooth/nm-bluez4-adapter.c
@@ -30,9 +30,21 @@
#include "nm-core-internal.h"
#include "nm-settings.h"
-G_DEFINE_TYPE (NMBluez4Adapter, nm_bluez4_adapter, G_TYPE_OBJECT)
+/*****************************************************************************/
-#define NM_BLUEZ4_ADAPTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_BLUEZ4_ADAPTER, NMBluez4AdapterPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_PATH,
+ PROP_ADDRESS,
+);
+
+enum {
+ INITIALIZED,
+ DEVICE_ADDED,
+ DEVICE_REMOVED,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
typedef struct {
char *path;
@@ -46,26 +58,25 @@ typedef struct {
NMSettings *settings;
} NMBluez4AdapterPrivate;
-
-enum {
- PROP_0,
- PROP_PATH,
- PROP_ADDRESS,
-
- LAST_PROP
+struct _NMBluez4Adapter {
+ GObject parent;
+ NMBluez4AdapterPrivate _priv;
};
-/* Signals */
-enum {
- INITIALIZED,
- DEVICE_ADDED,
- DEVICE_REMOVED,
- LAST_SIGNAL
+struct _NMBluez4AdapterClass {
+ GObjectClass parent;
};
-static guint signals[LAST_SIGNAL] = { 0 };
+
+G_DEFINE_TYPE (NMBluez4Adapter, nm_bluez4_adapter, G_TYPE_OBJECT)
+
+#define NM_BLUEZ4_ADAPTER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMBluez4Adapter, NM_IS_BLUEZ4_ADAPTER)
+
+/*****************************************************************************/
static void device_do_remove (NMBluez4Adapter *self, NMBluezDevice *device);
+/*****************************************************************************/
+
const char *
nm_bluez4_adapter_get_path (NMBluez4Adapter *self)
{
@@ -233,7 +244,62 @@ query_properties (NMBluez4Adapter *self)
get_properties_cb, self);
}
-/***********************************************************/
+/*****************************************************************************/
+
+static gboolean
+_find_all (gpointer key, gpointer value, gpointer user_data)
+{
+ return TRUE;
+}
+
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ NMBluez4AdapterPrivate *priv = NM_BLUEZ4_ADAPTER_GET_PRIVATE ((NMBluez4Adapter *) object);
+
+ switch (prop_id) {
+ case PROP_PATH:
+ g_value_set_string (value, priv->path);
+ break;
+ case PROP_ADDRESS:
+ g_value_set_string (value, priv->address);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
+{
+ NMBluez4AdapterPrivate *priv = NM_BLUEZ4_ADAPTER_GET_PRIVATE ((NMBluez4Adapter *) object);
+
+ switch (prop_id) {
+ case PROP_PATH:
+ /* construct only */
+ priv->path = g_value_dup_string (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
+static void
+nm_bluez4_adapter_init (NMBluez4Adapter *self)
+{
+ NMBluez4AdapterPrivate *priv = NM_BLUEZ4_ADAPTER_GET_PRIVATE (self);
+
+ priv->devices = g_hash_table_new_full (g_str_hash, g_str_equal,
+ NULL, NULL);
+}
NMBluez4Adapter *
nm_bluez4_adapter_new (const char *path, NMSettings *settings)
@@ -267,21 +333,6 @@ nm_bluez4_adapter_new (const char *path, NMSettings *settings)
}
static void
-nm_bluez4_adapter_init (NMBluez4Adapter *self)
-{
- NMBluez4AdapterPrivate *priv = NM_BLUEZ4_ADAPTER_GET_PRIVATE (self);
-
- priv->devices = g_hash_table_new_full (g_str_hash, g_str_equal,
- NULL, NULL);
-}
-
-static gboolean
-_find_all (gpointer key, gpointer value, gpointer user_data)
-{
- return TRUE;
-}
-
-static void
dispose (GObject *object)
{
NMBluez4Adapter *self = NM_BLUEZ4_ADAPTER (object);
@@ -297,7 +348,7 @@ dispose (GObject *object)
static void
finalize (GObject *object)
{
- NMBluez4AdapterPrivate *priv = NM_BLUEZ4_ADAPTER_GET_PRIVATE (object);
+ NMBluez4AdapterPrivate *priv = NM_BLUEZ4_ADAPTER_GET_PRIVATE ((NMBluez4Adapter *) object);
g_hash_table_destroy (priv->devices);
g_free (priv->address);
@@ -310,74 +361,33 @@ finalize (GObject *object)
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMBluez4AdapterPrivate *priv = NM_BLUEZ4_ADAPTER_GET_PRIVATE (object);
-
- switch (prop_id) {
- case PROP_PATH:
- g_value_set_string (value, priv->path);
- break;
- case PROP_ADDRESS:
- g_value_set_string (value, priv->address);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- NMBluez4AdapterPrivate *priv = NM_BLUEZ4_ADAPTER_GET_PRIVATE (object);
-
- switch (prop_id) {
- case PROP_PATH:
- /* construct only */
- priv->path = g_value_dup_string (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
nm_bluez4_adapter_class_init (NMBluez4AdapterClass *config_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (config_class);
- g_type_class_add_private (config_class, sizeof (NMBluez4AdapterPrivate));
-
- /* virtual methods */
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->dispose = dispose;
object_class->finalize = finalize;
- /* Properties */
- g_object_class_install_property
- (object_class, PROP_PATH,
- g_param_spec_string (NM_BLUEZ4_ADAPTER_PATH, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_ADDRESS,
- g_param_spec_string (NM_BLUEZ4_ADAPTER_ADDRESS, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- /* Signals */
+ obj_properties[PROP_PATH] =
+ g_param_spec_string (NM_BLUEZ4_ADAPTER_PATH, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_ADDRESS] =
+ g_param_spec_string (NM_BLUEZ4_ADAPTER_ADDRESS, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
+
signals[INITIALIZED] = g_signal_new ("initialized",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMBluez4AdapterClass, initialized),
+ 0,
NULL, NULL,
g_cclosure_marshal_VOID__BOOLEAN,
G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
@@ -385,7 +395,7 @@ nm_bluez4_adapter_class_init (NMBluez4AdapterClass *config_class)
signals[DEVICE_ADDED] = g_signal_new ("device-added",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMBluez4AdapterClass, device_added),
+ 0,
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE, 1, G_TYPE_OBJECT);
@@ -393,7 +403,7 @@ nm_bluez4_adapter_class_init (NMBluez4AdapterClass *config_class)
signals[DEVICE_REMOVED] = g_signal_new ("device-removed",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMBluez4AdapterClass, device_removed),
+ 0,
NULL, NULL,
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE, 1, G_TYPE_OBJECT);
diff --git a/src/devices/bluetooth/nm-bluez4-adapter.h b/src/devices/bluetooth/nm-bluez4-adapter.h
index ee61112f2e..e240ec2ccb 100644
--- a/src/devices/bluetooth/nm-bluez4-adapter.h
+++ b/src/devices/bluetooth/nm-bluez4-adapter.h
@@ -33,20 +33,8 @@
#define NM_BLUEZ4_ADAPTER_PATH "path"
#define NM_BLUEZ4_ADAPTER_ADDRESS "address"
-typedef struct {
- GObject parent;
-} NMBluez4Adapter;
-
-typedef struct {
- GObjectClass parent;
-
- /* virtual functions */
- void (*initialized) (NMBluez4Adapter *self, gboolean success);
-
- void (*device_added) (NMBluez4Adapter *self, NMBluezDevice *device);
-
- void (*device_removed) (NMBluez4Adapter *self, NMBluezDevice *device);
-} NMBluez4AdapterClass;
+typedef struct _NMBluez4Adapter NMBluez4Adapter;
+typedef struct _NMBluez4AdapterClass NMBluez4AdapterClass;
GType nm_bluez4_adapter_get_type (void);
@@ -62,4 +50,3 @@ gboolean nm_bluez4_adapter_get_initialized (NMBluez4Adapter *self);
GSList *nm_bluez4_adapter_get_devices (NMBluez4Adapter *self);
#endif /* __NETWORKMANAGER_BLUEZ4_ADAPTER_H__ */
-
diff --git a/src/devices/bluetooth/nm-bluez4-manager.c b/src/devices/bluetooth/nm-bluez4-manager.c
index 36bc30e59c..78e892e40a 100644
--- a/src/devices/bluetooth/nm-bluez4-manager.c
+++ b/src/devices/bluetooth/nm-bluez4-manager.c
@@ -28,11 +28,19 @@
#include <stdlib.h>
#include "nm-bluez4-adapter.h"
-#include "nm-bluez-manager.h"
#include "nm-bluez-common.h"
#include "nm-core-internal.h"
#include "nm-settings.h"
+/*****************************************************************************/
+
+enum {
+ BDADDR_ADDED,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
typedef struct {
gulong name_owner_changed_id;
@@ -43,19 +51,22 @@ typedef struct {
NMBluez4Adapter *adapter;
} NMBluez4ManagerPrivate;
-#define NM_BLUEZ4_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_BLUEZ4_MANAGER, NMBluez4ManagerPrivate))
+struct _NMBluez4Manager {
+ GObject parent;
+ NMBluez4ManagerPrivate _priv;
+};
+
+struct _NMBluez4ManagerClass {
+ GObjectClass parent;
+};
G_DEFINE_TYPE (NMBluez4Manager, nm_bluez4_manager, G_TYPE_OBJECT)
-enum {
- BDADDR_ADDED,
- LAST_SIGNAL
-};
+#define NM_BLUEZ4_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMBluez4Manager, NM_IS_BLUEZ4_MANAGER)
-static guint signals[LAST_SIGNAL] = { 0 };
+/*****************************************************************************/
static void
-
emit_bdaddr_added (NMBluez4Manager *self, NMBluezDevice *device)
{
g_signal_emit (self, signals[BDADDR_ADDED], 0,
@@ -222,19 +233,7 @@ name_owner_changed_cb (GObject *object,
}
}
-/****************************************************************/
-
-NMBluez4Manager *
-nm_bluez4_manager_new (NMSettings *settings)
-{
- NMBluez4Manager *instance;
-
- g_return_val_if_fail (NM_IS_SETTINGS (settings), NULL);
-
- instance = g_object_new (NM_TYPE_BLUEZ4_MANAGER, NULL);
- NM_BLUEZ4_MANAGER_GET_PRIVATE (instance)->settings = g_object_ref (settings);
- return instance;
-}
+/*****************************************************************************/
static void
nm_bluez4_manager_init (NMBluez4Manager *self)
@@ -258,6 +257,18 @@ nm_bluez4_manager_init (NMBluez4Manager *self)
query_default_adapter (self);
}
+NMBluez4Manager *
+nm_bluez4_manager_new (NMSettings *settings)
+{
+ NMBluez4Manager *instance;
+
+ g_return_val_if_fail (NM_IS_SETTINGS (settings), NULL);
+
+ instance = g_object_new (NM_TYPE_BLUEZ4_MANAGER, NULL);
+ NM_BLUEZ4_MANAGER_GET_PRIVATE (instance)->settings = g_object_ref (settings);
+ return instance;
+}
+
static void
dispose (GObject *object)
{
@@ -277,19 +288,14 @@ nm_bluez4_manager_class_init (NMBluez4ManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMBluez4ManagerPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
- /* Signals */
signals[BDADDR_ADDED] =
- g_signal_new (NM_BLUEZ_MANAGER_BDADDR_ADDED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMBluez4ManagerClass, bdaddr_added),
- NULL, NULL, NULL,
- G_TYPE_NONE, 5, G_TYPE_OBJECT, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
+ g_signal_new (NM_BLUEZ_MANAGER_BDADDR_ADDED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 5, G_TYPE_OBJECT, G_TYPE_STRING,
+ G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
}
diff --git a/src/devices/bluetooth/nm-bluez4-manager.h b/src/devices/bluetooth/nm-bluez4-manager.h
index 8afe6924c7..f46379ffab 100644
--- a/src/devices/bluetooth/nm-bluez4-manager.h
+++ b/src/devices/bluetooth/nm-bluez4-manager.h
@@ -28,20 +28,8 @@
#define NM_IS_BLUEZ4_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_BLUEZ4_MANAGER))
#define NM_BLUEZ4_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_BLUEZ4_MANAGER, NMBluez4ManagerClass))
-typedef struct {
- GObject parent;
-} NMBluez4Manager;
-
-typedef struct {
- GObjectClass parent;
-
- /* Signals */
- void (*bdaddr_added) (NMBluez4Manager *manager,
- const char *bdaddr,
- const char *name,
- const char *object_path,
- guint uuids);
-} NMBluez4ManagerClass;
+typedef struct _NMBluez4Manager NMBluez4Manager;
+typedef struct _NMBluez4ManagerClass NMBluez4ManagerClass;
GType nm_bluez4_manager_get_type (void);
@@ -50,4 +38,3 @@ NMBluez4Manager *nm_bluez4_manager_new (NMSettings *settings);
void nm_bluez4_manager_query_devices (NMBluez4Manager *manager);
#endif /* __NETWORKMANAGER_BLUEZ4_MANAGER_H__ */
-
diff --git a/src/devices/bluetooth/nm-bluez5-manager.c b/src/devices/bluetooth/nm-bluez5-manager.c
index a014d0c124..9859f74bad 100644
--- a/src/devices/bluetooth/nm-bluez5-manager.c
+++ b/src/devices/bluetooth/nm-bluez5-manager.c
@@ -30,11 +30,19 @@
#include "nm-core-internal.h"
-#include "nm-bluez-manager.h"
#include "nm-bluez-device.h"
#include "nm-bluez-common.h"
#include "nm-settings.h"
+/*****************************************************************************/
+
+enum {
+ BDADDR_ADDED,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
typedef struct {
NMSettings *settings;
@@ -43,20 +51,26 @@ typedef struct {
GHashTable *devices;
} NMBluez5ManagerPrivate;
-#define NM_BLUEZ5_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_BLUEZ5_MANAGER, NMBluez5ManagerPrivate))
+struct _NMBluez5Manager {
+ GObject parent;
+ NMBluez5ManagerPrivate _priv;
+};
+
+struct _NMBluez5ManagerClass {
+ GObjectClass parent;
+};
G_DEFINE_TYPE (NMBluez5Manager, nm_bluez5_manager, G_TYPE_OBJECT)
-enum {
- BDADDR_ADDED,
- LAST_SIGNAL
-};
+#define NM_BLUEZ5_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMBluez5Manager, NM_IS_BLUEZ5_MANAGER)
-static guint signals[LAST_SIGNAL] = { 0 };
+/*****************************************************************************/
static void device_initialized (NMBluezDevice *device, gboolean success, NMBluez5Manager *self);
static void device_usable (NMBluezDevice *device, GParamSpec *pspec, NMBluez5Manager *self);
+/*****************************************************************************/
+
static void
emit_bdaddr_added (NMBluez5Manager *self, NMBluezDevice *device)
{
@@ -308,7 +322,18 @@ bluez_cleanup (NMBluez5Manager *self, gboolean do_signal)
g_hash_table_remove_all (priv->devices);
}
-/****************************************************************/
+/*****************************************************************************/
+
+static void
+nm_bluez5_manager_init (NMBluez5Manager *self)
+{
+ NMBluez5ManagerPrivate *priv = NM_BLUEZ5_MANAGER_GET_PRIVATE (self);
+
+ bluez_connect (self);
+
+ priv->devices = g_hash_table_new_full (g_str_hash, g_str_equal,
+ NULL, g_object_unref);
+}
NMBluez5Manager *
nm_bluez5_manager_new (NMSettings *settings)
@@ -323,17 +348,6 @@ nm_bluez5_manager_new (NMSettings *settings)
}
static void
-nm_bluez5_manager_init (NMBluez5Manager *self)
-{
- NMBluez5ManagerPrivate *priv = NM_BLUEZ5_MANAGER_GET_PRIVATE (self);
-
- bluez_connect (self);
-
- priv->devices = g_hash_table_new_full (g_str_hash, g_str_equal,
- NULL, g_object_unref);
-}
-
-static void
dispose (GObject *object)
{
NMBluez5Manager *self = NM_BLUEZ5_MANAGER (object);
@@ -346,7 +360,7 @@ dispose (GObject *object)
static void
finalize (GObject *object)
{
- NMBluez5ManagerPrivate *priv = NM_BLUEZ5_MANAGER_GET_PRIVATE (object);
+ NMBluez5ManagerPrivate *priv = NM_BLUEZ5_MANAGER_GET_PRIVATE ((NMBluez5Manager *) object);
g_hash_table_destroy (priv->devices);
@@ -360,19 +374,14 @@ nm_bluez5_manager_class_init (NMBluez5ManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMBluez5ManagerPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
object_class->finalize = finalize;
- /* Signals */
signals[BDADDR_ADDED] =
- g_signal_new (NM_BLUEZ_MANAGER_BDADDR_ADDED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMBluez5ManagerClass, bdaddr_added),
- NULL, NULL, NULL,
- G_TYPE_NONE, 5, G_TYPE_OBJECT, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
+ g_signal_new (NM_BLUEZ_MANAGER_BDADDR_ADDED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 5, G_TYPE_OBJECT, G_TYPE_STRING,
+ G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
}
diff --git a/src/devices/bluetooth/nm-bluez5-manager.h b/src/devices/bluetooth/nm-bluez5-manager.h
index 0e309d33a3..436944359b 100644
--- a/src/devices/bluetooth/nm-bluez5-manager.h
+++ b/src/devices/bluetooth/nm-bluez5-manager.h
@@ -29,20 +29,8 @@
#define NM_IS_BLUEZ5_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_BLUEZ5_MANAGER))
#define NM_BLUEZ5_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_BLUEZ5_MANAGER, NMBluez5ManagerClass))
-typedef struct {
- GObject parent;
-} NMBluez5Manager;
-
-typedef struct {
- GObjectClass parent;
-
- /* Signals */
- void (*bdaddr_added) (NMBluez5Manager *manager,
- const char *bdaddr,
- const char *name,
- const char *object_path,
- guint uuids);
-} NMBluez5ManagerClass;
+typedef struct _NMBluez5Manager NMBluez5Manager;
+typedef struct _NMBluez5ManagerClass NMBluez5ManagerClass;
GType nm_bluez5_manager_get_type (void);
@@ -51,4 +39,3 @@ NMBluez5Manager *nm_bluez5_manager_new (NMSettings *settings);
void nm_bluez5_manager_query_devices (NMBluez5Manager *manager);
#endif /* __NETWORKMANAGER_BLUEZ5_MANAGER_H__ */
-
diff --git a/src/devices/bluetooth/nm-device-bt.c b/src/devices/bluetooth/nm-device-bt.c
index 77b4c667b9..a36681c4a3 100644
--- a/src/devices/bluetooth/nm-device-bt.c
+++ b/src/devices/bluetooth/nm-device-bt.c
@@ -44,18 +44,27 @@
#include "nmdbus-device-bt.h"
+#include "nm-device-logging.h"
+_LOG_DECLARE_SELF(NMDeviceBt);
+
#define MM_DBUS_SERVICE "org.freedesktop.ModemManager1"
#define MM_DBUS_PATH "/org/freedesktop/ModemManager1"
#define MM_DBUS_INTERFACE "org.freedesktop.ModemManager1"
-#include "nm-device-logging.h"
-_LOG_DECLARE_SELF(NMDeviceBt);
+/*****************************************************************************/
-G_DEFINE_TYPE (NMDeviceBt, nm_device_bt, NM_TYPE_DEVICE)
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_BT_NAME,
+ PROP_BT_CAPABILITIES,
+ PROP_BT_DEVICE,
+);
-#define NM_DEVICE_BT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_BT, NMDeviceBtPrivate))
+enum {
+ PPP_STATS,
+ LAST_SIGNAL,
+};
-static gboolean modem_stage1 (NMDeviceBt *self, NMModem *modem, NMDeviceStateReason *reason);
+static guint signals[LAST_SIGNAL] = { 0 };
typedef struct {
GDBusProxy *mm_proxy;
@@ -77,22 +86,24 @@ typedef struct {
guint32 bt_type; /* BT type of the current connection */
} NMDeviceBtPrivate;
-enum {
- PROP_0,
- PROP_BT_NAME,
- PROP_BT_CAPABILITIES,
- PROP_BT_DEVICE,
+struct _NMDeviceBt {
+ NMDevice parent;
+ NMDeviceBtPrivate _priv;
+};
- LAST_PROP
+struct _NMDeviceBtClass {
+ NMDeviceClass parent;
};
-enum {
- PPP_STATS,
+G_DEFINE_TYPE (NMDeviceBt, nm_device_bt, NM_TYPE_DEVICE)
- LAST_SIGNAL
-};
-static guint signals[LAST_SIGNAL] = { 0 };
+#define NM_DEVICE_BT_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceBt, NM_IS_DEVICE_BT)
+/*****************************************************************************/
+
+static gboolean modem_stage1 (NMDeviceBt *self, NMModem *modem, NMDeviceStateReason *reason);
+
+/*****************************************************************************/
guint32 nm_device_bt_get_capabilities (NMDeviceBt *self)
{
@@ -133,7 +144,7 @@ can_auto_connect (NMDevice *device,
NMConnection *connection,
char **specific_object)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) device);
guint32 bt_type;
nm_assert (!specific_object || !*specific_object);
@@ -152,7 +163,7 @@ can_auto_connect (NMDevice *device,
static gboolean
check_connection_compatible (NMDevice *device, NMConnection *connection)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) device);
NMSettingConnection *s_con;
NMSettingBluetooth *s_bt;
const char *bdaddr;
@@ -190,7 +201,7 @@ check_connection_available (NMDevice *device,
NMDeviceCheckConAvailableFlags flags,
const char *specific_object)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) device);
guint32 bt_type;
bt_type = get_connection_bt_type (connection);
@@ -211,7 +222,7 @@ complete_connection (NMDevice *device,
const GSList *existing_connections,
GError **error)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) device);
NMSettingBluetooth *s_bt;
const char *setting_bdaddr;
const char *ctype;
@@ -420,7 +431,7 @@ static void
modem_auth_result (NMModem *modem, GError *error, gpointer user_data)
{
NMDevice *device = NM_DEVICE (user_data);
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) device);
NMDeviceStateReason reason = NM_DEVICE_STATE_REASON_NONE;
if (error) {
@@ -488,7 +499,7 @@ device_state_changed (NMDevice *device,
NMDeviceState old_state,
NMDeviceStateReason reason)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) device);
if (priv->modem)
nm_modem_device_state_changed (priv->modem, new_state, old_state, reason);
@@ -828,7 +839,7 @@ static NMActStageReturn
act_stage2_config (NMDevice *device, NMDeviceStateReason *reason)
{
NMDeviceBt *self = NM_DEVICE_BT (device);
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (self);
NMConnection *connection;
connection = nm_device_get_applied_connection (device);
@@ -863,11 +874,11 @@ act_stage3_ip4_config_start (NMDevice *device,
NMIP4Config **out_config,
NMDeviceStateReason *reason)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) device);
NMActStageReturn ret;
if (priv->bt_type == NM_BT_CAPABILITY_DUN) {
- ret = nm_modem_stage3_ip4_config_start (NM_DEVICE_BT_GET_PRIVATE (device)->modem,
+ ret = nm_modem_stage3_ip4_config_start (priv->modem,
device,
NM_DEVICE_CLASS (nm_device_bt_parent_class),
reason);
@@ -882,11 +893,11 @@ act_stage3_ip6_config_start (NMDevice *device,
NMIP6Config **out_config,
NMDeviceStateReason *reason)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) device);
NMActStageReturn ret;
if (priv->bt_type == NM_BT_CAPABILITY_DUN) {
- ret = nm_modem_stage3_ip6_config_start (NM_DEVICE_BT_GET_PRIVATE (device)->modem,
+ ret = nm_modem_stage3_ip6_config_start (priv->modem,
nm_device_get_act_request (device),
reason);
} else
@@ -898,7 +909,7 @@ act_stage3_ip6_config_start (NMDevice *device,
static void
deactivate (NMDevice *device)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (device);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) device);
priv->have_iface = FALSE;
priv->connected = FALSE;
@@ -987,32 +998,56 @@ mm_name_owner_changed (GObject *object,
/*****************************************************************************/
-NMDevice *
-nm_device_bt_new (NMBluezDevice *bt_device,
- const char *udi,
- const char *bdaddr,
- const char *name,
- guint32 capabilities)
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
{
- g_return_val_if_fail (udi != NULL, NULL);
- g_return_val_if_fail (bdaddr != NULL, NULL);
- g_return_val_if_fail (name != NULL, NULL);
- g_return_val_if_fail (capabilities != NM_BT_CAPABILITY_NONE, NULL);
- g_return_val_if_fail (NM_IS_BLUEZ_DEVICE (bt_device), NULL);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) object);
- return (NMDevice *) g_object_new (NM_TYPE_DEVICE_BT,
- NM_DEVICE_UDI, udi,
- NM_DEVICE_IFACE, bdaddr,
- NM_DEVICE_DRIVER, "bluez",
- NM_DEVICE_PERM_HW_ADDRESS, bdaddr,
- NM_DEVICE_BT_DEVICE, bt_device,
- NM_DEVICE_BT_NAME, name,
- NM_DEVICE_BT_CAPABILITIES, capabilities,
- NM_DEVICE_TYPE_DESC, "Bluetooth",
- NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_BT,
- NULL);
+ switch (prop_id) {
+ case PROP_BT_NAME:
+ g_value_set_string (value, priv->name);
+ break;
+ case PROP_BT_CAPABILITIES:
+ g_value_set_uint (value, priv->capabilities);
+ break;
+ case PROP_BT_DEVICE:
+ g_value_set_object (value, priv->bt_device);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
+{
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) object);
+
+ switch (prop_id) {
+ case PROP_BT_NAME:
+ /* Construct only */
+ priv->name = g_value_dup_string (value);
+ break;
+ case PROP_BT_CAPABILITIES:
+ /* Construct only */
+ priv->capabilities = g_value_get_uint (value);
+ break;
+ case PROP_BT_DEVICE:
+ /* Construct only */
+ priv->bt_device = g_value_dup_object (value);
+ g_signal_connect (priv->bt_device, "removed", G_CALLBACK (bluez_device_removed), object);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
}
+/*****************************************************************************/
+
static void
nm_device_bt_init (NMDeviceBt *self)
{
@@ -1043,7 +1078,7 @@ nm_device_bt_init (NMDeviceBt *self)
static void
constructed (GObject *object)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (object);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) object);
const char *my_hwaddr;
G_OBJECT_CLASS (nm_device_bt_parent_class)->constructed (object);
@@ -1058,58 +1093,36 @@ constructed (GObject *object)
object);
}
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (object);
-
- switch (prop_id) {
- case PROP_BT_NAME:
- /* Construct only */
- priv->name = g_value_dup_string (value);
- break;
- case PROP_BT_CAPABILITIES:
- /* Construct only */
- priv->capabilities = g_value_get_uint (value);
- break;
- case PROP_BT_DEVICE:
- /* Construct only */
- priv->bt_device = g_value_dup_object (value);
- g_signal_connect (priv->bt_device, "removed", G_CALLBACK (bluez_device_removed), object);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
+NMDevice *
+nm_device_bt_new (NMBluezDevice *bt_device,
+ const char *udi,
+ const char *bdaddr,
+ const char *name,
+ guint32 capabilities)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (object);
+ g_return_val_if_fail (udi != NULL, NULL);
+ g_return_val_if_fail (bdaddr != NULL, NULL);
+ g_return_val_if_fail (name != NULL, NULL);
+ g_return_val_if_fail (capabilities != NM_BT_CAPABILITY_NONE, NULL);
+ g_return_val_if_fail (NM_IS_BLUEZ_DEVICE (bt_device), NULL);
- switch (prop_id) {
- case PROP_BT_NAME:
- g_value_set_string (value, priv->name);
- break;
- case PROP_BT_CAPABILITIES:
- g_value_set_uint (value, priv->capabilities);
- break;
- case PROP_BT_DEVICE:
- g_value_set_object (value, priv->bt_device);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+ return (NMDevice *) g_object_new (NM_TYPE_DEVICE_BT,
+ NM_DEVICE_UDI, udi,
+ NM_DEVICE_IFACE, bdaddr,
+ NM_DEVICE_DRIVER, "bluez",
+ NM_DEVICE_PERM_HW_ADDRESS, bdaddr,
+ NM_DEVICE_BT_DEVICE, bt_device,
+ NM_DEVICE_BT_NAME, name,
+ NM_DEVICE_BT_CAPABILITIES, capabilities,
+ NM_DEVICE_TYPE_DESC, "Bluetooth",
+ NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_BT,
+ NULL);
}
static void
dispose (GObject *object)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (object);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) object);
nm_clear_g_source (&priv->timeout_id);
@@ -1129,7 +1142,7 @@ dispose (GObject *object)
static void
finalize (GObject *object)
{
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (object);
+ NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE ((NMDeviceBt *) object);
g_free (priv->rfcomm_iface);
g_free (priv->name);
@@ -1144,8 +1157,6 @@ nm_device_bt_class_init (NMDeviceBtClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *device_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMDeviceBtPrivate));
-
object_class->constructed = constructed;
object_class->get_property = get_property;
object_class->set_property = set_property;
@@ -1166,37 +1177,33 @@ nm_device_bt_class_init (NMDeviceBtClass *klass)
device_class->state_changed = device_state_changed;
- /* Properties */
- g_object_class_install_property
- (object_class, PROP_BT_NAME,
- g_param_spec_string (NM_DEVICE_BT_NAME, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_BT_CAPABILITIES,
- g_param_spec_uint (NM_DEVICE_BT_CAPABILITIES, "", "",
- NM_BT_CAPABILITY_NONE, G_MAXUINT, NM_BT_CAPABILITY_NONE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_BT_DEVICE,
- g_param_spec_object (NM_DEVICE_BT_DEVICE, "", "",
- NM_TYPE_BLUEZ_DEVICE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- /* Signals */
+ obj_properties[PROP_BT_NAME] =
+ g_param_spec_string (NM_DEVICE_BT_NAME, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_BT_CAPABILITIES] =
+ g_param_spec_uint (NM_DEVICE_BT_CAPABILITIES, "", "",
+ NM_BT_CAPABILITY_NONE, G_MAXUINT, NM_BT_CAPABILITY_NONE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_BT_DEVICE] =
+ g_param_spec_object (NM_DEVICE_BT_DEVICE, "", "",
+ NM_TYPE_BLUEZ_DEVICE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
+
signals[PPP_STATS] =
- g_signal_new ("ppp-stats",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMDeviceBtClass, ppp_stats),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2,
- G_TYPE_UINT, G_TYPE_UINT);
+ g_signal_new ("ppp-stats",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 2,
+ G_TYPE_UINT, G_TYPE_UINT);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_BLUETOOTH_SKELETON,
diff --git a/src/devices/bluetooth/nm-device-bt.h b/src/devices/bluetooth/nm-device-bt.h
index c97cca0137..2308f0e8a3 100644
--- a/src/devices/bluetooth/nm-device-bt.h
+++ b/src/devices/bluetooth/nm-device-bt.h
@@ -25,27 +25,19 @@
#include "nm-bluez-device.h"
#include "nm-modem.h"
-#define NM_TYPE_DEVICE_BT (nm_device_bt_get_type ())
-#define NM_DEVICE_BT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_BT, NMDeviceBt))
-#define NM_DEVICE_BT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DEVICE_BT, NMDeviceBtClass))
-#define NM_IS_DEVICE_BT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DEVICE_BT))
-#define NM_IS_DEVICE_BT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DEVICE_BT))
-#define NM_DEVICE_BT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_BT, NMDeviceBtClass))
+#define NM_TYPE_DEVICE_BT (nm_device_bt_get_type ())
+#define NM_DEVICE_BT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_BT, NMDeviceBt))
+#define NM_DEVICE_BT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DEVICE_BT, NMDeviceBtClass))
+#define NM_IS_DEVICE_BT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DEVICE_BT))
+#define NM_IS_DEVICE_BT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DEVICE_BT))
+#define NM_DEVICE_BT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_BT, NMDeviceBtClass))
#define NM_DEVICE_BT_NAME "name"
#define NM_DEVICE_BT_CAPABILITIES "bt-capabilities"
#define NM_DEVICE_BT_DEVICE "bt-device"
-typedef struct {
- NMDevice parent;
-} NMDeviceBt;
-
-typedef struct {
- NMDeviceClass parent;
-
- /* Signals */
- void (*ppp_stats) (NMDeviceBt *device, guint32 in_bytes, guint32 out_bytes);
-} NMDeviceBtClass;
+typedef struct _NMDeviceBt NMDeviceBt;
+typedef struct _NMDeviceBtClass NMDeviceBtClass;
GType nm_device_bt_get_type (void);
diff --git a/src/devices/nm-arping-manager.c b/src/devices/nm-arping-manager.c
index dfb20b4b51..0d3a3ea692 100644
--- a/src/devices/nm-arping-manager.c
+++ b/src/devices/nm-arping-manager.c
@@ -16,15 +16,18 @@
#include "nm-default.h"
+#include "nm-arping-manager.h"
+
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/wait.h>
-#include "nm-arping-manager.h"
#include "nm-platform.h"
#include "nm-utils.h"
#include "NetworkManagerUtils.h"
+/*****************************************************************************/
+
typedef enum {
STATE_INIT,
STATE_PROBING,
@@ -33,15 +36,6 @@ typedef enum {
} State;
typedef struct {
- int ifindex;
- State state;
- GHashTable *addresses;
- guint completed;
- guint timer;
- guint round2_id;
-} NMArpingManagerPrivate;
-
-typedef struct {
in_addr_t address;
GPid pid;
guint watch;
@@ -49,15 +43,38 @@ typedef struct {
NMArpingManager *manager;
} AddressInfo;
+/*****************************************************************************/
+
enum {
PROBE_TERMINATED,
LAST_SIGNAL,
};
+
static guint signals[LAST_SIGNAL] = { 0 };
+typedef struct {
+ int ifindex;
+ State state;
+ GHashTable *addresses;
+ guint completed;
+ guint timer;
+ guint round2_id;
+} NMArpingManagerPrivate;
+
+struct _NMArpingManager {
+ GObject parent;
+ NMArpingManagerPrivate _priv;
+};
+
+struct _NMArpingManagerClass {
+ GObjectClass parent;
+};
+
G_DEFINE_TYPE (NMArpingManager, nm_arping_manager, G_TYPE_OBJECT)
-#define NM_ARPING_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_ARPING_MANAGER, NMArpingManagerPrivate))
+#define NM_ARPING_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMArpingManager, NM_IS_ARPING_MANAGER)
+
+/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_IP4
#define _NMLOG_PREFIX_NAME "arping"
@@ -74,6 +91,8 @@ G_DEFINE_TYPE (NMArpingManager, nm_arping_manager, G_TYPE_OBJECT)
_NM_UTILS_MACRO_REST (__VA_ARGS__)); \
} G_STMT_END
+/*****************************************************************************/
+
/**
* nm_arping_manager_add_address:
* @self: a #NMArpingManager
@@ -350,7 +369,7 @@ send_announcements (NMArpingManager *self, const char *mode_arg)
static gboolean
arp_announce_round2 (gpointer self)
{
- NMArpingManagerPrivate *priv = NM_ARPING_MANAGER_GET_PRIVATE (self);
+ NMArpingManagerPrivate *priv = NM_ARPING_MANAGER_GET_PRIVATE ((NMArpingManager *) self);
priv->round2_id = 0;
send_announcements (self, "-U");
@@ -395,18 +414,7 @@ destroy_address_info (gpointer data)
g_slice_free (AddressInfo, info);
}
-static void
-dispose (GObject *object)
-{
- NMArpingManager *self = NM_ARPING_MANAGER (object);
- NMArpingManagerPrivate *priv = NM_ARPING_MANAGER_GET_PRIVATE (self);
-
- nm_clear_g_source (&priv->timer);
- nm_clear_g_source (&priv->round2_id);
- g_clear_pointer (&priv->addresses, g_hash_table_destroy);
-
- G_OBJECT_CLASS (nm_arping_manager_parent_class)->dispose (object);
-}
+/*****************************************************************************/
static void
nm_arping_manager_init (NMArpingManager *self)
@@ -427,23 +435,33 @@ nm_arping_manager_new (int ifindex)
self = g_object_new (NM_TYPE_ARPING_MANAGER, NULL);
priv = NM_ARPING_MANAGER_GET_PRIVATE (self);
priv->ifindex = ifindex;
-
return self;
}
static void
+dispose (GObject *object)
+{
+ NMArpingManager *self = NM_ARPING_MANAGER (object);
+ NMArpingManagerPrivate *priv = NM_ARPING_MANAGER_GET_PRIVATE (self);
+
+ nm_clear_g_source (&priv->timer);
+ nm_clear_g_source (&priv->round2_id);
+ g_clear_pointer (&priv->addresses, g_hash_table_destroy);
+
+ G_OBJECT_CLASS (nm_arping_manager_parent_class)->dispose (object);
+}
+
+static void
nm_arping_manager_class_init (NMArpingManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMArpingManagerPrivate));
-
object_class->dispose = dispose;
signals[PROBE_TERMINATED] =
- g_signal_new (NM_ARPING_MANAGER_PROBE_TERMINATED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- 0, NULL, NULL, NULL,
- G_TYPE_NONE, 0);
+ g_signal_new (NM_ARPING_MANAGER_PROBE_TERMINATED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
}
diff --git a/src/devices/nm-arping-manager.h b/src/devices/nm-arping-manager.h
index 78965a0df2..c8a86af030 100644
--- a/src/devices/nm-arping-manager.h
+++ b/src/devices/nm-arping-manager.h
@@ -28,13 +28,7 @@
#define NM_ARPING_MANAGER_PROBE_TERMINATED "probe-terminated"
-struct _NMArpingManager {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-} NMArpingManagerClass;
+typedef struct _NMArpingManagerClass NMArpingManagerClass;
GType nm_arping_manager_get_type (void);
diff --git a/src/devices/nm-device-bond.c b/src/devices/nm-device-bond.c
index 3f17849b0a..6d3a2facad 100644
--- a/src/devices/nm-device-bond.c
+++ b/src/devices/nm-device-bond.c
@@ -20,10 +20,11 @@
#include "nm-default.h"
+#include "nm-device-bond.h"
+
#include <errno.h>
#include <stdlib.h>
-#include "nm-device-bond.h"
#include "NetworkManagerUtils.h"
#include "nm-device-private.h"
#include "nm-platform.h"
@@ -37,15 +38,19 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceBond);
-G_DEFINE_TYPE (NMDeviceBond, nm_device_bond, NM_TYPE_DEVICE)
+/*****************************************************************************/
-#define NM_DEVICE_BOND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_BOND, NMDeviceBondPrivate))
+struct _NMDeviceBond {
+ NMDevice parent;
+};
-typedef struct {
- int dummy;
-} NMDeviceBondPrivate;
+struct _NMDeviceBondClass {
+ NMDeviceClass parent;
+};
-/******************************************************************/
+G_DEFINE_TYPE (NMDeviceBond, nm_device_bond, NM_TYPE_DEVICE)
+
+/*****************************************************************************/
static NMDeviceCapabilities
get_generic_capabilities (NMDevice *dev)
@@ -115,7 +120,7 @@ complete_connection (NMDevice *device,
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
set_bond_attr (NMDevice *device, NMBondMode mode, const char *attr, const char *value)
@@ -482,7 +487,7 @@ create_and_realize (NMDevice *device,
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_device_bond_init (NMDeviceBond * self)
@@ -492,11 +497,8 @@ nm_device_bond_init (NMDeviceBond * self)
static void
nm_device_bond_class_init (NMDeviceBondClass *klass)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMDeviceBondPrivate));
-
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NM_SETTING_BOND_SETTING_NAME, NM_LINK_TYPE_BOND)
parent_class->get_generic_capabilities = get_generic_capabilities;
@@ -519,7 +521,7 @@ nm_device_bond_class_init (NMDeviceBondClass *klass)
NULL);
}
-/*************************************************************/
+/*****************************************************************************/
#define NM_TYPE_BOND_FACTORY (nm_bond_factory_get_type ())
#define NM_BOND_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_BOND_FACTORY, NMBondFactory))
@@ -545,5 +547,4 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (BOND, Bond, bond,
NM_DEVICE_FACTORY_DECLARE_LINK_TYPES (NM_LINK_TYPE_BOND)
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_BOND_SETTING_NAME),
factory_iface->create_device = create_device;
- )
-
+);
diff --git a/src/devices/nm-device-bond.h b/src/devices/nm-device-bond.h
index 02b6c8e540..b4e9b0e883 100644
--- a/src/devices/nm-device-bond.h
+++ b/src/devices/nm-device-bond.h
@@ -30,8 +30,8 @@
#define NM_IS_DEVICE_BOND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DEVICE_BOND))
#define NM_DEVICE_BOND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_BOND, NMDeviceBondClass))
-typedef NMDevice NMDeviceBond;
-typedef NMDeviceClass NMDeviceBondClass;
+typedef struct _NMDeviceBond NMDeviceBond;
+typedef struct _NMDeviceBondClass NMDeviceBondClass;
GType nm_device_bond_get_type (void);
diff --git a/src/devices/nm-device-bridge.c b/src/devices/nm-device-bridge.c
index c35d286396..f5c236bd80 100644
--- a/src/devices/nm-device-bridge.c
+++ b/src/devices/nm-device-bridge.c
@@ -20,9 +20,10 @@
#include "nm-default.h"
+#include "nm-device-bridge.h"
+
#include <stdlib.h>
-#include "nm-device-bridge.h"
#include "NetworkManagerUtils.h"
#include "nm-device-private.h"
#include "nm-enum-types.h"
@@ -35,15 +36,19 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceBridge);
-G_DEFINE_TYPE (NMDeviceBridge, nm_device_bridge, NM_TYPE_DEVICE)
+/*****************************************************************************/
-#define NM_DEVICE_BRIDGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_BRIDGE, NMDeviceBridgePrivate))
+struct _NMDeviceBridge {
+ NMDevice parent;
+};
-typedef struct {
- int dummy;
-} NMDeviceBridgePrivate;
+struct _NMDeviceBridgeClass {
+ NMDeviceClass parent;
+};
+
+G_DEFINE_TYPE (NMDeviceBridge, nm_device_bridge, NM_TYPE_DEVICE)
-/******************************************************************/
+/*****************************************************************************/
static NMDeviceCapabilities
get_generic_capabilities (NMDevice *dev)
@@ -121,7 +126,7 @@ complete_connection (NMDevice *device,
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
typedef struct {
const char *name;
@@ -411,7 +416,7 @@ create_and_realize (NMDevice *device,
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_device_bridge_init (NMDeviceBridge * self)
@@ -421,11 +426,8 @@ nm_device_bridge_init (NMDeviceBridge * self)
static void
nm_device_bridge_class_init (NMDeviceBridgeClass *klass)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMDeviceBridgePrivate));
-
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NM_SETTING_BRIDGE_SETTING_NAME, NM_LINK_TYPE_BRIDGE)
parent_class->get_generic_capabilities = get_generic_capabilities;
@@ -447,7 +449,7 @@ nm_device_bridge_class_init (NMDeviceBridgeClass *klass)
NULL);
}
-/*************************************************************/
+/*****************************************************************************/
#define NM_TYPE_BRIDGE_FACTORY (nm_bridge_factory_get_type ())
#define NM_BRIDGE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_BRIDGE_FACTORY, NMBridgeFactory))
@@ -473,5 +475,4 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (BRIDGE, Bridge, bridge,
NM_DEVICE_FACTORY_DECLARE_LINK_TYPES (NM_LINK_TYPE_BRIDGE)
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_BRIDGE_SETTING_NAME),
factory_iface->create_device = create_device;
- )
-
+);
diff --git a/src/devices/nm-device-bridge.h b/src/devices/nm-device-bridge.h
index 05da9ed751..f0fa1f4b64 100644
--- a/src/devices/nm-device-bridge.h
+++ b/src/devices/nm-device-bridge.h
@@ -30,8 +30,8 @@
#define NM_IS_DEVICE_BRIDGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DEVICE_BRIDGE))
#define NM_DEVICE_BRIDGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_BRIDGE, NMDeviceBridgeClass))
-typedef NMDevice NMDeviceBridge;
-typedef NMDeviceClass NMDeviceBridgeClass;
+typedef struct _NMDeviceBridge NMDeviceBridge;
+typedef struct _NMDeviceBridgeClass NMDeviceBridgeClass;
GType nm_device_bridge_get_type (void);
diff --git a/src/devices/nm-device-ethernet.c b/src/devices/nm-device-ethernet.c
index b213a0ccfc..fd80a607a2 100644
--- a/src/devices/nm-device-ethernet.c
+++ b/src/devices/nm-device-ethernet.c
@@ -32,12 +32,14 @@
#include <gudev/gudev.h>
#include "nm-device-private.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
+#include "nm-ip4-config.h"
#include "NetworkManagerUtils.h"
#include "nm-supplicant-manager.h"
#include "nm-supplicant-interface.h"
#include "nm-supplicant-config.h"
#include "ppp-manager/nm-ppp-manager.h"
+#include "ppp-manager/nm-ppp-status.h"
#include "nm-enum-types.h"
#include "nm-platform.h"
#include "nm-platform-utils.h"
@@ -955,7 +957,7 @@ pppoe_stage3_ip4_config_start (NMDeviceEthernet *self, NMDeviceStateReason *reas
return ret;
}
-/****************************************************************/
+/*****************************************************************************/
static void dcb_state (NMDevice *device, gboolean timeout);
@@ -1123,7 +1125,7 @@ dcb_carrier_changed (NMDevice *device, GParamSpec *pspec, gpointer unused)
}
}
-/****************************************************************/
+/*****************************************************************************/
static gboolean
wake_on_lan_enable (NMDevice *device)
@@ -1164,7 +1166,7 @@ found:
return nm_platform_ethtool_set_wake_on_lan (NM_PLATFORM_GET, nm_device_get_iface (device), wol, password);
}
-/****************************************************************/
+/*****************************************************************************/
static NMActStageReturn
act_stage2_config (NMDevice *device, NMDeviceStateReason *reason)
@@ -1633,7 +1635,6 @@ nm_device_ethernet_class_init (NMDeviceEthernetClass *klass)
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NM_SETTING_WIRED_SETTING_NAME, NM_LINK_TYPE_ETHERNET)
- /* virtual methods */
object_class->constructed = constructed;
object_class->dispose = dispose;
object_class->finalize = finalize;
@@ -1677,7 +1678,7 @@ nm_device_ethernet_class_init (NMDeviceEthernetClass *klass)
NULL);
}
-/*************************************************************/
+/*****************************************************************************/
#define NM_TYPE_ETHERNET_FACTORY (nm_ethernet_factory_get_type ())
#define NM_ETHERNET_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_ETHERNET_FACTORY, NMEthernetFactory))
diff --git a/src/devices/nm-device-ethernet.h b/src/devices/nm-device-ethernet.h
index 3ce6f0ca4b..a50a7d851b 100644
--- a/src/devices/nm-device-ethernet.h
+++ b/src/devices/nm-device-ethernet.h
@@ -42,7 +42,7 @@ typedef struct {
} NMDeviceEthernet;
typedef struct {
- NMDeviceClass parent_class;
+ NMDeviceClass parent;
} NMDeviceEthernetClass;
GType nm_device_ethernet_get_type (void);
diff --git a/src/devices/nm-device-factory.c b/src/devices/nm-device-factory.c
index 7873756f9e..840328437c 100644
--- a/src/devices/nm-device-factory.c
+++ b/src/devices/nm-device-factory.c
@@ -213,7 +213,7 @@ nm_device_factory_get_connection_iface (NMDeviceFactory *factory,
return ifname;
}
-/*******************************************************************/
+/*****************************************************************************/
static void
nm_device_factory_default_init (NMDeviceFactoryInterface *factory_iface)
@@ -234,7 +234,7 @@ nm_device_factory_default_init (NMDeviceFactoryInterface *factory_iface)
G_TYPE_BOOLEAN, 1, G_TYPE_OBJECT);
}
-/*******************************************************************/
+/*****************************************************************************/
static GSList *internal_types = NULL;
static GHashTable *factories_by_link = NULL;
diff --git a/src/devices/nm-device-factory.h b/src/devices/nm-device-factory.h
index 4a62468c88..0179e85534 100644
--- a/src/devices/nm-device-factory.h
+++ b/src/devices/nm-device-factory.h
@@ -48,7 +48,7 @@ NMDeviceFactory *nm_device_factory_create (GError **error);
/* Should match nm_device_factory_create() */
typedef NMDeviceFactory * (*NMDeviceFactoryCreateFunc) (GError **error);
-/********************************************************************/
+/*****************************************************************************/
#define NM_TYPE_DEVICE_FACTORY (nm_device_factory_get_type ())
#define NM_DEVICE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_FACTORY, NMDeviceFactory))
diff --git a/src/devices/nm-device-generic.c b/src/devices/nm-device-generic.c
index a0ce8a0494..dc8828a96d 100644
--- a/src/devices/nm-device-generic.c
+++ b/src/devices/nm-device-generic.c
@@ -21,6 +21,7 @@
#include "nm-default.h"
#include "nm-device-generic.h"
+
#include "nm-device-private.h"
#include "nm-enum-types.h"
#include "nm-platform.h"
@@ -28,21 +29,31 @@
#include "nmdbus-device-generic.h"
-G_DEFINE_TYPE (NMDeviceGeneric, nm_device_generic, NM_TYPE_DEVICE)
+/*****************************************************************************/
-#define NM_DEVICE_GENERIC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_GENERIC, NMDeviceGenericPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_TYPE_DESCRIPTION,
+);
typedef struct {
char *type_description;
} NMDeviceGenericPrivate;
-enum {
- PROP_0,
- PROP_TYPE_DESCRIPTION,
+struct _NMDeviceGeneric {
+ NMDevice parent;
+ NMDeviceGenericPrivate _priv;
+};
- LAST_PROP
+struct _NMDeviceGenericClass {
+ NMDeviceClass parent;
};
+G_DEFINE_TYPE (NMDeviceGeneric, nm_device_generic, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_GENERIC_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceGeneric, NM_IS_DEVICE_GENERIC)
+
+/*****************************************************************************/
+
static NMDeviceCapabilities
get_generic_capabilities (NMDevice *dev)
{
@@ -55,8 +66,8 @@ get_generic_capabilities (NMDevice *dev)
static const char *
get_type_description (NMDevice *device)
{
- if (NM_DEVICE_GENERIC_GET_PRIVATE (device)->type_description)
- return NM_DEVICE_GENERIC_GET_PRIVATE (device)->type_description;
+ if (NM_DEVICE_GENERIC_GET_PRIVATE ((NMDeviceGeneric *) device)->type_description)
+ return NM_DEVICE_GENERIC_GET_PRIVATE ((NMDeviceGeneric *) device)->type_description;
return NM_DEVICE_CLASS (nm_device_generic_parent_class)->get_type_description (device);
}
@@ -108,21 +119,44 @@ update_connection (NMDevice *device, NMConnection *connection)
NULL);
}
-/**************************************************************/
+/*****************************************************************************/
-NMDevice *
-nm_device_generic_new (const NMPlatformLink *plink, gboolean nm_plugin_missing)
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
{
- g_return_val_if_fail (plink != NULL, NULL);
+ NMDeviceGeneric *self = NM_DEVICE_GENERIC (object);
+ NMDeviceGenericPrivate *priv = NM_DEVICE_GENERIC_GET_PRIVATE (self);
- return (NMDevice *) g_object_new (NM_TYPE_DEVICE_GENERIC,
- NM_DEVICE_IFACE, plink->name,
- NM_DEVICE_TYPE_DESC, "Generic",
- NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_GENERIC,
- NM_DEVICE_NM_PLUGIN_MISSING, nm_plugin_missing,
- NULL);
+ switch (prop_id) {
+ case PROP_TYPE_DESCRIPTION:
+ g_value_set_string (value, priv->type_description);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
+{
+ NMDeviceGeneric *self = NM_DEVICE_GENERIC (object);
+ NMDeviceGenericPrivate *priv = NM_DEVICE_GENERIC_GET_PRIVATE (self);
+
+ switch (prop_id) {
+ case PROP_TYPE_DESCRIPTION:
+ priv->type_description = g_value_dup_string (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
}
+/*****************************************************************************/
+
static void
nm_device_generic_init (NMDeviceGeneric *self)
{
@@ -144,49 +178,28 @@ constructor (GType type,
return object;
}
-static void
-dispose (GObject *object)
+NMDevice *
+nm_device_generic_new (const NMPlatformLink *plink, gboolean nm_plugin_missing)
{
- NMDeviceGeneric *self = NM_DEVICE_GENERIC (object);
- NMDeviceGenericPrivate *priv = NM_DEVICE_GENERIC_GET_PRIVATE (self);
-
- g_clear_pointer (&priv->type_description, g_free);
+ g_return_val_if_fail (plink != NULL, NULL);
- G_OBJECT_CLASS (nm_device_generic_parent_class)->dispose (object);
+ return (NMDevice *) g_object_new (NM_TYPE_DEVICE_GENERIC,
+ NM_DEVICE_IFACE, plink->name,
+ NM_DEVICE_TYPE_DESC, "Generic",
+ NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_GENERIC,
+ NM_DEVICE_NM_PLUGIN_MISSING, nm_plugin_missing,
+ NULL);
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
+dispose (GObject *object)
{
NMDeviceGeneric *self = NM_DEVICE_GENERIC (object);
NMDeviceGenericPrivate *priv = NM_DEVICE_GENERIC_GET_PRIVATE (self);
- switch (prop_id) {
- case PROP_TYPE_DESCRIPTION:
- g_value_set_string (value, priv->type_description);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- NMDeviceGeneric *self = NM_DEVICE_GENERIC (object);
- NMDeviceGenericPrivate *priv = NM_DEVICE_GENERIC_GET_PRIVATE (self);
+ g_clear_pointer (&priv->type_description, g_free);
- switch (prop_id) {
- case PROP_TYPE_DESCRIPTION:
- priv->type_description = g_value_dup_string (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+ G_OBJECT_CLASS (nm_device_generic_parent_class)->dispose (object);
}
static void
@@ -195,8 +208,6 @@ nm_device_generic_class_init (NMDeviceGenericClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMDeviceGenericPrivate));
-
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NM_SETTING_GENERIC_SETTING_NAME, NM_LINK_TYPE_ANY)
object_class->constructor = constructor;
@@ -210,13 +221,13 @@ nm_device_generic_class_init (NMDeviceGenericClass *klass)
parent_class->check_connection_compatible = check_connection_compatible;
parent_class->update_connection = update_connection;
- /* properties */
- g_object_class_install_property
- (object_class, PROP_TYPE_DESCRIPTION,
- g_param_spec_string (NM_DEVICE_GENERIC_TYPE_DESCRIPTION, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_TYPE_DESCRIPTION] =
+ g_param_spec_string (NM_DEVICE_GENERIC_TYPE_DESCRIPTION, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_GENERIC_SKELETON,
diff --git a/src/devices/nm-device-generic.h b/src/devices/nm-device-generic.h
index d988a5e2a1..424421806f 100644
--- a/src/devices/nm-device-generic.h
+++ b/src/devices/nm-device-generic.h
@@ -32,14 +32,8 @@
#define NM_DEVICE_GENERIC_TYPE_DESCRIPTION "type-description"
-typedef struct {
- NMDevice parent;
-} NMDeviceGeneric;
-
-typedef struct {
- NMDeviceClass parent;
-
-} NMDeviceGenericClass;
+typedef struct _NMDeviceGeneric NMDeviceGeneric;
+typedef struct _NMDeviceGenericClass NMDeviceGenericClass;
GType nm_device_generic_get_type (void);
diff --git a/src/devices/nm-device-infiniband.c b/src/devices/nm-device-infiniband.c
index 17f50ba2c7..56bdcb6de0 100644
--- a/src/devices/nm-device-infiniband.c
+++ b/src/devices/nm-device-infiniband.c
@@ -20,13 +20,14 @@
#include "nm-default.h"
+#include "nm-device-infiniband.h"
+
#include <linux/if_infiniband.h>
-#include "nm-device-infiniband.h"
#include "NetworkManagerUtils.h"
#include "nm-device-private.h"
#include "nm-enum-types.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-ip4-config.h"
#include "nm-platform.h"
#include "nm-device-factory.h"
@@ -34,32 +35,41 @@
#include "nmdbus-device-infiniband.h"
-G_DEFINE_TYPE (NMDeviceInfiniband, nm_device_infiniband, NM_TYPE_DEVICE)
+#define NM_DEVICE_INFINIBAND_IS_PARTITION "is-partition"
-#define NM_DEVICE_INFINIBAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_INFINIBAND, NMDeviceInfinibandPrivate))
+/*****************************************************************************/
-#define NM_DEVICE_INFINIBAND_IS_PARTITION "is-partition"
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_IS_PARTITION,
+);
typedef struct {
gboolean is_partition;
- int parent_ifindex, p_key;
+ int parent_ifindex;
+ int p_key;
} NMDeviceInfinibandPrivate;
-enum {
- PROP_0,
- PROP_IS_PARTITION,
+struct _NMDeviceInfiniband {
+ NMDevice parent;
+ NMDeviceInfinibandPrivate _priv;
+};
- LAST_PROP
+struct _NMDeviceInfinibandClass {
+ NMDeviceClass parent;
};
-/*************************************************************/
+G_DEFINE_TYPE (NMDeviceInfiniband, nm_device_infiniband, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_INFINIBAND_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceInfiniband, NM_IS_DEVICE_INFINIBAND)
+
+/*****************************************************************************/
static NMDeviceCapabilities
-get_generic_capabilities (NMDevice *dev)
+get_generic_capabilities (NMDevice *device)
{
guint32 caps = NM_DEVICE_CAP_CARRIER_DETECT;
- if (NM_DEVICE_INFINIBAND_GET_PRIVATE (dev)->is_partition)
+ if (NM_DEVICE_INFINIBAND_GET_PRIVATE ((NMDeviceInfiniband *) device)->is_partition)
caps |= NM_DEVICE_CAP_IS_SOFTWARE;
return caps;
@@ -241,7 +251,7 @@ create_and_realize (NMDevice *device,
const NMPlatformLink **out_plink,
GError **error)
{
- NMDeviceInfinibandPrivate *priv = NM_DEVICE_INFINIBAND_GET_PRIVATE (device);
+ NMDeviceInfinibandPrivate *priv = NM_DEVICE_INFINIBAND_GET_PRIVATE ((NMDeviceInfiniband *) device);
NMSettingInfiniband *s_infiniband;
NMPlatformError plerr;
@@ -294,11 +304,13 @@ create_and_realize (NMDevice *device,
static gboolean
unrealize (NMDevice *device, GError **error)
{
- NMDeviceInfinibandPrivate *priv = NM_DEVICE_INFINIBAND_GET_PRIVATE (device);
+ NMDeviceInfinibandPrivate *priv;
NMPlatformError plerr;
g_return_val_if_fail (NM_IS_DEVICE_INFINIBAND (device), FALSE);
+ priv = NM_DEVICE_INFINIBAND_GET_PRIVATE ((NMDeviceInfiniband *) device);
+
if (priv->p_key < 0) {
g_set_error (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_FAILED,
"Only InfiniBand partitions can be removed");
@@ -317,12 +329,7 @@ unrealize (NMDevice *device, GError **error)
return TRUE;
}
-/*************************************************************/
-
-static void
-nm_device_infiniband_init (NMDeviceInfiniband * self)
-{
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
@@ -330,7 +337,7 @@ get_property (GObject *object, guint prop_id,
{
switch (prop_id) {
case PROP_IS_PARTITION:
- g_value_set_boolean (value, NM_DEVICE_INFINIBAND_GET_PRIVATE (object)->is_partition);
+ g_value_set_boolean (value, NM_DEVICE_INFINIBAND_GET_PRIVATE ((NMDeviceInfiniband *) object)->is_partition);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -340,11 +347,11 @@ get_property (GObject *object, guint prop_id,
static void
set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+ const GValue *value, GParamSpec *pspec)
{
switch (prop_id) {
case PROP_IS_PARTITION:
- NM_DEVICE_INFINIBAND_GET_PRIVATE (object)->is_partition = g_value_get_boolean (value);
+ NM_DEVICE_INFINIBAND_GET_PRIVATE ((NMDeviceInfiniband *) object)->is_partition = g_value_get_boolean (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -352,17 +359,21 @@ set_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
+static void
+nm_device_infiniband_init (NMDeviceInfiniband * self)
+{
+}
+
static void
nm_device_infiniband_class_init (NMDeviceInfinibandClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMDeviceInfinibandPrivate));
-
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NM_SETTING_INFINIBAND_SETTING_NAME, NM_LINK_TYPE_INFINIBAND)
- /* virtual methods */
object_class->get_property = get_property;
object_class->set_property = set_property;
@@ -376,20 +387,20 @@ nm_device_infiniband_class_init (NMDeviceInfinibandClass *klass)
parent_class->act_stage1_prepare = act_stage1_prepare;
parent_class->ip4_config_pre_commit = ip4_config_pre_commit;
- /* properties */
- g_object_class_install_property
- (object_class, PROP_IS_PARTITION,
- g_param_spec_boolean (NM_DEVICE_INFINIBAND_IS_PARTITION, "", "",
- FALSE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_IS_PARTITION] =
+ g_param_spec_boolean (NM_DEVICE_INFINIBAND_IS_PARTITION, "", "",
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_INFINIBAND_SKELETON,
NULL);
}
-/*************************************************************/
+/*****************************************************************************/
#define NM_TYPE_INFINIBAND_FACTORY (nm_infiniband_factory_get_type ())
#define NM_INFINIBAND_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_INFINIBAND_FACTORY, NMInfinibandFactory))
@@ -464,5 +475,4 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (INFINIBAND, Infiniband, infiniband,
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
factory_iface->get_connection_iface = get_connection_iface;
- )
-
+)
diff --git a/src/devices/nm-device-infiniband.h b/src/devices/nm-device-infiniband.h
index a74d07a51f..719c9cc9fd 100644
--- a/src/devices/nm-device-infiniband.h
+++ b/src/devices/nm-device-infiniband.h
@@ -23,15 +23,15 @@
#include "nm-device.h"
-#define NM_TYPE_DEVICE_INFINIBAND (nm_device_infiniband_get_type ())
-#define NM_DEVICE_INFINIBAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_INFINIBAND, NMDeviceInfiniband))
-#define NM_DEVICE_INFINIBAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DEVICE_INFINIBAND, NMDeviceInfinibandClass))
-#define NM_IS_DEVICE_INFINIBAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DEVICE_INFINIBAND))
-#define NM_IS_DEVICE_INFINIBAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DEVICE_INFINIBAND))
-#define NM_DEVICE_INFINIBAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_INFINIBAND, NMDeviceInfinibandClass))
+#define NM_TYPE_DEVICE_INFINIBAND (nm_device_infiniband_get_type ())
+#define NM_DEVICE_INFINIBAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_INFINIBAND, NMDeviceInfiniband))
+#define NM_DEVICE_INFINIBAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DEVICE_INFINIBAND, NMDeviceInfinibandClass))
+#define NM_IS_DEVICE_INFINIBAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DEVICE_INFINIBAND))
+#define NM_IS_DEVICE_INFINIBAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DEVICE_INFINIBAND))
+#define NM_DEVICE_INFINIBAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_INFINIBAND, NMDeviceInfinibandClass))
-typedef NMDevice NMDeviceInfiniband;
-typedef NMDeviceClass NMDeviceInfinibandClass;
+typedef struct _NMDeviceInfiniband NMDeviceInfiniband;
+typedef struct _NMDeviceInfinibandClass NMDeviceInfinibandClass;
GType nm_device_infiniband_get_type (void);
diff --git a/src/devices/nm-device-ip-tunnel.c b/src/devices/nm-device-ip-tunnel.c
index 785010ebfa..1bb9f2f069 100644
--- a/src/devices/nm-device-ip-tunnel.c
+++ b/src/devices/nm-device-ip-tunnel.c
@@ -34,7 +34,7 @@
#include "nm-device-factory.h"
#include "nm-core-internal.h"
#include "nm-settings.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-ip4-config.h"
#include "nmdbus-device-ip-tunnel.h"
@@ -42,9 +42,21 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceIPTunnel);
-G_DEFINE_TYPE (NMDeviceIPTunnel, nm_device_ip_tunnel, NM_TYPE_DEVICE)
+/*****************************************************************************/
-#define NM_DEVICE_IP_TUNNEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_IP_TUNNEL, NMDeviceIPTunnelPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE (NMDeviceIPTunnel,
+ PROP_MODE,
+ PROP_PARENT,
+ PROP_LOCAL,
+ PROP_REMOTE,
+ PROP_TTL,
+ PROP_TOS,
+ PROP_PATH_MTU_DISCOVERY,
+ PROP_INPUT_KEY,
+ PROP_OUTPUT_KEY,
+ PROP_ENCAPSULATION_LIMIT,
+ PROP_FLOW_LABEL,
+);
typedef struct {
NMIPTunnelMode mode;
@@ -62,24 +74,20 @@ typedef struct {
guint32 flow_label;
} NMDeviceIPTunnelPrivate;
-enum {
- PROP_0,
- PROP_MODE,
- PROP_PARENT,
- PROP_LOCAL,
- PROP_REMOTE,
- PROP_TTL,
- PROP_TOS,
- PROP_PATH_MTU_DISCOVERY,
- PROP_INPUT_KEY,
- PROP_OUTPUT_KEY,
- PROP_ENCAPSULATION_LIMIT,
- PROP_FLOW_LABEL,
+struct _NMDeviceIPTunnel {
+ NMDevice parent;
+ NMDeviceIPTunnelPrivate _priv;
+};
- LAST_PROP
+struct _NMDeviceIPTunnelClass {
+ NMDeviceClass parent;
};
-/**************************************************************/
+G_DEFINE_TYPE (NMDeviceIPTunnel, nm_device_ip_tunnel, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_IP_TUNNEL_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceIPTunnel, NM_IS_DEVICE_IP_TUNNEL)
+
+/*****************************************************************************/
static gboolean
address_equal_pp (int family, const char *a, const char *b)
@@ -118,7 +126,6 @@ update_properties_from_ifindex (NMDevice *device, int ifindex)
{
NMDeviceIPTunnel *self = NM_DEVICE_IP_TUNNEL (device);
NMDeviceIPTunnelPrivate *priv = NM_DEVICE_IP_TUNNEL_GET_PRIVATE (self);
- GObject *object = G_OBJECT (device);
NMDevice *parent;
int parent_ifindex;
in_addr_t local4, remote4;
@@ -133,23 +140,23 @@ clear:
if (priv->parent || priv->parent_ifindex) {
g_clear_object (&priv->parent);
priv->parent_ifindex = 0;
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_PARENT);
+ _notify (self, PROP_PARENT);
}
if (priv->local) {
g_clear_pointer (&priv->local, g_free);
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_LOCAL);
+ _notify (self, PROP_LOCAL);
}
if (priv->remote) {
g_clear_pointer (&priv->remote, g_free);
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_REMOTE);
+ _notify (self, PROP_REMOTE);
}
if (priv->input_key) {
g_clear_pointer (&priv->input_key, g_free);
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_INPUT_KEY);
+ _notify (self, PROP_INPUT_KEY);
}
if (priv->output_key) {
g_clear_pointer (&priv->output_key, g_free);
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_OUTPUT_KEY);
+ _notify (self, PROP_OUTPUT_KEY);
}
goto out;
@@ -176,13 +183,13 @@ clear:
if (g_strcmp0 (priv->input_key, key)) {
g_free (priv->input_key);
priv->input_key = key;
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_INPUT_KEY);
+ _notify (self, PROP_INPUT_KEY);
} else
g_free (key);
} else {
if (priv->input_key) {
g_clear_pointer (&priv->input_key, g_free);
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_INPUT_KEY);
+ _notify (self, PROP_INPUT_KEY);
}
}
@@ -191,13 +198,13 @@ clear:
if (g_strcmp0 (priv->output_key, key)) {
g_free (priv->output_key);
priv->output_key = key;
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_OUTPUT_KEY);
+ _notify (self, PROP_OUTPUT_KEY);
} else
g_free (key);
} else {
if (priv->output_key) {
g_clear_pointer (&priv->output_key, g_free);
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_OUTPUT_KEY);
+ _notify (self, PROP_OUTPUT_KEY);
}
}
} else if (priv->mode == NM_IP_TUNNEL_MODE_SIT) {
@@ -256,7 +263,7 @@ clear:
parent = nm_manager_get_device_by_ifindex (nm_manager_get (), parent_ifindex);
if (parent)
priv->parent = g_object_ref (parent);
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_PARENT);
+ _notify (self, PROP_PARENT);
}
if (priv->addr_family == AF_INET) {
@@ -264,28 +271,28 @@ clear:
g_clear_pointer (&priv->local, g_free);
if (local4)
priv->local = g_strdup (nm_utils_inet4_ntop (local4, NULL));
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_LOCAL);
+ _notify (self, PROP_LOCAL);
}
if (!address_equal_pn (AF_INET, priv->remote, &remote4)) {
g_clear_pointer (&priv->remote, g_free);
if (remote4)
priv->remote = g_strdup (nm_utils_inet4_ntop (remote4, NULL));
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_REMOTE);
+ _notify (self, PROP_REMOTE);
}
} else {
if (!address_equal_pn (AF_INET6, priv->local, &local6)) {
g_clear_pointer (&priv->local, g_free);
if (memcmp (&local6, &in6addr_any, sizeof (in6addr_any)))
priv->local = g_strdup (nm_utils_inet6_ntop (&local6, NULL));
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_LOCAL);
+ _notify (self, PROP_LOCAL);
}
if (!address_equal_pn (AF_INET6, priv->remote, &remote6)) {
g_clear_pointer (&priv->remote, g_free);
if (memcmp (&remote6, &in6addr_any, sizeof (in6addr_any)))
priv->remote = g_strdup (nm_utils_inet6_ntop (&remote6, NULL));
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_REMOTE);
+ _notify (self, PROP_REMOTE);
}
}
@@ -293,27 +300,27 @@ out:
if (priv->ttl != ttl) {
priv->ttl = ttl;
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_TTL);
+ _notify (self, PROP_TTL);
}
if (priv->tos != tos) {
priv->tos = tos;
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_TOS);
+ _notify (self, PROP_TOS);
}
if (priv->path_mtu_discovery != pmtud) {
priv->path_mtu_discovery = pmtud;
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_PATH_MTU_DISCOVERY);
+ _notify (self, PROP_PATH_MTU_DISCOVERY);
}
if (priv->encap_limit != encap_limit) {
priv->encap_limit = encap_limit;
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_ENCAPSULATION_LIMIT);
+ _notify (self, PROP_ENCAPSULATION_LIMIT);
}
if (priv->flow_label != flow_label) {
priv->flow_label = flow_label;
- g_object_notify (object, NM_DEVICE_IP_TUNNEL_FLOW_LABEL);
+ _notify (self, PROP_FLOW_LABEL);
}
}
@@ -583,26 +590,7 @@ tunnel_mode_to_link_type (NMIPTunnelMode tunnel_mode)
}
}
-/**************************************************************/
-
-static void
-nm_device_ip_tunnel_init (NMDeviceIPTunnel *self)
-{
-}
-
-static void
-constructed (GObject *object)
-{
- NMDeviceIPTunnelPrivate *priv = NM_DEVICE_IP_TUNNEL_GET_PRIVATE (object);
-
- if ( priv->mode == NM_IP_TUNNEL_MODE_IPIP6
- || priv->mode == NM_IP_TUNNEL_MODE_IP6IP6)
- priv->addr_family = AF_INET6;
- else
- priv->addr_family = AF_INET;
-
- G_OBJECT_CLASS (nm_device_ip_tunnel_parent_class)->constructed (object);
-}
+/*****************************************************************************/
static gboolean
create_and_realize (NMDevice *device,
@@ -804,11 +792,13 @@ unrealize_notify (NMDevice *device)
update_properties_from_ifindex (device, 0);
}
+/*****************************************************************************/
+
static void
get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
- NMDeviceIPTunnelPrivate *priv = NM_DEVICE_IP_TUNNEL_GET_PRIVATE (object);
+ NMDeviceIPTunnelPrivate *priv = NM_DEVICE_IP_TUNNEL_GET_PRIVATE ((NMDeviceIPTunnel *) object);
NMDevice *parent;
switch (prop_id) {
@@ -854,9 +844,9 @@ get_property (GObject *object, guint prop_id,
static void
set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+ const GValue *value, GParamSpec *pspec)
{
- NMDeviceIPTunnelPrivate *priv = NM_DEVICE_IP_TUNNEL_GET_PRIVATE (object);
+ NMDeviceIPTunnelPrivate *priv = NM_DEVICE_IP_TUNNEL_GET_PRIVATE ((NMDeviceIPTunnel *) object);
switch (prop_id) {
case PROP_MODE:
@@ -867,14 +857,33 @@ set_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
+static void
+nm_device_ip_tunnel_init (NMDeviceIPTunnel *self)
+{
+}
+
+static void
+constructed (GObject *object)
+{
+ NMDeviceIPTunnelPrivate *priv = NM_DEVICE_IP_TUNNEL_GET_PRIVATE ((NMDeviceIPTunnel *) object);
+
+ if ( priv->mode == NM_IP_TUNNEL_MODE_IPIP6
+ || priv->mode == NM_IP_TUNNEL_MODE_IP6IP6)
+ priv->addr_family = AF_INET6;
+ else
+ priv->addr_family = AF_INET;
+
+ G_OBJECT_CLASS (nm_device_ip_tunnel_parent_class)->constructed (object);
+}
+
static void
nm_device_ip_tunnel_class_init (NMDeviceIPTunnelClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *device_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMDeviceIPTunnelPrivate));
-
object_class->constructed = constructed;
object_class->get_property = get_property;
object_class->set_property = set_property;
@@ -896,91 +905,81 @@ nm_device_ip_tunnel_class_init (NMDeviceIPTunnelClass *klass)
NM_LINK_TYPE_IPIP,
NM_LINK_TYPE_SIT);
- /* properties */
- g_object_class_install_property
- (object_class, PROP_MODE,
- g_param_spec_uint (NM_DEVICE_IP_TUNNEL_MODE, "", "",
- 0, G_MAXUINT, 0,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- /* properties */
- g_object_class_install_property
- (object_class, PROP_PARENT,
- g_param_spec_string (NM_DEVICE_IP_TUNNEL_PARENT, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_LOCAL,
- g_param_spec_string (NM_DEVICE_IP_TUNNEL_LOCAL, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_REMOTE,
- g_param_spec_string (NM_DEVICE_IP_TUNNEL_REMOTE, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_TTL,
- g_param_spec_uchar (NM_DEVICE_IP_TUNNEL_TTL, "", "",
- 0, 255, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_TOS,
- g_param_spec_uchar (NM_DEVICE_IP_TUNNEL_TOS, "", "",
- 0, 255, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_PATH_MTU_DISCOVERY,
- g_param_spec_boolean (NM_DEVICE_IP_TUNNEL_PATH_MTU_DISCOVERY, "", "",
- FALSE,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_INPUT_KEY,
- g_param_spec_string (NM_DEVICE_IP_TUNNEL_INPUT_KEY, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_OUTPUT_KEY,
- g_param_spec_string (NM_DEVICE_IP_TUNNEL_OUTPUT_KEY, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_ENCAPSULATION_LIMIT,
- g_param_spec_uchar (NM_DEVICE_IP_TUNNEL_ENCAPSULATION_LIMIT, "", "",
- 0, 255, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_FLOW_LABEL,
- g_param_spec_uint (NM_DEVICE_IP_TUNNEL_FLOW_LABEL, "", "",
- 0, (1 << 20) - 1, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_MODE] =
+ g_param_spec_uint (NM_DEVICE_IP_TUNNEL_MODE, "", "",
+ 0, G_MAXUINT, 0,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_PARENT] =
+ g_param_spec_string (NM_DEVICE_IP_TUNNEL_PARENT, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_LOCAL] =
+ g_param_spec_string (NM_DEVICE_IP_TUNNEL_LOCAL, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_REMOTE] =
+ g_param_spec_string (NM_DEVICE_IP_TUNNEL_REMOTE, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_TTL] =
+ g_param_spec_uchar (NM_DEVICE_IP_TUNNEL_TTL, "", "",
+ 0, 255, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_TOS] =
+ g_param_spec_uchar (NM_DEVICE_IP_TUNNEL_TOS, "", "",
+ 0, 255, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_PATH_MTU_DISCOVERY] =
+ g_param_spec_boolean (NM_DEVICE_IP_TUNNEL_PATH_MTU_DISCOVERY, "", "",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_INPUT_KEY] =
+ g_param_spec_string (NM_DEVICE_IP_TUNNEL_INPUT_KEY, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_OUTPUT_KEY] =
+ g_param_spec_string (NM_DEVICE_IP_TUNNEL_OUTPUT_KEY, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_ENCAPSULATION_LIMIT] =
+ g_param_spec_uchar (NM_DEVICE_IP_TUNNEL_ENCAPSULATION_LIMIT, "", "",
+ 0, 255, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_FLOW_LABEL] =
+ g_param_spec_uint (NM_DEVICE_IP_TUNNEL_FLOW_LABEL, "", "",
+ 0, (1 << 20) - 1, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_IPTUNNEL_SKELETON,
NULL);
}
-/*************************************************************/
+
+/*****************************************************************************/
#define NM_TYPE_IP_TUNNEL_FACTORY (nm_ip_tunnel_factory_get_type ())
#define NM_IP_TUNNEL_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_IP_TUNNEL_FACTORY, NMIPTunnelFactory))
@@ -1057,4 +1056,4 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (IP_TUNNEL, IPTunnel, ip_tunnel,
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
factory_iface->get_connection_iface = get_connection_iface;
-)
+);
diff --git a/src/devices/nm-device-ip-tunnel.h b/src/devices/nm-device-ip-tunnel.h
index 94cc737526..5027a27b07 100644
--- a/src/devices/nm-device-ip-tunnel.h
+++ b/src/devices/nm-device-ip-tunnel.h
@@ -43,13 +43,8 @@
#define NM_DEVICE_IP_TUNNEL_ENCAPSULATION_LIMIT "encapsulation-limit"
#define NM_DEVICE_IP_TUNNEL_FLOW_LABEL "flow-label"
-typedef struct {
- NMDevice parent;
-} NMDeviceIPTunnel;
-
-typedef struct {
- NMDeviceClass parent;
-} NMDeviceIPTunnelClass;
+typedef struct _NMDeviceIPTunnel NMDeviceIPTunnel;
+typedef struct _NMDeviceIPTunnelClass NMDeviceIPTunnelClass;
GType nm_device_ip_tunnel_get_type (void);
diff --git a/src/devices/nm-device-macvlan.c b/src/devices/nm-device-macvlan.c
index e9841a9d9c..6c01a9b6a6 100644
--- a/src/devices/nm-device-macvlan.c
+++ b/src/devices/nm-device-macvlan.c
@@ -26,7 +26,7 @@
#include "nm-device-private.h"
#include "nm-settings.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-manager.h"
#include "nm-platform.h"
#include "nm-device-factory.h"
@@ -41,9 +41,14 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceMacvlan);
-G_DEFINE_TYPE (NMDeviceMacvlan, nm_device_macvlan, NM_TYPE_DEVICE)
+/*****************************************************************************/
-#define NM_DEVICE_MACVLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_MACVLAN, NMDeviceMacvlanPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE (NMDeviceMacvlan,
+ PROP_PARENT,
+ PROP_MODE,
+ PROP_NO_PROMISC,
+ PROP_TAP,
+);
typedef struct {
int parent_ifindex;
@@ -52,16 +57,21 @@ typedef struct {
NMPlatformLnkMacvlan props;
} NMDeviceMacvlanPrivate;
-enum {
- PROP_0,
- PROP_PARENT,
- PROP_MODE,
- PROP_NO_PROMISC,
- PROP_TAP,
+struct _NMDeviceMacvlan {
+ NMDevice parent;
+ NMDeviceMacvlanPrivate _priv;
+};
- LAST_PROP
+struct _NMDeviceMacvlanClass {
+ NMDeviceClass parent;
};
+G_DEFINE_TYPE (NMDeviceMacvlan, nm_device_macvlan, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_MACVLAN_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceMacvlan, NM_IS_DEVICE_MACVLAN)
+
+/*****************************************************************************/
+
static int modes[][2] = {
{ NM_SETTING_MACVLAN_MODE_VEPA, MACVLAN_MODE_VEPA },
{ NM_SETTING_MACVLAN_MODE_BRIDGE, MACVLAN_MODE_BRIDGE },
@@ -112,7 +122,7 @@ platform_mode_to_string (guint mode)
}
}
-/**************************************************************/
+/*****************************************************************************/
static void
parent_state_changed (NMDevice *parent,
@@ -158,17 +168,17 @@ nm_device_macvlan_set_parent (NMDeviceMacvlan *self, NMDevice *parent)
}
/* Recheck availability now that the parent has changed */
- nm_device_queue_recheck_available (self,
+ nm_device_queue_recheck_available (device,
NM_DEVICE_STATE_REASON_PARENT_CHANGED,
NM_DEVICE_STATE_REASON_PARENT_CHANGED);
- g_object_notify (G_OBJECT (device), NM_DEVICE_MACVLAN_PARENT);
+ _notify (self, PROP_PARENT);
}
static void
update_properties (NMDevice *device)
{
NMDeviceMacvlan *self = NM_DEVICE_MACVLAN (device);
- NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE (device);
+ NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE (self);
GObject *object = G_OBJECT (device);
const NMPlatformLnkMacvlan *props;
const NMPlatformLink *plink;
@@ -191,9 +201,9 @@ update_properties (NMDevice *device)
nm_device_macvlan_set_parent (self, parent);
}
if (priv->props.mode != props->mode)
- g_object_notify (object, NM_DEVICE_MACVLAN_MODE);
+ _notify (self, PROP_MODE);
if (priv->props.no_promisc != props->no_promisc)
- g_object_notify (object, NM_DEVICE_MACVLAN_NO_PROMISC);
+ _notify (self, PROP_NO_PROMISC);
priv->parent_ifindex = plink->parent;
priv->props = *props;
@@ -258,7 +268,7 @@ create_and_realize (NMDevice *device,
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
static NMDeviceCapabilities
get_generic_capabilities (NMDevice *dev)
@@ -267,12 +277,12 @@ get_generic_capabilities (NMDevice *dev)
return NM_DEVICE_CAP_CARRIER_DETECT | NM_DEVICE_CAP_IS_SOFTWARE;
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
is_available (NMDevice *device, NMDeviceCheckDevAvailableFlags flags)
{
- if (!NM_DEVICE_MACVLAN_GET_PRIVATE (device)->parent)
+ if (!NM_DEVICE_MACVLAN_GET_PRIVATE ((NMDeviceMacvlan *) device)->parent)
return FALSE;
return NM_DEVICE_CLASS (nm_device_macvlan_parent_class)->is_available (device, flags);
@@ -300,7 +310,7 @@ notify_new_device_added (NMDevice *device, NMDevice *new_device)
nm_device_macvlan_set_parent (self, new_device);
}
-/**************************************************************/
+/*****************************************************************************/
static gboolean
@@ -343,7 +353,7 @@ match_parent (NMDeviceMacvlan *self, const char *parent)
static gboolean
match_hwaddr (NMDevice *device, NMConnection *connection, gboolean fail_if_no_hwaddr)
{
- NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE (device);
+ NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE ((NMDeviceMacvlan *) device);
NMSettingWired *s_wired;
const char *setting_mac;
const char *parent_mac;
@@ -366,7 +376,7 @@ match_hwaddr (NMDevice *device, NMConnection *connection, gboolean fail_if_no_hw
static gboolean
check_connection_compatible (NMDevice *device, NMConnection *connection)
{
- NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE (device);
+ NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE ((NMDeviceMacvlan *) device);
NMSettingMacvlan *s_macvlan;
const char *parent = NULL;
@@ -445,7 +455,7 @@ complete_connection (NMDevice *device,
static void
update_connection (NMDevice *device, NMConnection *connection)
{
- NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE (device);
+ NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE ((NMDeviceMacvlan *) device);
NMSettingMacvlan *s_macvlan = nm_connection_get_setting_macvlan (connection);
const char *setting_parent, *new_parent;
int new_mode;
@@ -527,18 +537,13 @@ realize_start_notify (NMDevice *device, const NMPlatformLink *plink)
update_properties (device);
}
-/******************************************************************/
-
-static void
-nm_device_macvlan_init (NMDeviceMacvlan *self)
-{
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
- NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE (object);
+ NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE ((NMDeviceMacvlan *) object);
NMDevice *parent;
switch (prop_id) {
@@ -566,9 +571,9 @@ get_property (GObject *object, guint prop_id,
static void
set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+ const GValue *value, GParamSpec *pspec)
{
- NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE (object);
+ NMDeviceMacvlanPrivate *priv = NM_DEVICE_MACVLAN_GET_PRIVATE ((NMDeviceMacvlan *) object);
switch (prop_id) {
case PROP_TAP:
@@ -579,6 +584,13 @@ set_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
+static void
+nm_device_macvlan_init (NMDeviceMacvlan *self)
+{
+}
+
static void
dispose (GObject *object)
{
@@ -593,8 +605,6 @@ nm_device_macvlan_class_init (NMDeviceMacvlanClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *device_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMDeviceMacvlanPrivate));
-
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NULL, NM_LINK_TYPE_MACVLAN, NM_LINK_TYPE_MACVTAP)
object_class->dispose = dispose;
@@ -614,42 +624,39 @@ nm_device_macvlan_class_init (NMDeviceMacvlanClass *klass)
device_class->realize_start_notify = realize_start_notify;
device_class->update_connection = update_connection;
- /* properties */
- g_object_class_install_property
- (object_class, PROP_PARENT,
- g_param_spec_string (NM_DEVICE_MACVLAN_PARENT, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_MODE,
- g_param_spec_string (NM_DEVICE_MACVLAN_MODE, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_NO_PROMISC,
- g_param_spec_boolean (NM_DEVICE_MACVLAN_NO_PROMISC, "", "",
- FALSE,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_TAP,
- g_param_spec_boolean (NM_DEVICE_MACVLAN_TAP, "", "",
- FALSE,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_PARENT] =
+ g_param_spec_string (NM_DEVICE_MACVLAN_PARENT, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_MODE] =
+ g_param_spec_string (NM_DEVICE_MACVLAN_MODE, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_NO_PROMISC] =
+ g_param_spec_boolean (NM_DEVICE_MACVLAN_NO_PROMISC, "", "",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_TAP] =
+ g_param_spec_boolean (NM_DEVICE_MACVLAN_TAP, "", "",
+ FALSE,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_MACVLAN_SKELETON,
NULL);
}
-/*************************************************************/
+/*****************************************************************************/
#define NM_TYPE_MACVLAN_FACTORY (nm_macvlan_factory_get_type ())
#define NM_MACVLAN_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_MACVLAN_FACTORY, NMMacvlanFactory))
@@ -735,5 +742,4 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (MACVLAN, Macvlan, macvlan,
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
factory_iface->get_connection_iface = get_connection_iface;
- )
-
+);
diff --git a/src/devices/nm-device-macvlan.h b/src/devices/nm-device-macvlan.h
index 5756f696fd..13dac7d792 100644
--- a/src/devices/nm-device-macvlan.h
+++ b/src/devices/nm-device-macvlan.h
@@ -35,8 +35,8 @@
#define NM_DEVICE_MACVLAN_NO_PROMISC "no-promisc"
#define NM_DEVICE_MACVLAN_TAP "tap"
-typedef NMDevice NMDeviceMacvlan;
-typedef NMDeviceClass NMDeviceMacvlanClass;
+typedef struct _NMDeviceMacvlan NMDeviceMacvlan;
+typedef struct _NMDeviceMacvlanClass NMDeviceMacvlanClass;
GType nm_device_macvlan_get_type (void);
diff --git a/src/devices/nm-device-tun.c b/src/devices/nm-device-tun.c
index 1f42d06015..1870b5fdf4 100644
--- a/src/devices/nm-device-tun.c
+++ b/src/devices/nm-device-tun.c
@@ -20,12 +20,13 @@
#include "nm-default.h"
+#include "nm-device-tun.h"
+
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
-#include "nm-activation-request.h"
-#include "nm-device-tun.h"
+#include "nm-act-request.h"
#include "nm-device-private.h"
#include "nm-ip4-config.h"
#include "nm-platform.h"
@@ -38,27 +39,37 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceTun);
-G_DEFINE_TYPE (NMDeviceTun, nm_device_tun, NM_TYPE_DEVICE)
-
-#define NM_DEVICE_TUN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_TUN, NMDeviceTunPrivate))
-
-typedef struct {
- NMPlatformTunProperties props;
- const char *mode;
-} NMDeviceTunPrivate;
+/*****************************************************************************/
-enum {
- PROP_0,
+NM_GOBJECT_PROPERTIES_DEFINE (NMDeviceTun,
PROP_OWNER,
PROP_GROUP,
PROP_MODE,
PROP_NO_PI,
PROP_VNET_HDR,
PROP_MULTI_QUEUE,
+);
- LAST_PROP
+typedef struct {
+ NMPlatformTunProperties props;
+ const char *mode;
+} NMDeviceTunPrivate;
+
+struct _NMDeviceTun {
+ NMDevice parent;
+ NMDeviceTunPrivate _priv;
};
+struct _NMDeviceTunClass {
+ NMDeviceClass parent;
+};
+
+G_DEFINE_TYPE (NMDeviceTun, nm_device_tun, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_TUN_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceTun, NM_IS_DEVICE_TUN)
+
+/*****************************************************************************/
+
static void
reload_tun_properties (NMDeviceTun *self)
{
@@ -89,15 +100,15 @@ reload_tun_properties (NMDeviceTun *self)
g_object_freeze_notify (object);
if (priv->props.owner != props.owner)
- g_object_notify (object, NM_DEVICE_TUN_OWNER);
+ _notify (self, PROP_OWNER);
if (priv->props.group != props.group)
- g_object_notify (object, NM_DEVICE_TUN_GROUP);
+ _notify (self, PROP_GROUP);
if (priv->props.no_pi != props.no_pi)
- g_object_notify (object, NM_DEVICE_TUN_NO_PI);
+ _notify (self, PROP_NO_PI);
if (priv->props.vnet_hdr != props.vnet_hdr)
- g_object_notify (object, NM_DEVICE_TUN_VNET_HDR);
+ _notify (self, PROP_VNET_HDR);
if (priv->props.multi_queue != props.multi_queue)
- g_object_notify (object, NM_DEVICE_TUN_MULTI_QUEUE);
+ _notify (self, PROP_MULTI_QUEUE);
memcpy (&priv->props, &props, sizeof (NMPlatformTunProperties));
@@ -244,7 +255,7 @@ static void
realize_start_notify (NMDevice *device, const NMPlatformLink *plink)
{
NM_DEVICE_CLASS (nm_device_tun_parent_class)->realize_start_notify (device, plink);
- reload_tun_properties (device);
+ reload_tun_properties ((NMDeviceTun *) device);
}
static gboolean
@@ -332,25 +343,17 @@ unrealize_notify (NMDevice *device)
{
NMDeviceTun *self = NM_DEVICE_TUN (device);
NMDeviceTunPrivate *priv = NM_DEVICE_TUN_GET_PRIVATE (self);
- GParamSpec **properties;
- guint n_properties, i;
+ guint i;
NM_DEVICE_CLASS (nm_device_tun_parent_class)->unrealize_notify (device);
memset (&priv->props, 0, sizeof (NMPlatformTunProperties));
- properties = g_object_class_list_properties (G_OBJECT_GET_CLASS (self), &n_properties);
- for (i = 0; i < n_properties; i++)
- g_object_notify_by_pspec (G_OBJECT (self), properties[i]);
- g_free (properties);
+ for (i = 1; i < _PROPERTY_ENUMS_LAST; i++)
+ g_object_notify_by_pspec ((GObject *) self, obj_properties[i]);
}
-/**************************************************************/
-
-static void
-nm_device_tun_init (NMDeviceTun *self)
-{
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
@@ -411,21 +414,25 @@ set_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
+static void
+nm_device_tun_init (NMDeviceTun *self)
+{
+}
+
static void
nm_device_tun_class_init (NMDeviceTunClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *device_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMDeviceTunPrivate));
-
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NULL, NM_LINK_TYPE_TUN, NM_LINK_TYPE_TAP)
object_class->get_property = get_property;
object_class->set_property = set_property;
device_class->connection_type = NM_SETTING_TUN_SETTING_NAME;
-
device_class->link_changed = link_changed;
device_class->complete_connection = complete_connection;
device_class->check_connection_compatible = check_connection_compatible;
@@ -437,42 +444,38 @@ nm_device_tun_class_init (NMDeviceTunClass *klass)
device_class->act_stage1_prepare = act_stage1_prepare;
device_class->ip4_config_pre_commit = ip4_config_pre_commit;
- /* properties */
- g_object_class_install_property
- (object_class, PROP_OWNER,
- g_param_spec_int64 (NM_DEVICE_TUN_OWNER, "", "",
- -1, G_MAXUINT32, -1,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_GROUP,
- g_param_spec_int64 (NM_DEVICE_TUN_GROUP, "", "",
- -1, G_MAXUINT32, -1,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_MODE,
- g_param_spec_string (NM_DEVICE_TUN_MODE, "", "",
- "tun",
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_NO_PI,
- g_param_spec_boolean (NM_DEVICE_TUN_NO_PI, "", "",
- FALSE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_VNET_HDR,
- g_param_spec_boolean (NM_DEVICE_TUN_VNET_HDR, "", "",
- FALSE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_MULTI_QUEUE,
- g_param_spec_boolean (NM_DEVICE_TUN_MULTI_QUEUE, "", "",
- FALSE,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_OWNER] =
+ g_param_spec_int64 (NM_DEVICE_TUN_OWNER, "", "",
+ -1, G_MAXUINT32, -1,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_GROUP] =
+ g_param_spec_int64 (NM_DEVICE_TUN_GROUP, "", "",
+ -1, G_MAXUINT32, -1,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_MODE] =
+ g_param_spec_string (NM_DEVICE_TUN_MODE, "", "",
+ "tun",
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_NO_PI] =
+ g_param_spec_boolean (NM_DEVICE_TUN_NO_PI, "", "",
+ FALSE,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_VNET_HDR] =
+ g_param_spec_boolean (NM_DEVICE_TUN_VNET_HDR, "", "",
+ FALSE,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_MULTI_QUEUE] =
+ g_param_spec_boolean (NM_DEVICE_TUN_MULTI_QUEUE, "", "",
+ FALSE,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_TUN_SKELETON,
@@ -480,7 +483,7 @@ nm_device_tun_class_init (NMDeviceTunClass *klass)
}
-/*************************************************************/
+/*****************************************************************************/
#define NM_TYPE_TUN_FACTORY (nm_tun_factory_get_type ())
#define NM_TUN_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_TUN_FACTORY, NMTunFactory))
@@ -530,5 +533,5 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (TUN, Tun, tun,
NM_DEVICE_FACTORY_DECLARE_LINK_TYPES (NM_LINK_TYPE_TUN, NM_LINK_TYPE_TAP)
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_TUN_SETTING_NAME),
factory_iface->create_device = create_device;
- )
+);
diff --git a/src/devices/nm-device-tun.h b/src/devices/nm-device-tun.h
index d62b0c373e..b0d309bb06 100644
--- a/src/devices/nm-device-tun.h
+++ b/src/devices/nm-device-tun.h
@@ -37,8 +37,8 @@
#define NM_DEVICE_TUN_VNET_HDR "vnet-hdr"
#define NM_DEVICE_TUN_MULTI_QUEUE "multi-queue"
-typedef NMDevice NMDeviceTun;
-typedef NMDeviceClass NMDeviceTunClass;
+typedef struct _NMDeviceTun NMDeviceTun;
+typedef struct _NMDeviceTunClass NMDeviceTunClass;
GType nm_device_tun_get_type (void);
diff --git a/src/devices/nm-device-veth.c b/src/devices/nm-device-veth.c
index 56923315c6..33078d786c 100644
--- a/src/devices/nm-device-veth.c
+++ b/src/devices/nm-device-veth.c
@@ -51,7 +51,7 @@ struct _NMDeviceVeth {
};
struct _NMDeviceVethClass {
- NMDeviceEthernetClass parent_class;
+ NMDeviceEthernetClass parent;
};
NM_GOBJECT_PROPERTIES_DEFINE (NMDeviceVeth,
@@ -115,7 +115,7 @@ can_unmanaged_external_down (NMDevice *self)
return FALSE;
}
-/**************************************************************/
+/*****************************************************************************/
static void
nm_device_veth_init (NMDeviceVeth *self)
@@ -180,7 +180,7 @@ nm_device_veth_class_init (NMDeviceVethClass *klass)
NULL);
}
-/*************************************************************/
+/*****************************************************************************/
#define NM_TYPE_VETH_FACTORY (nm_veth_factory_get_type ())
#define NM_VETH_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VETH_FACTORY, NMVethFactory))
diff --git a/src/devices/nm-device-vlan.c b/src/devices/nm-device-vlan.c
index ad9d2486a8..1c2f6dd70a 100644
--- a/src/devices/nm-device-vlan.c
+++ b/src/devices/nm-device-vlan.c
@@ -30,7 +30,7 @@
#include "nm-device-private.h"
#include "nm-enum-types.h"
#include "nm-settings.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-ip4-config.h"
#include "nm-platform.h"
#include "nm-device-factory.h"
@@ -43,9 +43,12 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceVlan);
-G_DEFINE_TYPE (NMDeviceVlan, nm_device_vlan, NM_TYPE_DEVICE)
+/*****************************************************************************/
-#define NM_DEVICE_VLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_VLAN, NMDeviceVlanPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE (NMDeviceVlan,
+ PROP_PARENT,
+ PROP_VLAN_ID,
+);
typedef struct {
NMDevice *parent;
@@ -54,15 +57,20 @@ typedef struct {
guint vlan_id;
} NMDeviceVlanPrivate;
-enum {
- PROP_0,
- PROP_PARENT,
- PROP_VLAN_ID,
+struct _NMDeviceVlan {
+ NMDevice parent;
+ NMDeviceVlanPrivate _priv;
+};
- LAST_PROP
+struct _NMDeviceVlanClass {
+ NMDeviceClass parent;
};
-/******************************************************************/
+G_DEFINE_TYPE (NMDeviceVlan, nm_device_vlan, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_VLAN_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceVlan, NM_IS_DEVICE_VLAN)
+
+/*****************************************************************************/
static void
parent_state_changed (NMDevice *parent,
@@ -91,18 +99,18 @@ parent_hwaddr_maybe_changed (NMDevice *parent,
NMSettingIPConfig *s_ip6;
/* Never touch assumed devices */
- if (nm_device_uses_assumed_connection (self))
+ if (nm_device_uses_assumed_connection ((NMDevice *) self))
return;
- connection = nm_device_get_applied_connection (self);
+ connection = nm_device_get_applied_connection ((NMDevice *) self);
if (!connection)
return;
/* Update the VLAN MAC only if configuration does not specify one */
- if (nm_device_hw_addr_is_explict (self))
+ if (nm_device_hw_addr_is_explict ((NMDevice *) self))
return;
- old_mac = nm_device_get_hw_address (self);
+ old_mac = nm_device_get_hw_address ((NMDevice *) self);
new_mac = nm_device_get_hw_address (parent);
if (nm_streq0 (old_mac, new_mac))
return;
@@ -110,7 +118,7 @@ parent_hwaddr_maybe_changed (NMDevice *parent,
_LOGD (LOGD_VLAN, "parent hardware address changed to %s%s%s",
NM_PRINT_FMT_QUOTE_STRING (new_mac));
if (new_mac) {
- nm_device_hw_addr_set (self, new_mac, "vlan-parent");
+ nm_device_hw_addr_set ((NMDevice *) self, new_mac, "vlan-parent");
/* When changing the hw address the interface is taken down,
* removing the IPv6 configuration; reapply it.
*/
@@ -152,10 +160,10 @@ nm_device_vlan_set_parent (NMDeviceVlan *self, NMDevice *parent)
}
/* Recheck availability now that the parent has changed */
- nm_device_queue_recheck_available (self,
+ nm_device_queue_recheck_available (device,
NM_DEVICE_STATE_REASON_PARENT_CHANGED,
NM_DEVICE_STATE_REASON_PARENT_CHANGED);
- g_object_notify (G_OBJECT (device), NM_DEVICE_VLAN_PARENT);
+ _notify (self, PROP_PARENT);
}
static void
@@ -170,7 +178,7 @@ update_properties (NMDevice *device)
g_return_if_fail (NM_IS_DEVICE_VLAN (device));
- priv = NM_DEVICE_VLAN_GET_PRIVATE (device);
+ priv = NM_DEVICE_VLAN_GET_PRIVATE ((NMDeviceVlan *) device);
ifindex = nm_device_get_ifindex (device);
@@ -188,7 +196,7 @@ update_properties (NMDevice *device)
vlan_id = plnk ? plnk->id : 0;
if (vlan_id != priv->vlan_id) {
priv->vlan_id = vlan_id;
- g_object_notify ((GObject *) device, NM_DEVICE_VLAN_ID);
+ _notify ((NMDeviceVlan *) device, PROP_VLAN_ID);
}
g_object_thaw_notify ((GObject *) device);
@@ -209,7 +217,7 @@ create_and_realize (NMDevice *device,
const NMPlatformLink **out_plink,
GError **error)
{
- NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE (device);
+ NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE ((NMDeviceVlan *) device);
const char *iface = nm_device_get_iface (device);
NMSettingVlan *s_vlan;
int parent_ifindex;
@@ -257,7 +265,7 @@ create_and_realize (NMDevice *device,
nm_device_vlan_set_parent (NM_DEVICE_VLAN (device), parent);
if (vlan_id != priv->vlan_id) {
priv->vlan_id = vlan_id;
- g_object_notify ((GObject *) device, NM_DEVICE_VLAN_ID);
+ _notify ((NMDeviceVlan *) device, PROP_VLAN_ID);
}
return TRUE;
@@ -268,12 +276,12 @@ unrealize_notify (NMDevice *device)
{
NM_DEVICE_CLASS (nm_device_vlan_parent_class)->unrealize_notify (device);
- NM_DEVICE_VLAN_GET_PRIVATE (device)->vlan_id = 0;
- g_object_notify (G_OBJECT (device), NM_DEVICE_VLAN_ID);
+ NM_DEVICE_VLAN_GET_PRIVATE ((NMDeviceVlan *) device)->vlan_id = 0;
+ _notify ((NMDeviceVlan *) device, PROP_VLAN_ID);
nm_device_vlan_set_parent (NM_DEVICE_VLAN (device), NULL);
}
-/******************************************************************/
+/*****************************************************************************/
static NMDeviceCapabilities
get_generic_capabilities (NMDevice *dev)
@@ -282,12 +290,12 @@ get_generic_capabilities (NMDevice *dev)
return NM_DEVICE_CAP_CARRIER_DETECT | NM_DEVICE_CAP_IS_SOFTWARE;
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
is_available (NMDevice *device, NMDeviceCheckDevAvailableFlags flags)
{
- if (!NM_DEVICE_VLAN_GET_PRIVATE (device)->parent)
+ if (!NM_DEVICE_VLAN_GET_PRIVATE ((NMDeviceVlan *) device)->parent)
return FALSE;
return NM_DEVICE_CLASS (nm_device_vlan_parent_class)->is_available (device, flags);
@@ -318,7 +326,7 @@ notify_new_device_added (NMDevice *device, NMDevice *new_device)
nm_device_vlan_set_parent (self, new_device);
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
match_parent (NMDeviceVlan *self, const char *parent)
@@ -373,7 +381,7 @@ match_hwaddr (NMDevice *device, NMConnection *connection, gboolean fail_if_no_hw
if (!setting_mac)
return !fail_if_no_hwaddr;
- priv = NM_DEVICE_VLAN_GET_PRIVATE (device);
+ priv = NM_DEVICE_VLAN_GET_PRIVATE ((NMDeviceVlan *) device);
if (!priv->parent)
return !fail_if_no_hwaddr;
@@ -384,7 +392,7 @@ match_hwaddr (NMDevice *device, NMConnection *connection, gboolean fail_if_no_hw
static gboolean
check_connection_compatible (NMDevice *device, NMConnection *connection)
{
- NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE (device);
+ NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE ((NMDeviceVlan *) device);
NMSettingVlan *s_vlan;
const char *parent = NULL;
@@ -468,7 +476,7 @@ complete_connection (NMDevice *device,
static void
update_connection (NMDevice *device, NMConnection *connection)
{
- NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE (device);
+ NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE ((NMDeviceVlan *) device);
NMSettingVlan *s_vlan = nm_connection_get_setting_vlan (connection);
int ifindex = nm_device_get_ifindex (device);
const char *setting_parent, *new_parent;
@@ -534,7 +542,7 @@ update_connection (NMDevice *device, NMConnection *connection)
static NMActStageReturn
act_stage1_prepare (NMDevice *dev, NMDeviceStateReason *reason)
{
- NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE (dev);
+ NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE ((NMDeviceVlan *) dev);
NMSettingVlan *s_vlan;
NMActStageReturn ret;
@@ -599,18 +607,13 @@ ip4_config_pre_commit (NMDevice *device, NMIP4Config *config)
}
}
-/******************************************************************/
-
-static void
-nm_device_vlan_init (NMDeviceVlan * self)
-{
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
- NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE (object);
+ NMDeviceVlanPrivate *priv = NM_DEVICE_VLAN_GET_PRIVATE ((NMDeviceVlan *) object);
switch (prop_id) {
case PROP_PARENT:
@@ -625,11 +628,11 @@ get_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+nm_device_vlan_init (NMDeviceVlan * self)
{
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
static void
@@ -648,11 +651,7 @@ nm_device_vlan_class_init (NMDeviceVlanClass *klass)
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NM_SETTING_VLAN_SETTING_NAME, NM_LINK_TYPE_VLAN)
- g_type_class_add_private (object_class, sizeof (NMDeviceVlanPrivate));
-
- /* virtual methods */
object_class->get_property = get_property;
- object_class->set_property = set_property;
object_class->dispose = dispose;
parent_class->create_and_realize = create_and_realize;
@@ -669,25 +668,25 @@ nm_device_vlan_class_init (NMDeviceVlanClass *klass)
parent_class->complete_connection = complete_connection;
parent_class->update_connection = update_connection;
- /* properties */
- g_object_class_install_property
- (object_class, PROP_PARENT,
- g_param_spec_string (NM_DEVICE_VLAN_PARENT, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
- g_object_class_install_property
- (object_class, PROP_VLAN_ID,
- g_param_spec_uint (NM_DEVICE_VLAN_ID, "", "",
- 0, 4095, 0,
- G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_PARENT] =
+ g_param_spec_string (NM_DEVICE_VLAN_PARENT, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+ obj_properties[PROP_VLAN_ID] =
+ g_param_spec_uint (NM_DEVICE_VLAN_ID, "", "",
+ 0, 4095, 0,
+ G_PARAM_READABLE
+ | G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_VLAN_SKELETON,
NULL);
}
-/*************************************************************/
+/*****************************************************************************/
#define NM_TYPE_VLAN_FACTORY (nm_vlan_factory_get_type ())
#define NM_VLAN_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VLAN_FACTORY, NMVlanFactory))
@@ -765,5 +764,4 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (VLAN, Vlan, vlan,
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
factory_iface->get_connection_iface = get_connection_iface;
- )
-
+);
diff --git a/src/devices/nm-device-vlan.h b/src/devices/nm-device-vlan.h
index 71ca80307a..f587f4f60b 100644
--- a/src/devices/nm-device-vlan.h
+++ b/src/devices/nm-device-vlan.h
@@ -40,8 +40,8 @@ typedef enum {
#define NM_DEVICE_VLAN_PARENT "parent"
#define NM_DEVICE_VLAN_ID "vlan-id"
-typedef NMDevice NMDeviceVlan;
-typedef NMDeviceClass NMDeviceVlanClass;
+typedef struct _NMDeviceVlan NMDeviceVlan;
+typedef struct _NMDeviceVlanClass NMDeviceVlanClass;
GType nm_device_vlan_get_type (void);
diff --git a/src/devices/nm-device-vxlan.c b/src/devices/nm-device-vxlan.c
index 674c2a787d..583cb6677b 100644
--- a/src/devices/nm-device-vxlan.c
+++ b/src/devices/nm-device-vxlan.c
@@ -32,7 +32,7 @@
#include "nm-setting-vxlan.h"
#include "nm-setting-wired.h"
#include "nm-settings.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-ip4-config.h"
#include "nmdbus-device-vxlan.h"
@@ -40,17 +40,9 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceVxlan);
-G_DEFINE_TYPE (NMDeviceVxlan, nm_device_vxlan, NM_TYPE_DEVICE)
-
-#define NM_DEVICE_VXLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_VXLAN, NMDeviceVxlanPrivate))
-
-typedef struct {
- NMDevice *parent;
- NMPlatformLnkVxlan props;
-} NMDeviceVxlanPrivate;
+/*****************************************************************************/
-enum {
- PROP_0,
+NM_GOBJECT_PROPERTIES_DEFINE (NMDeviceVxlan,
PROP_PARENT,
PROP_ID,
PROP_LOCAL,
@@ -67,17 +59,33 @@ enum {
PROP_RSC,
PROP_L2MISS,
PROP_L3MISS,
+);
- LAST_PROP
+typedef struct {
+ NMDevice *parent;
+ NMPlatformLnkVxlan props;
+} NMDeviceVxlanPrivate;
+
+struct _NMDeviceVxlan {
+ NMDevice parent;
+ NMDeviceVxlanPrivate _priv;
};
-/**************************************************************/
+struct _NMDeviceVxlanClass {
+ NMDeviceClass parent;
+};
+
+G_DEFINE_TYPE (NMDeviceVxlan, nm_device_vxlan, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_VXLAN_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceVxlan, NM_IS_DEVICE_VXLAN)
+
+/*****************************************************************************/
static void
update_properties (NMDevice *device)
{
NMDeviceVxlan *self = NM_DEVICE_VXLAN (device);
- NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE (device);
+ NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE (self);
GObject *object = G_OBJECT (device);
const NMPlatformLnkVxlan *props;
NMDevice *parent;
@@ -95,42 +103,42 @@ update_properties (NMDevice *device)
parent = nm_manager_get_device_by_ifindex (nm_manager_get (), props->parent_ifindex);
if (parent)
priv->parent = g_object_ref (parent);
- g_object_notify (object, NM_DEVICE_VXLAN_PARENT);
+ _notify (self, PROP_PARENT);
}
if (priv->props.id != props->id)
- g_object_notify (object, NM_DEVICE_VXLAN_ID);
+ _notify (self, PROP_ID);
if (priv->props.local != props->local)
- g_object_notify (object, NM_DEVICE_VXLAN_LOCAL);
+ _notify (self, PROP_LOCAL);
if (memcmp (&priv->props.local6, &props->local6, sizeof (props->local6)) != 0)
- g_object_notify (object, NM_DEVICE_VXLAN_LOCAL);
+ _notify (self, PROP_LOCAL);
if (priv->props.group != props->group)
- g_object_notify (object, NM_DEVICE_VXLAN_GROUP);
+ _notify (self, PROP_GROUP);
if (memcmp (&priv->props.group6, &props->group6, sizeof (props->group6)) != 0)
- g_object_notify (object, NM_DEVICE_VXLAN_GROUP);
+ _notify (self, PROP_GROUP);
if (priv->props.tos != props->tos)
- g_object_notify (object, NM_DEVICE_VXLAN_TOS);
+ _notify (self, PROP_TOS);
if (priv->props.ttl != props->ttl)
- g_object_notify (object, NM_DEVICE_VXLAN_TTL);
+ _notify (self, PROP_TTL);
if (priv->props.learning != props->learning)
- g_object_notify (object, NM_DEVICE_VXLAN_LEARNING);
+ _notify (self, PROP_LEARNING);
if (priv->props.ageing != props->ageing)
- g_object_notify (object, NM_DEVICE_VXLAN_AGEING);
+ _notify (self, PROP_AGEING);
if (priv->props.limit != props->limit)
- g_object_notify (object, NM_DEVICE_VXLAN_LIMIT);
+ _notify (self, PROP_LIMIT);
if (priv->props.src_port_min != props->src_port_min)
- g_object_notify (object, NM_DEVICE_VXLAN_SRC_PORT_MIN);
+ _notify (self, PROP_SRC_PORT_MIN);
if (priv->props.src_port_max != props->src_port_max)
- g_object_notify (object, NM_DEVICE_VXLAN_SRC_PORT_MAX);
+ _notify (self, PROP_SRC_PORT_MAX);
if (priv->props.dst_port != props->dst_port)
- g_object_notify (object, NM_DEVICE_VXLAN_DST_PORT);
+ _notify (self, PROP_DST_PORT);
if (priv->props.proxy != props->proxy)
- g_object_notify (object, NM_DEVICE_VXLAN_PROXY);
+ _notify (self, PROP_PROXY);
if (priv->props.rsc != props->rsc)
- g_object_notify (object, NM_DEVICE_VXLAN_RSC);
+ _notify (self, PROP_RSC);
if (priv->props.l2miss != props->l2miss)
- g_object_notify (object, NM_DEVICE_VXLAN_L2MISS);
+ _notify (self, PROP_L2MISS);
if (priv->props.l3miss != props->l3miss)
- g_object_notify (object, NM_DEVICE_VXLAN_L3MISS);
+ _notify (self, PROP_L3MISS);
priv->props = *props;
@@ -165,17 +173,14 @@ unrealize_notify (NMDevice *device)
{
NMDeviceVxlan *self = NM_DEVICE_VXLAN (device);
NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE (self);
- GParamSpec **properties;
- guint n_properties, i;
+ guint i;
NM_DEVICE_CLASS (nm_device_vxlan_parent_class)->unrealize_notify (device);
memset (&priv->props, 0, sizeof (NMPlatformLnkVxlan));
- properties = g_object_class_list_properties (G_OBJECT_GET_CLASS (self), &n_properties);
- for (i = 0; i < n_properties; i++)
- g_object_notify_by_pspec (G_OBJECT (self), properties[i]);
- g_free (properties);
+ for (i = 1; i < _PROPERTY_ENUMS_LAST; i++)
+ g_object_notify_by_pspec (G_OBJECT (self), obj_properties[i]);
}
static gboolean
@@ -300,7 +305,7 @@ address_matches (const char *str, in_addr_t addr4, struct in6_addr *addr6)
static gboolean
check_connection_compatible (NMDevice *device, NMConnection *connection)
{
- NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE (device);
+ NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE ((NMDeviceVxlan *) device);
NMSettingVxlan *s_vxlan;
const char *parent;
@@ -394,7 +399,7 @@ complete_connection (NMDevice *device,
static void
update_connection (NMDevice *device, NMConnection *connection)
{
- NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE (device);
+ NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE ((NMDeviceVxlan *) device);
NMSettingVxlan *s_vxlan = nm_connection_get_setting_vxlan (connection);
NMDevice *parent = NULL;
const char *setting_parent, *new_parent;
@@ -543,18 +548,13 @@ ip4_config_pre_commit (NMDevice *device, NMIP4Config *config)
}
}
-/**************************************************************/
-
-static void
-nm_device_vxlan_init (NMDeviceVxlan *self)
-{
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
- NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE (object);
+ NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE ((NMDeviceVxlan *) object);
NMDevice *parent;
switch (prop_id) {
@@ -619,10 +619,17 @@ get_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
+static void
+nm_device_vxlan_init (NMDeviceVxlan *self)
+{
+}
+
static void
dispose (GObject *object)
{
- NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE (object);
+ NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE ((NMDeviceVxlan *) object);
g_clear_object (&priv->parent);
G_OBJECT_CLASS (nm_device_vxlan_parent_class)->dispose (object);
@@ -634,8 +641,6 @@ nm_device_vxlan_class_init (NMDeviceVxlanClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *device_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMDeviceVxlanPrivate));
-
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NULL, NM_LINK_TYPE_VXLAN)
object_class->get_property = get_property;
@@ -653,125 +658,110 @@ nm_device_vxlan_class_init (NMDeviceVxlanClass *klass)
device_class->act_stage1_prepare = act_stage1_prepare;
device_class->ip4_config_pre_commit = ip4_config_pre_commit;
- /* properties */
- g_object_class_install_property
- (object_class, PROP_PARENT,
- g_param_spec_string (NM_DEVICE_VXLAN_PARENT, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_ID,
- g_param_spec_uint (NM_DEVICE_VXLAN_ID, "", "",
- 0, G_MAXUINT32, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_LOCAL,
- g_param_spec_string (NM_DEVICE_VXLAN_LOCAL, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_GROUP,
- g_param_spec_string (NM_DEVICE_VXLAN_GROUP, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_TOS,
- g_param_spec_uchar (NM_DEVICE_VXLAN_TOS, "", "",
- 0, 255, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_TTL,
- g_param_spec_uchar (NM_DEVICE_VXLAN_TTL, "", "",
- 0, 255, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_LEARNING,
- g_param_spec_boolean (NM_DEVICE_VXLAN_LEARNING, "", "",
- FALSE,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_AGEING,
- g_param_spec_uint (NM_DEVICE_VXLAN_AGEING, "", "",
- 0, G_MAXUINT32, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_LIMIT,
- g_param_spec_uint (NM_DEVICE_VXLAN_LIMIT, "", "",
- 0, G_MAXUINT32, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_SRC_PORT_MIN,
- g_param_spec_uint (NM_DEVICE_VXLAN_SRC_PORT_MIN, "", "",
- 0, 65535, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_SRC_PORT_MAX,
- g_param_spec_uint (NM_DEVICE_VXLAN_SRC_PORT_MAX, "", "",
- 0, 65535, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_DST_PORT,
- g_param_spec_uint (NM_DEVICE_VXLAN_DST_PORT, "", "",
- 0, 65535, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_PROXY,
- g_param_spec_boolean (NM_DEVICE_VXLAN_PROXY, "", "",
- FALSE,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_RSC,
- g_param_spec_boolean (NM_DEVICE_VXLAN_RSC, "", "",
- FALSE,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_L2MISS,
- g_param_spec_boolean (NM_DEVICE_VXLAN_L2MISS, "", "",
- FALSE,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_L3MISS,
- g_param_spec_boolean (NM_DEVICE_VXLAN_L3MISS, "", "",
- FALSE,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_PARENT] =
+ g_param_spec_string (NM_DEVICE_VXLAN_PARENT, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_ID] =
+ g_param_spec_uint (NM_DEVICE_VXLAN_ID, "", "",
+ 0, G_MAXUINT32, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_LOCAL] =
+ g_param_spec_string (NM_DEVICE_VXLAN_LOCAL, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_GROUP] =
+ g_param_spec_string (NM_DEVICE_VXLAN_GROUP, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_TOS] =
+ g_param_spec_uchar (NM_DEVICE_VXLAN_TOS, "", "",
+ 0, 255, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_TTL] =
+ g_param_spec_uchar (NM_DEVICE_VXLAN_TTL, "", "",
+ 0, 255, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_LEARNING] =
+ g_param_spec_boolean (NM_DEVICE_VXLAN_LEARNING, "", "",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_AGEING] =
+ g_param_spec_uint (NM_DEVICE_VXLAN_AGEING, "", "",
+ 0, G_MAXUINT32, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_LIMIT] =
+ g_param_spec_uint (NM_DEVICE_VXLAN_LIMIT, "", "",
+ 0, G_MAXUINT32, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_SRC_PORT_MIN] =
+ g_param_spec_uint (NM_DEVICE_VXLAN_SRC_PORT_MIN, "", "",
+ 0, 65535, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_SRC_PORT_MAX] =
+ g_param_spec_uint (NM_DEVICE_VXLAN_SRC_PORT_MAX, "", "",
+ 0, 65535, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_DST_PORT] =
+ g_param_spec_uint (NM_DEVICE_VXLAN_DST_PORT, "", "",
+ 0, 65535, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_PROXY] =
+ g_param_spec_boolean (NM_DEVICE_VXLAN_PROXY, "", "",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_RSC] =
+ g_param_spec_boolean (NM_DEVICE_VXLAN_RSC, "", "",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_L2MISS] =
+ g_param_spec_boolean (NM_DEVICE_VXLAN_L2MISS, "", "",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_L3MISS] =
+ g_param_spec_boolean (NM_DEVICE_VXLAN_L3MISS, "", "",
+ FALSE,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_VXLAN_SKELETON,
NULL);
}
-/*************************************************************/
+/*****************************************************************************/
#define NM_TYPE_VXLAN_FACTORY (nm_vxlan_factory_get_type ())
#define NM_VXLAN_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VXLAN_FACTORY, NMVxlanFactory))
@@ -830,5 +820,5 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (VXLAN, Vxlan, vxlan,
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
factory_iface->get_connection_iface = get_connection_iface;
- )
+);
diff --git a/src/devices/nm-device-vxlan.h b/src/devices/nm-device-vxlan.h
index 71204d3beb..82e5c604e9 100644
--- a/src/devices/nm-device-vxlan.h
+++ b/src/devices/nm-device-vxlan.h
@@ -47,8 +47,8 @@
#define NM_DEVICE_VXLAN_L2MISS "l2miss"
#define NM_DEVICE_VXLAN_L3MISS "l3miss"
-typedef NMDevice NMDeviceVxlan;
-typedef NMDeviceClass NMDeviceVxlanClass;
+typedef struct _NMDeviceVxlan NMDeviceVxlan;
+typedef struct _NMDeviceVxlanClass NMDeviceVxlanClass;
GType nm_device_vxlan_get_type (void);
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index c41d8e4eba..e2cd28f911 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -44,7 +44,7 @@
#include "nm-rdisc.h"
#include "nm-lndp-rdisc.h"
#include "nm-dhcp-manager.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-ip4-config.h"
#include "nm-ip6-config.h"
#include "nm-dnsmasq-manager.h"
@@ -135,7 +135,7 @@ NM_GOBJECT_PROPERTIES_DEFINE (NMDevice,
#define DEFAULT_AUTOCONNECT TRUE
-/***********************************************************/
+/*****************************************************************************/
#define PENDING_ACTION_DHCP4 "dhcp4"
#define PENDING_ACTION_DHCP6 "dhcp6"
@@ -465,7 +465,7 @@ static void nm_device_set_mtu (NMDevice *self, guint32 mtu);
static void dhcp_schedule_restart (NMDevice *self, int family, const char *reason);
static void _cancel_activation (NMDevice *self);
-/***********************************************************/
+/*****************************************************************************/
#define QUEUED_PREFIX "queued state change to "
@@ -569,7 +569,7 @@ NM_UTILS_LOOKUP_STR_DEFINE_STATIC (_reason_to_string, NMDeviceStateReason,
#define reason_to_string(reason) \
NM_UTILS_LOOKUP_STR (_reason_to_string, reason)
-/***********************************************************/
+/*****************************************************************************/
NMSettings *
nm_device_get_settings (NMDevice *self)
@@ -603,7 +603,7 @@ init_ip6_config_dns_priority (NMDevice *self, NMIP6Config *config)
nm_ip6_config_set_dns_priority (config, priority ?: NM_DNS_PRIORITY_DEFAULT_NORMAL);
}
-/***********************************************************/
+/*****************************************************************************/
gboolean
nm_device_ipv6_sysctl_set (NMDevice *self, const char *property, const char *value)
@@ -634,7 +634,7 @@ _add_capabilities (NMDevice *self, NMDeviceCapabilities capabilities)
}
}
-/***********************************************************/
+/*****************************************************************************/
static const char *
_get_stable_id (NMConnection *connection, NMUtilsStableType *out_stable_type)
@@ -658,7 +658,7 @@ _get_stable_id (NMConnection *connection, NMUtilsStableType *out_stable_type)
return stable_id;
}
-/***********************************************************/
+/*****************************************************************************/
NM_UTILS_LOOKUP_STR_DEFINE_STATIC (_ip_state_to_string, IpState,
NM_UTILS_LOOKUP_DEFAULT_WARN ("unknown"),
@@ -1320,7 +1320,7 @@ nm_device_get_physical_port_id (NMDevice *self)
return NM_DEVICE_GET_PRIVATE (self)->physical_port_id;
}
-/***********************************************************/
+/*****************************************************************************/
static gboolean
nm_device_uses_generated_assumed_connection (NMDevice *self)
@@ -4245,7 +4245,7 @@ nm_device_ip_method_failed (NMDevice *self, int family, NMDeviceStateReason reas
nm_device_state_changed (self, NM_DEVICE_STATE_FAILED, reason);
}
-/*********************************************/
+/*****************************************************************************/
/* IPv4 DAD stuff */
static guint
@@ -4429,7 +4429,7 @@ ipv4_dad_start (NMDevice *self, NMIP4Config **configs, ArpingCallback cb)
}
}
-/*********************************************/
+/*****************************************************************************/
/* IPv4LL stuff */
static void
@@ -4620,7 +4620,7 @@ fail:
return NM_ACT_STAGE_RETURN_FAILURE;
}
-/*********************************************/
+/*****************************************************************************/
static gboolean
_device_get_default_route_from_platform (NMDevice *self, int addr_family, NMPlatformIPRoute *out_route)
@@ -4666,7 +4666,7 @@ _device_get_default_route_from_platform (NMDevice *self, int addr_family, NMPlat
return success;
}
-/*********************************************/
+/*****************************************************************************/
static void
ensure_con_ip4_config (NMDevice *self)
@@ -4720,7 +4720,7 @@ ensure_con_ip6_config (NMDevice *self)
}
}
-/*********************************************/
+/*****************************************************************************/
/* DHCPv4 stuff */
static void
@@ -5218,7 +5218,7 @@ nm_device_dhcp4_renew (NMDevice *self, gboolean release)
return (ret != NM_ACT_STAGE_RETURN_FAILURE);
}
-/*********************************************/
+/*****************************************************************************/
static GHashTable *shared_ips = NULL;
@@ -5288,7 +5288,7 @@ shared4_new_config (NMDevice *self, NMConnection *connection, NMDeviceStateReaso
return config;
}
-/*********************************************/
+/*****************************************************************************/
static gboolean
connection_ip4_method_requires_carrier (NMConnection *connection,
@@ -5466,7 +5466,7 @@ act_stage3_ip4_config_start (NMDevice *self,
return ret;
}
-/*********************************************/
+/*****************************************************************************/
/* DHCPv6 stuff */
static void
@@ -6045,7 +6045,7 @@ nm_device_dhcp6_renew (NMDevice *self, gboolean release)
return dhcp6_start (self, FALSE, NULL);
}
-/******************************************/
+/*****************************************************************************/
static void
linklocal6_cleanup (NMDevice *self)
@@ -6225,7 +6225,7 @@ linklocal6_start (NMDevice *self)
return NM_ACT_STAGE_RETURN_POSTPONE;
}
-/******************************************/
+/*****************************************************************************/
static void nm_device_ipv6_set_mtu (NMDevice *self, guint32 mtu);
@@ -6548,7 +6548,7 @@ addrconf6_cleanup (NMDevice *self)
g_clear_object (&priv->rdisc);
}
-/******************************************/
+/*****************************************************************************/
static const char *ip6_properties_to_save[] = {
"accept_ra",
@@ -6644,7 +6644,7 @@ set_nm_ipv6ll (NMDevice *self, gboolean enable)
}
}
-/************************************************************************/
+/*****************************************************************************/
static NMSettingIP6ConfigPrivacy
_ip6_privacy_clamp (NMSettingIP6ConfigPrivacy use_tempaddr)
@@ -6702,7 +6702,7 @@ _ip6_privacy_get (NMDevice *self)
return _ip6_privacy_clamp (ip6_privacy);
}
-/****************************************************************/
+/*****************************************************************************/
static gboolean
ip6_requires_slaves (NMConnection *connection)
@@ -8852,7 +8852,7 @@ nm_device_get_ip6_config (NMDevice *self)
return NM_DEVICE_GET_PRIVATE (self)->ip6_config;
}
-/****************************************************************/
+/*****************************************************************************/
static void
dispatcher_cleanup (NMDevice *self)
@@ -8882,7 +8882,7 @@ dispatcher_complete_proceed_state (guint call_id, gpointer user_data)
priv->dispatcher.post_state_reason = NM_DEVICE_STATE_REASON_NONE;
}
-/****************************************************************/
+/*****************************************************************************/
static void
ip_check_pre_up (NMDevice *self)
@@ -9110,7 +9110,7 @@ nm_device_start_ip_check (NMDevice *self)
ip_check_pre_up (self);
}
-/****************************************************************/
+/*****************************************************************************/
static gboolean
carrier_wait_timeout (gpointer user_data)
@@ -10663,7 +10663,7 @@ nm_device_has_pending_action (NMDevice *self)
return !!priv->pending_actions;
}
-/***********************************************************/
+/*****************************************************************************/
static void
_cancel_activation (NMDevice *self)
@@ -11025,7 +11025,7 @@ nm_device_spawn_iface_helper (NMDevice *self)
g_ptr_array_unref (argv);
}
-/***********************************************************/
+/*****************************************************************************/
static gboolean
ip_config_valid (NMDeviceState state)
@@ -11566,7 +11566,7 @@ nm_device_get_state (NMDevice *self)
return NM_DEVICE_GET_PRIVATE (self)->state;
}
-/***********************************************************/
+/*****************************************************************************/
/* NMConfigDevice interface related stuff */
const char *
@@ -12121,7 +12121,7 @@ spec_match_list (NMDevice *self, const GSList *specs)
return matched;
}
-/***********************************************************/
+/*****************************************************************************/
static const char *
_activation_func_to_string (ActivationHandleFunc func)
@@ -12141,7 +12141,7 @@ _activation_func_to_string (ActivationHandleFunc func)
g_return_val_if_reached ("unknown");
}
-/***********************************************************/
+/*****************************************************************************/
static void
nm_device_init (NMDevice *self)
@@ -12643,7 +12643,6 @@ nm_device_class_init (NMDeviceClass *klass)
exported_object_class->export_path = NM_DBUS_PATH "/Devices/%u";
- /* Virtual methods */
object_class->dispose = dispose;
object_class->finalize = finalize;
object_class->set_property = set_property;
@@ -12675,7 +12674,6 @@ nm_device_class_init (NMDeviceClass *klass)
klass->unmanaged_on_quit = unmanaged_on_quit;
klass->deactivate_reset_hw_addr = deactivate_reset_hw_addr;
- /* Properties */
obj_properties[PROP_UDI] =
g_param_spec_string (NM_DEVICE_UDI, "", "",
NULL,
@@ -12893,7 +12891,6 @@ nm_device_class_init (NMDeviceClass *klass)
g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
- /* Signals */
signals[STATE_CHANGED] =
g_signal_new (NM_DEVICE_STATE_CHANGED,
G_OBJECT_CLASS_TYPE (object_class),
diff --git a/src/devices/nm-lldp-listener.c b/src/devices/nm-lldp-listener.c
index 0ceb84bccf..0c295cac92 100644
--- a/src/devices/nm-lldp-listener.c
+++ b/src/devices/nm-lldp-listener.c
@@ -66,6 +66,12 @@ typedef struct {
};
} LldpAttrData;
+/*****************************************************************************/
+
+NM_GOBJECT_PROPERTIES_DEFINE (NMLldpListener,
+ PROP_NEIGHBORS,
+);
+
typedef struct {
char *iface;
int ifindex;
@@ -79,13 +85,20 @@ typedef struct {
GVariant *variant;
} NMLldpListenerPrivate;
-NM_GOBJECT_PROPERTIES_DEFINE (NMLldpListener,
- PROP_NEIGHBORS,
-);
+struct _NMLldpListener {
+ GObject parent;
+ NMLldpListenerPrivate _priv;
+};
+
+struct _NMLldpListenerClass {
+ GObjectClass parent;
+};
G_DEFINE_TYPE (NMLldpListener, nm_lldp_listener, G_TYPE_OBJECT)
-#define NM_LLDP_LISTENER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_LLDP_LISTENER, NMLldpListenerPrivate))
+#define NM_LLDP_LISTENER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMLldpListener, NM_IS_LLDP_LISTENER)
+
+/*****************************************************************************/
typedef struct {
guint8 chassis_id_type;
@@ -903,8 +916,6 @@ nm_lldp_listener_class_init (NMLldpListenerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMLldpListenerPrivate));
-
object_class->dispose = dispose;
object_class->finalize = finalize;
object_class->get_property = get_property;
diff --git a/src/devices/nm-lldp-listener.h b/src/devices/nm-lldp-listener.h
index 870ca8a5b5..1afa84569a 100644
--- a/src/devices/nm-lldp-listener.h
+++ b/src/devices/nm-lldp-listener.h
@@ -30,13 +30,7 @@
#define NM_LLDP_LISTENER_NEIGHBORS "neighbors"
-struct _NMLldpListener {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-} NMLldpListenerClass;
+typedef struct _NMLldpListenerClass NMLldpListenerClass;
GType nm_lldp_listener_get_type (void);
NMLldpListener *nm_lldp_listener_new (void);
diff --git a/src/devices/team/Makefile.am b/src/devices/team/Makefile.am
index f0ed8201be..f2ad28d1cd 100644
--- a/src/devices/team/Makefile.am
+++ b/src/devices/team/Makefile.am
@@ -28,10 +28,9 @@ pkglib_LTLIBRARIES = libnm-device-plugin-team.la
SYMBOL_VIS_FILE=$(srcdir)/exports.ver
libnm_device_plugin_team_la_SOURCES = \
- nm-device-team.c \
- nm-device-team.h \
nm-team-factory.c \
- nm-team-factory.h
+ nm-device-team.c \
+ nm-device-team.h
libnm_device_plugin_team_la_LDFLAGS = \
-module -avoid-version \
diff --git a/src/devices/team/nm-device-team.c b/src/devices/team/nm-device-team.c
index 09eefe7014..0ed80f84c8 100644
--- a/src/devices/team/nm-device-team.c
+++ b/src/devices/team/nm-device-team.c
@@ -20,6 +20,8 @@
#include "nm-default.h"
+#include "nm-device-team.h"
+
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
@@ -27,7 +29,6 @@
#include <teamdctl.h>
#include <stdlib.h>
-#include "nm-device-team.h"
#include "NetworkManagerUtils.h"
#include "nm-device-private.h"
#include "nm-platform.h"
@@ -41,9 +42,7 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceTeam);
-G_DEFINE_TYPE (NMDeviceTeam, nm_device_team, NM_TYPE_DEVICE)
-
-#define NM_DEVICE_TEAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_TEAM, NMDeviceTeamPrivate))
+/*****************************************************************************/
NM_GOBJECT_PROPERTIES_DEFINE (NMDeviceTeam,
PROP_CONFIG,
@@ -59,9 +58,24 @@ typedef struct {
char *config;
} NMDeviceTeamPrivate;
+struct _NMDeviceTeam {
+ NMDevice parent;
+ NMDeviceTeamPrivate _priv;
+};
+
+struct _NMDeviceTeamClass {
+ NMDeviceClass parent;
+};
+
+G_DEFINE_TYPE (NMDeviceTeam, nm_device_team, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_TEAM_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceTeam, NM_IS_DEVICE_TEAM)
+
+/*****************************************************************************/
+
static gboolean teamd_start (NMDevice *device, NMSettingTeam *s_team);
-/******************************************************************/
+/*****************************************************************************/
static NMDeviceCapabilities
get_generic_capabilities (NMDevice *device)
@@ -179,7 +193,7 @@ teamd_read_config (NMDevice *device)
static gboolean
teamd_read_timeout_cb (gpointer user_data)
{
- NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (user_data);
+ NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE ((NMDeviceTeam *) user_data);
teamd_read_config ((NMDevice *) user_data);
priv->teamd_read_timeout = 0;
@@ -214,7 +228,7 @@ update_connection (NMDevice *device, NMConnection *connection)
g_object_set (G_OBJECT (s_team), NM_SETTING_TEAM_CONFIG, priv->config, NULL);
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
master_update_slave_connection (NMDevice *self,
@@ -281,12 +295,12 @@ master_update_slave_connection (NMDevice *self,
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
static void
teamd_cleanup (NMDevice *device, gboolean free_tdc)
{
- NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (device);
+ NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE ((NMDeviceTeam *) device);
nm_clear_g_source (&priv->teamd_process_watch);
nm_clear_g_source (&priv->teamd_timeout);
@@ -309,7 +323,7 @@ teamd_timeout_cb (gpointer user_data)
{
NMDeviceTeam *self = NM_DEVICE_TEAM (user_data);
NMDevice *device = NM_DEVICE (self);
- NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (device);
+ NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (self);
g_return_val_if_fail (priv->teamd_timeout, FALSE);
priv->teamd_timeout = 0;
@@ -637,7 +651,7 @@ enslave_slave (NMDevice *device,
gboolean configure)
{
NMDeviceTeam *self = NM_DEVICE_TEAM (device);
- NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (device);
+ NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (self);
gboolean success = TRUE, no_firmware = FALSE;
const char *slave_iface = nm_device_get_ip_iface (slave);
NMSettingTeamPort *s_team_port;
@@ -696,7 +710,7 @@ release_slave (NMDevice *device,
gboolean configure)
{
NMDeviceTeam *self = NM_DEVICE_TEAM (device);
- NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (device);
+ NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (self);
gboolean success, no_firmware = FALSE;
if (configure) {
@@ -748,20 +762,7 @@ create_and_realize (NMDevice *device,
return TRUE;
}
-/******************************************************************/
-
-NMDevice *
-nm_device_team_new (const char *iface)
-{
- return (NMDevice *) g_object_new (NM_TYPE_DEVICE_TEAM,
- NM_DEVICE_IFACE, iface,
- NM_DEVICE_DRIVER, "team",
- NM_DEVICE_TYPE_DESC, "Team",
- NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_TEAM,
- NM_DEVICE_LINK_TYPE, NM_LINK_TYPE_TEAM,
- NM_DEVICE_IS_MASTER, TRUE,
- NULL);
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
@@ -780,6 +781,8 @@ get_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
static void
nm_device_team_init (NMDeviceTeam * self)
{
@@ -789,7 +792,7 @@ static void
constructed (GObject *object)
{
NMDevice *device = NM_DEVICE (object);
- NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (object);
+ NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE ((NMDeviceTeam *) device);
char *tmp_str = NULL;
G_OBJECT_CLASS (nm_device_team_parent_class)->constructed (object);
@@ -806,11 +809,24 @@ constructed (GObject *object)
g_free (tmp_str);
}
+NMDevice *
+nm_device_team_new (const char *iface)
+{
+ return (NMDevice *) g_object_new (NM_TYPE_DEVICE_TEAM,
+ NM_DEVICE_IFACE, iface,
+ NM_DEVICE_DRIVER, "team",
+ NM_DEVICE_TYPE_DESC, "Team",
+ NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_TEAM,
+ NM_DEVICE_LINK_TYPE, NM_LINK_TYPE_TEAM,
+ NM_DEVICE_IS_MASTER, TRUE,
+ NULL);
+}
+
static void
dispose (GObject *object)
{
NMDevice *device = NM_DEVICE (object);
- NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE (object);
+ NMDeviceTeamPrivate *priv = NM_DEVICE_TEAM_GET_PRIVATE ((NMDeviceTeam *) device);
if (priv->teamd_dbus_watch) {
g_bus_unwatch_name (priv->teamd_dbus_watch);
@@ -829,8 +845,6 @@ nm_device_team_class_init (NMDeviceTeamClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMDeviceTeamPrivate));
-
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NM_SETTING_TEAM_SETTING_NAME, NM_LINK_TYPE_TEAM)
object_class->constructed = constructed;
diff --git a/src/devices/team/nm-device-team.h b/src/devices/team/nm-device-team.h
index 43e8aab408..90af2e87c5 100644
--- a/src/devices/team/nm-device-team.h
+++ b/src/devices/team/nm-device-team.h
@@ -33,8 +33,8 @@
/* Properties */
#define NM_DEVICE_TEAM_CONFIG "config"
-typedef NMDevice NMDeviceTeam;
-typedef NMDeviceClass NMDeviceTeamClass;
+typedef struct _NMDeviceTeam NMDeviceTeam;
+typedef struct _NMDeviceTeamClass NMDeviceTeamClass;
GType nm_device_team_get_type (void);
diff --git a/src/devices/team/nm-team-factory.c b/src/devices/team/nm-team-factory.c
index edb1329995..97275f7ef7 100644
--- a/src/devices/team/nm-team-factory.c
+++ b/src/devices/team/nm-team-factory.c
@@ -25,28 +25,40 @@
#include "nm-manager.h"
#include "nm-device-factory.h"
-#include "nm-team-factory.h"
#include "nm-device-team.h"
#include "nm-platform.h"
#include "nm-core-internal.h"
+/*****************************************************************************/
+
+#define NM_TYPE_TEAM_FACTORY (nm_team_factory_get_type ())
+#define NM_TEAM_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_TEAM_FACTORY, NMTeamFactory))
+#define NM_TEAM_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_TEAM_FACTORY, NMTeamFactoryClass))
+#define NM_IS_TEAM_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_TEAM_FACTORY))
+#define NM_IS_TEAM_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_TEAM_FACTORY))
+#define NM_TEAM_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_TEAM_FACTORY, NMTeamFactoryClass))
+
+typedef struct _NMTeamFactory NMTeamFactory;
+typedef struct _NMTeamFactoryClass NMTeamFactoryClass;
+
static GType nm_team_factory_get_type (void);
+/*****************************************************************************/
+
+struct _NMTeamFactory {
+ GObject parent;
+};
+
+struct _NMTeamFactoryClass {
+ GObjectClass parent;
+};
+
static void device_factory_interface_init (NMDeviceFactoryInterface *factory_iface);
G_DEFINE_TYPE_EXTENDED (NMTeamFactory, nm_team_factory, G_TYPE_OBJECT, 0,
G_IMPLEMENT_INTERFACE (NM_TYPE_DEVICE_FACTORY, device_factory_interface_init))
-/************************************************************************/
-
-G_MODULE_EXPORT NMDeviceFactory *
-nm_device_factory_create (GError **error)
-{
- nm_manager_set_capability (nm_manager_get (), NM_CAPABILITY_TEAM);
- return (NMDeviceFactory *) g_object_new (NM_TYPE_TEAM_FACTORY, NULL);
-}
-
-/************************************************************************/
+/*****************************************************************************/
static NMDevice *
create_device (NMDeviceFactory *factory,
@@ -63,7 +75,7 @@ NM_DEVICE_FACTORY_DECLARE_TYPES (
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_TEAM_SETTING_NAME)
)
-/************************************************************************/
+/*****************************************************************************/
static void
nm_team_factory_init (NMTeamFactory *self)
@@ -71,13 +83,22 @@ nm_team_factory_init (NMTeamFactory *self)
}
static void
+nm_team_factory_class_init (NMTeamFactoryClass *klass)
+{
+}
+
+static void
device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
{
factory_iface->create_device = create_device;
factory_iface->get_supported_types = get_supported_types;
}
-static void
-nm_team_factory_class_init (NMTeamFactoryClass *klass)
+/*****************************************************************************/
+
+G_MODULE_EXPORT NMDeviceFactory *
+nm_device_factory_create (GError **error)
{
+ nm_manager_set_capability (nm_manager_get (), NM_CAPABILITY_TEAM);
+ return (NMDeviceFactory *) g_object_new (NM_TYPE_TEAM_FACTORY, NULL);
}
diff --git a/src/devices/team/nm-team-factory.h b/src/devices/team/nm-team-factory.h
deleted file mode 100644
index 4155870c2a..0000000000
--- a/src/devices/team/nm-team-factory.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager -- Network link manager
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2014 Red Hat, Inc.
- */
-
-#ifndef __NETWORKMANAGER_TEAM_FACTORY_H__
-#define __NETWORKMANAGER_TEAM_FACTORY_H__
-
-#define NM_TYPE_TEAM_FACTORY (nm_team_factory_get_type ())
-#define NM_TEAM_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_TEAM_FACTORY, NMTeamFactory))
-
-typedef struct {
- GObject parent;
-} NMTeamFactory;
-
-typedef struct {
- GObjectClass parent;
-} NMTeamFactoryClass;
-
-#endif /* __NETWORKMANAGER_TEAM_FACTORY_H__ */
diff --git a/src/devices/wifi/nm-device-olpc-mesh.c b/src/devices/wifi/nm-device-olpc-mesh.c
index 32ebac3b74..cac8b068cd 100644
--- a/src/devices/wifi/nm-device-olpc-mesh.c
+++ b/src/devices/wifi/nm-device-olpc-mesh.c
@@ -26,6 +26,8 @@
#include "nm-default.h"
+#include "nm-device-olpc-mesh.h"
+
#include <netinet/in.h>
#include <string.h>
#include <sys/stat.h>
@@ -37,11 +39,10 @@
#include "nm-device.h"
#include "nm-device-wifi.h"
-#include "nm-device-olpc-mesh.h"
#include "nm-device-private.h"
#include "nm-utils.h"
#include "NetworkManagerUtils.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-setting-connection.h"
#include "nm-setting-olpc-mesh.h"
#include "nm-manager.h"
@@ -56,25 +57,33 @@
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceOlpcMesh);
-G_DEFINE_TYPE (NMDeviceOlpcMesh, nm_device_olpc_mesh, NM_TYPE_DEVICE)
-
-#define NM_DEVICE_OLPC_MESH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_OLPC_MESH, NMDeviceOlpcMeshPrivate))
+/*****************************************************************************/
-enum {
- PROP_0,
+NM_GOBJECT_PROPERTIES_DEFINE (NMDeviceOlpcMesh,
PROP_COMPANION,
PROP_ACTIVE_CHANNEL,
+);
- LAST_PROP
-};
-
-struct _NMDeviceOlpcMeshPrivate {
+typedef struct {
NMDevice *companion;
NMManager *manager;
gboolean stage1_waiting;
+} NMDeviceOlpcMeshPrivate;
+
+struct _NMDeviceOlpcMesh {
+ NMDevice parent;
+ NMDeviceOlpcMeshPrivate _priv;
+};
+
+struct _NMDeviceOlpcMeshClass {
+ NMDeviceClass parent;
};
-/*******************************************************************/
+G_DEFINE_TYPE (NMDeviceOlpcMesh, nm_device_olpc_mesh, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_OLPC_MESH_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceOlpcMesh, NM_IS_DEVICE_OLPC_MESH)
+
+/*****************************************************************************/
static gboolean
check_connection_compatible (NMDevice *device, NMConnection *connection)
@@ -152,13 +161,13 @@ complete_connection (NMDevice *device,
return TRUE;
}
-/****************************************************************************/
+/*****************************************************************************/
static NMActStageReturn
act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
{
NMDeviceOlpcMesh *self = NM_DEVICE_OLPC_MESH (device);
- NMDeviceOlpcMeshPrivate *priv = NM_DEVICE_OLPC_MESH_GET_PRIVATE (device);
+ NMDeviceOlpcMeshPrivate *priv = NM_DEVICE_OLPC_MESH_GET_PRIVATE (self);
NMActStageReturn ret;
gboolean scanning;
@@ -196,7 +205,7 @@ _mesh_set_channel (NMDeviceOlpcMesh *self, guint32 channel)
if (nm_platform_mesh_get_channel (NM_PLATFORM_GET, ifindex) != channel) {
if (nm_platform_mesh_set_channel (NM_PLATFORM_GET, ifindex, channel))
- g_object_notify (G_OBJECT (self), NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL);
+ _notify (self, PROP_ACTIVE_CHANNEL);
}
}
@@ -245,7 +254,7 @@ is_available (NMDevice *device, NMDeviceCheckDevAvailableFlags flags)
return TRUE;
}
-/*******************************************************************/
+/*****************************************************************************/
static void
companion_cleanup (NMDeviceOlpcMesh *self)
@@ -256,7 +265,7 @@ companion_cleanup (NMDeviceOlpcMesh *self)
g_signal_handlers_disconnect_by_data (priv->companion, self);
g_clear_object (&priv->companion);
}
- g_object_notify (G_OBJECT (self), NM_DEVICE_OLPC_MESH_COMPANION);
+ _notify (self, PROP_COMPANION);
}
static void
@@ -354,7 +363,7 @@ check_companion (NMDeviceOlpcMesh *self, NMDevice *other)
g_signal_connect (G_OBJECT (other), NM_DEVICE_AUTOCONNECT_ALLOWED,
G_CALLBACK (companion_autoconnect_allowed_cb), self);
- g_object_notify (G_OBJECT (self), NM_DEVICE_OLPC_MESH_COMPANION);
+ _notify (self, PROP_COMPANION);
return TRUE;
}
@@ -415,19 +424,30 @@ state_changed (NMDevice *device,
find_companion (NM_DEVICE_OLPC_MESH (device));
}
-/*******************************************************************/
+/*****************************************************************************/
-NMDevice *
-nm_device_olpc_mesh_new (const char *iface)
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
{
- return (NMDevice *) g_object_new (NM_TYPE_DEVICE_OLPC_MESH,
- NM_DEVICE_IFACE, iface,
- NM_DEVICE_TYPE_DESC, "802.11 OLPC Mesh",
- NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_OLPC_MESH,
- NM_DEVICE_LINK_TYPE, NM_LINK_TYPE_OLPC_MESH,
- NULL);
+ NMDeviceOlpcMesh *device = NM_DEVICE_OLPC_MESH (object);
+ NMDeviceOlpcMeshPrivate *priv = NM_DEVICE_OLPC_MESH_GET_PRIVATE (device);
+
+ switch (prop_id) {
+ case PROP_COMPANION:
+ nm_utils_g_value_set_object_path (value, priv->companion);
+ break;
+ case PROP_ACTIVE_CHANNEL:
+ g_value_set_uint (value, nm_platform_mesh_get_channel (NM_PLATFORM_GET, nm_device_get_ifindex (NM_DEVICE (device))));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
}
+/*****************************************************************************/
+
static void
nm_device_olpc_mesh_init (NMDeviceOlpcMesh * self)
{
@@ -450,35 +470,15 @@ constructed (GObject *object)
nm_device_set_dhcp_timeout (NM_DEVICE (self), 20);
}
-static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMDeviceOlpcMesh *device = NM_DEVICE_OLPC_MESH (object);
- NMDeviceOlpcMeshPrivate *priv = NM_DEVICE_OLPC_MESH_GET_PRIVATE (device);
-
- switch (prop_id) {
- case PROP_COMPANION:
- nm_utils_g_value_set_object_path (value, priv->companion);
- break;
- case PROP_ACTIVE_CHANNEL:
- g_value_set_uint (value, nm_platform_mesh_get_channel (NM_PLATFORM_GET, nm_device_get_ifindex (NM_DEVICE (device))));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+NMDevice *
+nm_device_olpc_mesh_new (const char *iface)
{
- switch (prop_id) {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+ return (NMDevice *) g_object_new (NM_TYPE_DEVICE_OLPC_MESH,
+ NM_DEVICE_IFACE, iface,
+ NM_DEVICE_TYPE_DESC, "802.11 OLPC Mesh",
+ NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_OLPC_MESH,
+ NM_DEVICE_LINK_TYPE, NM_LINK_TYPE_OLPC_MESH,
+ NULL);
}
static void
@@ -504,39 +504,33 @@ nm_device_olpc_mesh_class_init (NMDeviceOlpcMeshClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMDeviceOlpcMeshPrivate));
-
NM_DEVICE_CLASS_DECLARE_TYPES (klass, NM_SETTING_OLPC_MESH_SETTING_NAME, NM_LINK_TYPE_OLPC_MESH)
object_class->constructed = constructed;
object_class->get_property = get_property;
- object_class->set_property = set_property;
object_class->dispose = dispose;
parent_class->check_connection_compatible = check_connection_compatible;
parent_class->can_auto_connect = can_auto_connect;
parent_class->complete_connection = complete_connection;
-
parent_class->is_available = is_available;
parent_class->act_stage1_prepare = act_stage1_prepare;
parent_class->act_stage2_config = act_stage2_config;
-
parent_class->state_changed = state_changed;
- /* Properties */
- g_object_class_install_property
- (object_class, PROP_COMPANION,
- g_param_spec_string (NM_DEVICE_OLPC_MESH_COMPANION, "", "",
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_ACTIVE_CHANNEL,
- g_param_spec_uint (NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL, "", "",
- 0, G_MAXUINT32, 0,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_COMPANION] =
+ g_param_spec_string (NM_DEVICE_OLPC_MESH_COMPANION, "", "",
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_ACTIVE_CHANNEL] =
+ g_param_spec_uint (NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL, "", "",
+ 0, G_MAXUINT32, 0,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (klass),
NMDBUS_TYPE_DEVICE_OLPC_MESH_SKELETON,
diff --git a/src/devices/wifi/nm-device-olpc-mesh.h b/src/devices/wifi/nm-device-olpc-mesh.h
index 135226d5af..b58dfdf7be 100644
--- a/src/devices/wifi/nm-device-olpc-mesh.h
+++ b/src/devices/wifi/nm-device-olpc-mesh.h
@@ -41,25 +41,8 @@
#define NM_DEVICE_OLPC_MESH_BITRATE "bitrate"
#define NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL "active-channel"
-#ifndef NM_DEVICE_OLPC_MESH_DEFINED
-#define NM_DEVICE_OLPC_MESH_DEFINED
typedef struct _NMDeviceOlpcMesh NMDeviceOlpcMesh;
-#endif
-
typedef struct _NMDeviceOlpcMeshClass NMDeviceOlpcMeshClass;
-typedef struct _NMDeviceOlpcMeshPrivate NMDeviceOlpcMeshPrivate;
-
-struct _NMDeviceOlpcMesh
-{
- NMDevice parent;
-};
-
-struct _NMDeviceOlpcMeshClass
-{
- NMDeviceClass parent;
-
-};
-
GType nm_device_olpc_mesh_get_type (void);
diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c
index f98a40be63..d0fd6f69da 100644
--- a/src/devices/wifi/nm-device-wifi.c
+++ b/src/devices/wifi/nm-device-wifi.c
@@ -33,7 +33,7 @@
#include "nm-device-private.h"
#include "nm-utils.h"
#include "NetworkManagerUtils.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-supplicant-manager.h"
#include "nm-supplicant-interface.h"
#include "nm-supplicant-config.h"
@@ -2349,7 +2349,7 @@ error:
return NULL;
}
-/****************************************************************************/
+/*****************************************************************************/
static NMActStageReturn
act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
@@ -3000,7 +3000,7 @@ set_enabled (NMDevice *device, gboolean enabled)
}
}
-/********************************************************************/
+/*****************************************************************************/
NMDevice *
nm_device_wifi_new (const char *iface, NMDeviceWifiCapabilities capabilities)
diff --git a/src/devices/wifi/nm-wifi-ap.c b/src/devices/wifi/nm-wifi-ap.c
index 2232f826c3..e723cd868b 100644
--- a/src/devices/wifi/nm-wifi-ap.c
+++ b/src/devices/wifi/nm-wifi-ap.c
@@ -85,7 +85,7 @@ NM_GOBJECT_PROPERTIES_DEFINE (NMAccessPoint,
PROP_LAST_SEEN,
);
-/*****************************************************************/
+/*****************************************************************************/
const char *
nm_ap_get_supplicant_path (NMAccessPoint *ap)
@@ -344,7 +344,7 @@ nm_ap_set_last_seen (NMAccessPoint *ap, gint32 last_seen)
}
}
-/*****************************************************************/
+/*****************************************************************************/
static NM80211ApSecurityFlags
security_from_vardict (GVariant *security)
@@ -871,7 +871,7 @@ nm_ap_complete_connection (NMAccessPoint *self,
error);
}
-/*****************************************************************/
+/*****************************************************************************/
static void
nm_ap_init (NMAccessPoint *ap)
diff --git a/src/devices/wifi/nm-wifi-factory.c b/src/devices/wifi/nm-wifi-factory.c
index 2d5f8faf00..1bd0756a48 100644
--- a/src/devices/wifi/nm-wifi-factory.c
+++ b/src/devices/wifi/nm-wifi-factory.c
@@ -30,33 +30,36 @@
#include "nm-settings-connection.h"
#include "nm-platform.h"
-#define NM_TYPE_WIFI_FACTORY (nm_wifi_factory_get_type ())
-#define NM_WIFI_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_WIFI_FACTORY, NMWifiFactory))
+/*****************************************************************************/
-typedef struct {
- GObject parent;
-} NMWifiFactory;
+#define NM_TYPE_WIFI_FACTORY (nm_wifi_factory_get_type ())
+#define NM_WIFI_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_WIFI_FACTORY, NMWifiFactory))
+#define NM_WIFI_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_WIFI_FACTORY, NMWifiFactoryClass))
+#define NM_IS_WIFI_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_WIFI_FACTORY))
+#define NM_IS_WIFI_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_WIFI_FACTORY))
+#define NM_WIFI_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_WIFI_FACTORY, NMWifiFactoryClass))
-typedef struct {
- GObjectClass parent;
-} NMWifiFactoryClass;
+typedef struct _NMWifiFactory NMWifiFactory;
+typedef struct _NMWifiFactoryClass NMWifiFactoryClass;
static GType nm_wifi_factory_get_type (void);
+/*****************************************************************************/
+
+struct _NMWifiFactory {
+ GObject parent;
+};
+
+struct _NMWifiFactoryClass {
+ GObjectClass parent;
+};
+
static void device_factory_interface_init (NMDeviceFactoryInterface *factory_iface);
G_DEFINE_TYPE_EXTENDED (NMWifiFactory, nm_wifi_factory, G_TYPE_OBJECT, 0,
G_IMPLEMENT_INTERFACE (NM_TYPE_DEVICE_FACTORY, device_factory_interface_init))
-/**************************************************************************/
-
-G_MODULE_EXPORT NMDeviceFactory *
-nm_device_factory_create (GError **error)
-{
- return (NMDeviceFactory *) g_object_new (NM_TYPE_WIFI_FACTORY, NULL);
-}
-
-/**************************************************************************/
+/*****************************************************************************/
static NMDevice *
create_device (NMDeviceFactory *factory,
@@ -101,20 +104,29 @@ NM_DEVICE_FACTORY_DECLARE_TYPES (
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_WIRELESS_SETTING_NAME, NM_SETTING_OLPC_MESH_SETTING_NAME)
)
+/*****************************************************************************/
+
static void
-device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
+nm_wifi_factory_init (NMWifiFactory *self)
{
- factory_iface->create_device = create_device;
- factory_iface->get_supported_types = get_supported_types;
}
static void
-nm_wifi_factory_init (NMWifiFactory *self)
+nm_wifi_factory_class_init (NMWifiFactoryClass *wf_class)
{
}
static void
-nm_wifi_factory_class_init (NMWifiFactoryClass *wf_class)
+device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
{
+ factory_iface->create_device = create_device;
+ factory_iface->get_supported_types = get_supported_types;
}
+/*****************************************************************************/
+
+G_MODULE_EXPORT NMDeviceFactory *
+nm_device_factory_create (GError **error)
+{
+ return (NMDeviceFactory *) g_object_new (NM_TYPE_WIFI_FACTORY, NULL);
+}
diff --git a/src/devices/wifi/tests/test-wifi-ap-utils.c b/src/devices/wifi/tests/test-wifi-ap-utils.c
index dbe185b3a8..1ef18e6af9 100644
--- a/src/devices/wifi/tests/test-wifi-ap-utils.c
+++ b/src/devices/wifi/tests/test-wifi-ap-utils.c
@@ -30,7 +30,7 @@
#define DEBUG 1
-/*******************************************/
+/*****************************************************************************/
#define COMPARE(src, expected, success, error, edomain, ecode) \
{ \
@@ -246,7 +246,7 @@ create_basic (const char *ssid,
return connection;
}
-/*******************************************/
+/*****************************************************************************/
static void
test_lock_bssid (void)
@@ -270,7 +270,7 @@ test_lock_bssid (void)
g_object_unref (expected);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_open_ap_empty_connection (void)
@@ -298,7 +298,7 @@ test_open_ap_empty_connection (void)
g_object_unref (expected);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_open_ap_leap_connection_1 (gconstpointer add_wifi)
@@ -330,7 +330,7 @@ test_open_ap_leap_connection_1 (gconstpointer add_wifi)
g_object_unref (src);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_open_ap_leap_connection_2 (void)
@@ -360,7 +360,7 @@ test_open_ap_leap_connection_2 (void)
g_object_unref (src);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_open_ap_wep_connection (gconstpointer add_wifi)
@@ -394,7 +394,7 @@ test_open_ap_wep_connection (gconstpointer add_wifi)
g_object_unref (src);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_ap_wpa_psk_connection_base (const char *key_mgmt,
@@ -515,7 +515,7 @@ test_open_ap_wpa_psk_connection_5 (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_ap_wpa_eap_connection_base (const char *key_mgmt,
@@ -707,7 +707,7 @@ test_ap_wpa_eap_connection_5 (gconstpointer data)
error_code_for_idx (idx, 5));
}
-/*******************************************/
+/*****************************************************************************/
static void
test_priv_ap_empty_connection (void)
@@ -741,7 +741,7 @@ test_priv_ap_empty_connection (void)
g_object_unref (expected);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_priv_ap_leap_connection_1 (gconstpointer add_wifi)
@@ -788,7 +788,7 @@ test_priv_ap_leap_connection_1 (gconstpointer add_wifi)
g_object_unref (expected);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_priv_ap_leap_connection_2 (void)
@@ -821,7 +821,7 @@ test_priv_ap_leap_connection_2 (void)
g_object_unref (src);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_priv_ap_dynamic_wep_1 (void)
@@ -870,7 +870,7 @@ test_priv_ap_dynamic_wep_1 (void)
g_object_unref (expected);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_priv_ap_dynamic_wep_2 (void)
@@ -918,7 +918,7 @@ test_priv_ap_dynamic_wep_2 (void)
g_object_unref (expected);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_priv_ap_dynamic_wep_3 (void)
@@ -955,7 +955,7 @@ test_priv_ap_dynamic_wep_3 (void)
g_object_unref (src);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_priv_ap_wpa_psk_connection_1 (void)
@@ -1040,7 +1040,7 @@ test_priv_ap_wpa_psk_connection_5 (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_wpa_ap_empty_connection (gconstpointer data)
@@ -1077,7 +1077,7 @@ test_wpa_ap_empty_connection (gconstpointer data)
g_object_unref (expected);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_wpa_ap_leap_connection_1 (gconstpointer data)
@@ -1113,7 +1113,7 @@ test_wpa_ap_leap_connection_1 (gconstpointer data)
g_object_unref (src);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_wpa_ap_leap_connection_2 (gconstpointer data)
@@ -1147,7 +1147,7 @@ test_wpa_ap_leap_connection_2 (gconstpointer data)
g_object_unref (src);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_wpa_ap_dynamic_wep_connection (gconstpointer data)
@@ -1180,7 +1180,7 @@ test_wpa_ap_dynamic_wep_connection (gconstpointer data)
g_object_unref (src);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_wpa_ap_wpa_psk_connection_1 (gconstpointer data)
@@ -1283,7 +1283,7 @@ test_wpa_ap_wpa_psk_connection_5 (gconstpointer data)
g_object_unref (expected);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_strength_dbm (void)
@@ -1334,7 +1334,7 @@ test_strength_wext (void)
g_assert_cmpint (nm_ap_utils_level_to_quality (215), ==, 99);
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/devices/wwan/Makefile.am b/src/devices/wwan/Makefile.am
index 1b117d4f3d..845951d14c 100644
--- a/src/devices/wwan/Makefile.am
+++ b/src/devices/wwan/Makefile.am
@@ -68,7 +68,6 @@ SYMBOL_VIS_FILE=$(srcdir)/exports.ver
libnm_device_plugin_wwan_la_SOURCES = \
nm-wwan-factory.c \
- nm-wwan-factory.h \
nm-device-modem.c \
nm-device-modem.h
diff --git a/src/devices/wwan/nm-device-modem.c b/src/devices/wwan/nm-device-modem.c
index f6ca0e9224..90fe4d6882 100644
--- a/src/devices/wwan/nm-device-modem.c
+++ b/src/devices/wwan/nm-device-modem.c
@@ -20,9 +20,10 @@
#include "nm-default.h"
+#include "nm-device-modem.h"
+
#include <string.h>
-#include "nm-device-modem.h"
#include "nm-modem.h"
#include "nm-device-private.h"
#include "nm-rfkill-manager.h"
@@ -31,14 +32,18 @@
#include "NetworkManagerUtils.h"
#include "nm-core-internal.h"
+#include "nmdbus-device-modem.h"
+
#include "nm-device-logging.h"
_LOG_DECLARE_SELF(NMDeviceModem);
-#include "nmdbus-device-modem.h"
-
-G_DEFINE_TYPE (NMDeviceModem, nm_device_modem, NM_TYPE_DEVICE)
+/*****************************************************************************/
-#define NM_DEVICE_MODEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_MODEM, NMDeviceModemPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_MODEM,
+ PROP_CAPABILITIES,
+ PROP_CURRENT_CAPABILITIES,
+);
typedef struct {
NMModem *modem;
@@ -47,13 +52,19 @@ typedef struct {
gboolean rf_enabled;
} NMDeviceModemPrivate;
-enum {
- PROP_0,
- PROP_MODEM,
- PROP_CAPABILITIES,
- PROP_CURRENT_CAPABILITIES,
+struct _NMDeviceModem {
+ NMDevice parent;
+ NMDeviceModemPrivate _priv;
};
+struct _NMDeviceModemClass {
+ NMDeviceClass parent;
+};
+
+G_DEFINE_TYPE (NMDeviceModem, nm_device_modem, NM_TYPE_DEVICE)
+
+#define NM_DEVICE_MODEM_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDeviceModem, NM_IS_DEVICE_MODEM)
+
/*****************************************************************************/
static void
@@ -281,7 +292,7 @@ modem_state_cb (NMModem *modem,
gpointer user_data)
{
NMDevice *device = NM_DEVICE (user_data);
- NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (device);
+ NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device);
NMDeviceState dev_state = nm_device_get_state (device);
if (new_state <= NM_MODEM_STATE_DISABLING &&
@@ -335,9 +346,10 @@ modem_removed_cb (NMModem *modem, gpointer user_data)
static gboolean
owns_iface (NMDevice *device, const char *iface)
{
- NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (device);
+ NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device);
+
+ g_return_val_if_fail (priv->modem, FALSE);
- g_assert (priv->modem);
return nm_modem_owns_port (priv->modem, iface);
}
@@ -350,7 +362,7 @@ device_state_changed (NMDevice *device,
NMDeviceStateReason reason)
{
NMDeviceModem *self = NM_DEVICE_MODEM (device);
- NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (device);
+ NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (self);
NMConnection *connection = nm_device_get_applied_connection (device);
g_assert (priv->modem);
@@ -394,7 +406,7 @@ get_generic_capabilities (NMDevice *device)
static const char *
get_type_description (NMDevice *device)
{
- NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (device);
+ NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device);
if (NM_FLAGS_HAS (priv->current_caps, NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS))
return "gsm";
@@ -409,7 +421,7 @@ check_connection_compatible (NMDevice *device, NMConnection *connection)
if (!NM_DEVICE_CLASS (nm_device_modem_parent_class)->check_connection_compatible (device, connection))
return FALSE;
- return nm_modem_check_connection_compatible (NM_DEVICE_MODEM_GET_PRIVATE (device)->modem, connection);
+ return nm_modem_check_connection_compatible (NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device)->modem, connection);
}
static gboolean
@@ -444,7 +456,7 @@ complete_connection (NMDevice *device,
const GSList *existing_connections,
GError **error)
{
- NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (device);
+ NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device);
return nm_modem_complete_connection (priv->modem, connection, existing_connections, error);
}
@@ -452,10 +464,10 @@ complete_connection (NMDevice *device,
static void
deactivate (NMDevice *device)
{
- nm_modem_deactivate (NM_DEVICE_MODEM_GET_PRIVATE (device)->modem, device);
+ nm_modem_deactivate (NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device)->modem, device);
}
-/***********************************************************/
+/*****************************************************************************/
static gboolean
deactivate_async_finish (NMDevice *self,
@@ -490,14 +502,14 @@ deactivate_async (NMDevice *self,
callback,
user_data,
deactivate_async);
- nm_modem_deactivate_async (NM_DEVICE_MODEM_GET_PRIVATE (self)->modem,
+ nm_modem_deactivate_async (NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) self)->modem,
self,
cancellable,
(GAsyncReadyCallback) modem_deactivate_async_ready,
simple);
}
-/***********************************************************/
+/*****************************************************************************/
static NMActStageReturn
act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
@@ -512,7 +524,7 @@ act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
req = nm_device_get_act_request (device);
g_assert (req);
- return nm_modem_act_stage1_prepare (NM_DEVICE_MODEM_GET_PRIVATE (device)->modem, req, reason);
+ return nm_modem_act_stage1_prepare (NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device)->modem, req, reason);
}
static NMActStageReturn
@@ -523,7 +535,7 @@ act_stage2_config (NMDevice *device, NMDeviceStateReason *reason)
req = nm_device_get_act_request (device);
g_assert (req);
- return nm_modem_act_stage2_config (NM_DEVICE_MODEM_GET_PRIVATE (device)->modem, req, reason);
+ return nm_modem_act_stage2_config (NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device)->modem, req, reason);
}
static NMActStageReturn
@@ -531,7 +543,7 @@ act_stage3_ip4_config_start (NMDevice *device,
NMIP4Config **out_config,
NMDeviceStateReason *reason)
{
- return nm_modem_stage3_ip4_config_start (NM_DEVICE_MODEM_GET_PRIVATE (device)->modem,
+ return nm_modem_stage3_ip4_config_start (NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device)->modem,
device,
NM_DEVICE_CLASS (nm_device_modem_parent_class),
reason);
@@ -540,7 +552,7 @@ act_stage3_ip4_config_start (NMDevice *device,
static void
ip4_config_pre_commit (NMDevice *device, NMIP4Config *config)
{
- nm_modem_ip4_pre_commit (NM_DEVICE_MODEM_GET_PRIVATE (device)->modem, device, config);
+ nm_modem_ip4_pre_commit (NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device)->modem, device, config);
}
static NMActStageReturn
@@ -548,7 +560,7 @@ act_stage3_ip6_config_start (NMDevice *device,
NMIP6Config **out_config,
NMDeviceStateReason *reason)
{
- return nm_modem_stage3_ip6_config_start (NM_DEVICE_MODEM_GET_PRIVATE (device)->modem,
+ return nm_modem_stage3_ip6_config_start (NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device)->modem,
nm_device_get_act_request (device),
reason);
}
@@ -572,7 +584,7 @@ get_ip_iface_identifier (NMDevice *device, NMUtilsIPv6IfaceId *out_iid)
static gboolean
get_enabled (NMDevice *device)
{
- NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (device);
+ NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) device);
NMModemState modem_state = nm_modem_get_state (priv->modem);
return priv->rf_enabled && (modem_state >= NM_MODEM_STATE_LOCKED);
@@ -621,58 +633,6 @@ is_available (NMDevice *device, NMDeviceCheckDevAvailableFlags flags)
/*****************************************************************************/
-NMDevice *
-nm_device_modem_new (NMModem *modem)
-{
- NMDeviceModemCapabilities caps = NM_DEVICE_MODEM_CAPABILITY_NONE;
- NMDeviceModemCapabilities current_caps = NM_DEVICE_MODEM_CAPABILITY_NONE;
- NMDevice *device;
- const char *data_port;
-
- g_return_val_if_fail (NM_IS_MODEM (modem), NULL);
-
- /* Load capabilities */
- nm_modem_get_capabilities (modem, &caps, &current_caps);
-
- device = (NMDevice *) g_object_new (NM_TYPE_DEVICE_MODEM,
- NM_DEVICE_UDI, nm_modem_get_path (modem),
- NM_DEVICE_IFACE, nm_modem_get_uid (modem),
- NM_DEVICE_DRIVER, nm_modem_get_driver (modem),
- NM_DEVICE_TYPE_DESC, "Broadband",
- NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_MODEM,
- NM_DEVICE_RFKILL_TYPE, RFKILL_TYPE_WWAN,
- NM_DEVICE_MODEM_MODEM, modem,
- NM_DEVICE_MODEM_CAPABILITIES, caps,
- NM_DEVICE_MODEM_CURRENT_CAPABILITIES, current_caps,
- NULL);
-
- /* If the data port is known, set it as the IP interface immediately */
- data_port = nm_modem_get_data_port (modem);
- if (data_port) {
- nm_device_set_ip_iface (device, data_port);
- nm_device_ipv6_sysctl_set (device, "disable_ipv6", "1");
- }
-
- return device;
-}
-
-static void
-nm_device_modem_init (NMDeviceModem *self)
-{
-}
-
-static void
-constructed (GObject *object)
-{
- G_OBJECT_CLASS (nm_device_modem_parent_class)->constructed (object);
-
- /* DHCP is always done by the modem firmware, not by the network, and
- * by the time we get around to DHCP the firmware should already know
- * the IP addressing details. So the DHCP timeout can be much shorter.
- */
- nm_device_set_dhcp_timeout (NM_DEVICE (object), 15);
-}
-
static void
set_modem (NMDeviceModem *self, NMModem *modem)
{
@@ -701,22 +661,23 @@ set_modem (NMDeviceModem *self, NMModem *modem)
g_signal_connect (modem, "notify::" NM_MODEM_SIM_OPERATOR_ID, G_CALLBACK (ids_changed_cb), self);
}
+/*****************************************************************************/
+
static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
{
- NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (object);
+ NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) object);
switch (prop_id) {
case PROP_MODEM:
- /* construct-only */
- set_modem (NM_DEVICE_MODEM (object), g_value_get_object (value));
+ g_value_set_object (value, priv->modem);
break;
case PROP_CAPABILITIES:
- priv->caps = g_value_get_uint (value);
+ g_value_set_uint (value, priv->caps);
break;
case PROP_CURRENT_CAPABILITIES:
- priv->current_caps = g_value_get_uint (value);
+ g_value_set_uint (value, priv->current_caps);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -725,20 +686,21 @@ set_property (GObject *object, guint prop_id,
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
{
- NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (object);
+ NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) object);
switch (prop_id) {
case PROP_MODEM:
- g_value_set_object (value, priv->modem);
+ /* construct-only */
+ set_modem (NM_DEVICE_MODEM (object), g_value_get_object (value));
break;
case PROP_CAPABILITIES:
- g_value_set_uint (value, priv->caps);
+ priv->caps = g_value_get_uint (value);
break;
case PROP_CURRENT_CAPABILITIES:
- g_value_set_uint (value, priv->current_caps);
+ priv->current_caps = g_value_get_uint (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -746,10 +708,64 @@ get_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
+static void
+nm_device_modem_init (NMDeviceModem *self)
+{
+}
+
+static void
+constructed (GObject *object)
+{
+ G_OBJECT_CLASS (nm_device_modem_parent_class)->constructed (object);
+
+ /* DHCP is always done by the modem firmware, not by the network, and
+ * by the time we get around to DHCP the firmware should already know
+ * the IP addressing details. So the DHCP timeout can be much shorter.
+ */
+ nm_device_set_dhcp_timeout (NM_DEVICE (object), 15);
+}
+
+NMDevice *
+nm_device_modem_new (NMModem *modem)
+{
+ NMDeviceModemCapabilities caps = NM_DEVICE_MODEM_CAPABILITY_NONE;
+ NMDeviceModemCapabilities current_caps = NM_DEVICE_MODEM_CAPABILITY_NONE;
+ NMDevice *device;
+ const char *data_port;
+
+ g_return_val_if_fail (NM_IS_MODEM (modem), NULL);
+
+ /* Load capabilities */
+ nm_modem_get_capabilities (modem, &caps, &current_caps);
+
+ device = (NMDevice *) g_object_new (NM_TYPE_DEVICE_MODEM,
+ NM_DEVICE_UDI, nm_modem_get_path (modem),
+ NM_DEVICE_IFACE, nm_modem_get_uid (modem),
+ NM_DEVICE_DRIVER, nm_modem_get_driver (modem),
+ NM_DEVICE_TYPE_DESC, "Broadband",
+ NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_MODEM,
+ NM_DEVICE_RFKILL_TYPE, RFKILL_TYPE_WWAN,
+ NM_DEVICE_MODEM_MODEM, modem,
+ NM_DEVICE_MODEM_CAPABILITIES, caps,
+ NM_DEVICE_MODEM_CURRENT_CAPABILITIES, current_caps,
+ NULL);
+
+ /* If the data port is known, set it as the IP interface immediately */
+ data_port = nm_modem_get_data_port (modem);
+ if (data_port) {
+ nm_device_set_ip_iface (device, data_port);
+ nm_device_ipv6_sysctl_set (device, "disable_ipv6", "1");
+ }
+
+ return device;
+}
+
static void
dispose (GObject *object)
{
- NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE (object);
+ NMDeviceModemPrivate *priv = NM_DEVICE_MODEM_GET_PRIVATE ((NMDeviceModem *) object);
if (priv->modem)
g_signal_handlers_disconnect_by_data (priv->modem, NM_DEVICE_MODEM (object));
@@ -764,9 +780,6 @@ nm_device_modem_class_init (NMDeviceModemClass *mclass)
GObjectClass *object_class = G_OBJECT_CLASS (mclass);
NMDeviceClass *device_class = NM_DEVICE_CLASS (mclass);
- g_type_class_add_private (object_class, sizeof (NMDeviceModemPrivate));
-
- /* Virtual methods */
object_class->dispose = dispose;
object_class->get_property = get_property;
object_class->set_property = set_property;
@@ -793,27 +806,25 @@ nm_device_modem_class_init (NMDeviceModemClass *mclass)
device_class->state_changed = device_state_changed;
- /* Properties */
- g_object_class_install_property
- (object_class, PROP_MODEM,
- g_param_spec_object (NM_DEVICE_MODEM_MODEM, "", "",
- NM_TYPE_MODEM,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_CAPABILITIES,
- g_param_spec_uint (NM_DEVICE_MODEM_CAPABILITIES, "", "",
- 0, G_MAXUINT32, NM_DEVICE_MODEM_CAPABILITY_NONE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_CURRENT_CAPABILITIES,
- g_param_spec_uint (NM_DEVICE_MODEM_CURRENT_CAPABILITIES, "", "",
- 0, G_MAXUINT32, NM_DEVICE_MODEM_CAPABILITY_NONE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_MODEM] =
+ g_param_spec_object (NM_DEVICE_MODEM_MODEM, "", "",
+ NM_TYPE_MODEM,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_CAPABILITIES] =
+ g_param_spec_uint (NM_DEVICE_MODEM_CAPABILITIES, "", "",
+ 0, G_MAXUINT32, NM_DEVICE_MODEM_CAPABILITY_NONE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_CURRENT_CAPABILITIES] =
+ g_param_spec_uint (NM_DEVICE_MODEM_CURRENT_CAPABILITIES, "", "",
+ 0, G_MAXUINT32, NM_DEVICE_MODEM_CAPABILITY_NONE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (mclass),
NMDBUS_TYPE_DEVICE_MODEM_SKELETON,
diff --git a/src/devices/wwan/nm-device-modem.h b/src/devices/wwan/nm-device-modem.h
index 1cf399e12c..fe53de62c4 100644
--- a/src/devices/wwan/nm-device-modem.h
+++ b/src/devices/wwan/nm-device-modem.h
@@ -35,14 +35,8 @@
#define NM_DEVICE_MODEM_CAPABILITIES "modem-capabilities"
#define NM_DEVICE_MODEM_CURRENT_CAPABILITIES "current-capabilities"
-typedef struct {
- NMDevice parent;
-} NMDeviceModem;
-
-typedef struct {
- NMDeviceClass parent;
-
-} NMDeviceModemClass;
+typedef struct _NMDeviceModem NMDeviceModem;
+typedef struct _NMDeviceModemClass NMDeviceModemClass;
GType nm_device_modem_get_type (void);
diff --git a/src/devices/wwan/nm-modem-broadband.c b/src/devices/wwan/nm-modem-broadband.c
index e3681c01ff..f5f12a03df 100644
--- a/src/devices/wwan/nm-modem-broadband.c
+++ b/src/devices/wwan/nm-modem-broadband.c
@@ -20,27 +20,39 @@
#include "nm-default.h"
+#include "nm-modem-broadband.h"
+
#include <string.h>
#include <arpa/inet.h>
#include <libmm-glib.h>
-#include "nm-modem-broadband.h"
#include "nm-core-internal.h"
#include "NetworkManagerUtils.h"
#include "nm-device-private.h"
#include "nm-platform.h"
+#include "nm-ip4-config.h"
+#include "nm-ip6-config.h"
#define NM_MODEM_BROADBAND_MODEM "modem"
-G_DEFINE_TYPE (NMModemBroadband, nm_modem_broadband, NM_TYPE_MODEM)
+#define MODEM_CAPS_3GPP(caps) (caps & (MM_MODEM_CAPABILITY_GSM_UMTS | \
+ MM_MODEM_CAPABILITY_LTE | \
+ MM_MODEM_CAPABILITY_LTE_ADVANCED))
+
+#define MODEM_CAPS_3GPP2(caps) (caps & (MM_MODEM_CAPABILITY_CDMA_EVDO))
+
+/* Maximum time to keep the DBus call waiting for a connection result */
+#define MODEM_CONNECT_TIMEOUT_SECS 120
+
+/*****************************************************************************/
typedef enum {
- CONNECT_STEP_FIRST,
- CONNECT_STEP_WAIT_FOR_SIM,
- CONNECT_STEP_UNLOCK,
- CONNECT_STEP_WAIT_FOR_READY,
- CONNECT_STEP_CONNECT,
- CONNECT_STEP_LAST
+ CONNECT_STEP_FIRST,
+ CONNECT_STEP_WAIT_FOR_SIM,
+ CONNECT_STEP_UNLOCK,
+ CONNECT_STEP_WAIT_FOR_READY,
+ CONNECT_STEP_CONNECT,
+ CONNECT_STEP_LAST,
} ConnectStep;
typedef struct {
@@ -57,7 +69,13 @@ typedef struct {
GError *first_error;
} ConnectContext;
-struct _NMModemBroadbandPrivate {
+/*****************************************************************************/
+
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_MODEM,
+);
+
+typedef struct {
/* The modem object from dbus */
MMObject *modem_object;
/* Per-interface objects */
@@ -73,21 +91,20 @@ struct _NMModemBroadbandPrivate {
MMBearerIpConfig *ipv6_config;
guint32 pin_tries;
-};
+} NMModemBroadbandPrivate;
-enum {
- PROP_0,
- PROP_MODEM,
+struct _NMModemBroadband {
+ NMModem parent;
+ NMModemBroadbandPrivate _priv;
};
-#define MODEM_CAPS_3GPP(caps) (caps & (MM_MODEM_CAPABILITY_GSM_UMTS | \
- MM_MODEM_CAPABILITY_LTE | \
- MM_MODEM_CAPABILITY_LTE_ADVANCED))
+struct _NMModemBroadbandClass {
+ NMModemClass parent;
+};
-#define MODEM_CAPS_3GPP2(caps) (caps & (MM_MODEM_CAPABILITY_CDMA_EVDO))
+G_DEFINE_TYPE (NMModemBroadband, nm_modem_broadband, NM_TYPE_MODEM)
-/* Maximum time to keep the DBus call waiting for a connection result */
-#define MODEM_CONNECT_TIMEOUT_SECS 120
+#define NM_MODEM_BROADBAND_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMModemBroadband, NM_IS_MODEM_BROADBAND)
/*****************************************************************************/
@@ -172,7 +189,7 @@ get_capabilities (NMModem *_self,
/* For now, we don't care about the capability combinations, just merge all
* combinations in a single mask */
- if (mm_modem_get_supported_capabilities (self->priv->modem_iface, &supported, &n_supported)) {
+ if (mm_modem_get_supported_capabilities (self->_priv.modem_iface, &supported, &n_supported)) {
guint i;
for (i = 0; i < n_supported; i++)
@@ -182,7 +199,7 @@ get_capabilities (NMModem *_self,
}
*modem_caps = (NMDeviceModemCapabilities) all_supported;
- *current_caps = (NMDeviceModemCapabilities) mm_modem_get_current_capabilities (self->priv->modem_iface);
+ *current_caps = (NMDeviceModemCapabilities) mm_modem_get_current_capabilities (self->_priv.modem_iface);
}
static gboolean
@@ -193,7 +210,7 @@ owns_port (NMModem *_self, const char *iface)
guint n_ports = 0, i;
gboolean owns = FALSE;
- mm_modem_peek_ports (self->priv->modem_iface, &ports, &n_ports);
+ mm_modem_peek_ports (self->_priv.modem_iface, &ports, &n_ports);
for (i = 0; i < n_ports && !owns; i++)
owns = (g_strcmp0 (iface, ports[i].name) == 0);
return owns;
@@ -206,7 +223,7 @@ ask_for_pin (NMModemBroadband *self)
{
guint32 tries;
- tries = self->priv->pin_tries++;
+ tries = self->_priv.pin_tries++;
nm_modem_get_secrets (NM_MODEM (self),
NM_SETTING_GSM_SETTING_NAME,
tries ? TRUE : FALSE,
@@ -312,8 +329,8 @@ create_gsm_connect_properties (NMConnection *connection)
static void
connect_context_clear (NMModemBroadband *self)
{
- if (self->priv->ctx) {
- ConnectContext *ctx = self->priv->ctx;
+ if (self->_priv.ctx) {
+ ConnectContext *ctx = self->_priv.ctx;
g_clear_error (&ctx->first_error);
g_clear_pointer (&ctx->ip_types, (GDestroyNotify) g_array_unref);
@@ -322,7 +339,7 @@ connect_context_clear (NMModemBroadband *self)
g_clear_object (&ctx->connect_properties);
g_clear_object (&ctx->self);
g_slice_free (ConnectContext, ctx);
- self->priv->ctx = NULL;
+ self->_priv.ctx = NULL;
}
}
@@ -333,20 +350,20 @@ connect_ready (MMModemSimple *simple_iface,
GAsyncResult *res,
NMModemBroadband *self)
{
- ConnectContext *ctx = self->priv->ctx;
+ ConnectContext *ctx = self->_priv.ctx;
GError *error = NULL;
NMModemIPMethod ip4_method = NM_MODEM_IP_METHOD_UNKNOWN;
NMModemIPMethod ip6_method = NM_MODEM_IP_METHOD_UNKNOWN;
- self->priv->bearer = mm_modem_simple_connect_finish (simple_iface, res, &error);
+ self->_priv.bearer = mm_modem_simple_connect_finish (simple_iface, res, &error);
if (!ctx)
return;
- if (!self->priv->bearer) {
+ if (!self->_priv.bearer) {
if (g_error_matches (error, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_PIN) ||
(g_error_matches (error, MM_CORE_ERROR, MM_CORE_ERROR_UNAUTHORIZED) &&
- mm_modem_get_unlock_required (self->priv->modem_iface) == MM_MODEM_LOCK_SIM_PIN)) {
+ mm_modem_get_unlock_required (self->_priv.modem_iface) == MM_MODEM_LOCK_SIM_PIN)) {
g_error_free (error);
/* Request PIN */
@@ -379,13 +396,13 @@ connect_ready (MMModemSimple *simple_iface,
}
/* Grab IP configurations */
- self->priv->ipv4_config = mm_bearer_get_ipv4_config (self->priv->bearer);
- if (self->priv->ipv4_config)
- ip4_method = get_bearer_ip_method (self->priv->ipv4_config);
+ self->_priv.ipv4_config = mm_bearer_get_ipv4_config (self->_priv.bearer);
+ if (self->_priv.ipv4_config)
+ ip4_method = get_bearer_ip_method (self->_priv.ipv4_config);
- self->priv->ipv6_config = mm_bearer_get_ipv6_config (self->priv->bearer);
- if (self->priv->ipv6_config)
- ip6_method = get_bearer_ip_method (self->priv->ipv6_config);
+ self->_priv.ipv6_config = mm_bearer_get_ipv6_config (self->_priv.bearer);
+ if (self->_priv.ipv6_config)
+ ip6_method = get_bearer_ip_method (self->_priv.ipv6_config);
if (ip4_method == NM_MODEM_IP_METHOD_UNKNOWN &&
ip6_method == NM_MODEM_IP_METHOD_UNKNOWN) {
@@ -396,10 +413,10 @@ connect_ready (MMModemSimple *simple_iface,
}
g_object_set (self,
- NM_MODEM_DATA_PORT, mm_bearer_get_interface (self->priv->bearer),
+ NM_MODEM_DATA_PORT, mm_bearer_get_interface (self->_priv.bearer),
NM_MODEM_IP4_METHOD, ip4_method,
NM_MODEM_IP6_METHOD, ip6_method,
- NM_MODEM_IP_TIMEOUT, mm_bearer_get_ip_timeout (self->priv->bearer),
+ NM_MODEM_IP_TIMEOUT, mm_bearer_get_ip_timeout (self->_priv.bearer),
NULL);
ctx->step++;
@@ -416,13 +433,13 @@ send_pin_ready (MMSim *sim, GAsyncResult *result, NMModemBroadband *self)
if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
return;
- if (!self->priv->ctx || self->priv->ctx->step != CONNECT_STEP_UNLOCK)
+ if (!self->_priv.ctx || self->_priv.ctx->step != CONNECT_STEP_UNLOCK)
g_return_if_reached ();
if (error) {
if (g_error_matches (error, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_SIM_PIN) ||
(g_error_matches (error, MM_CORE_ERROR, MM_CORE_ERROR_UNAUTHORIZED) &&
- mm_modem_get_unlock_required (self->priv->modem_iface) == MM_MODEM_LOCK_SIM_PIN)) {
+ mm_modem_get_unlock_required (self->_priv.modem_iface) == MM_MODEM_LOCK_SIM_PIN)) {
ask_for_pin (self);
} else {
g_signal_emit_by_name (self, NM_MODEM_PREPARE_RESULT, FALSE, translate_mm_error (self, error));
@@ -430,14 +447,14 @@ send_pin_ready (MMSim *sim, GAsyncResult *result, NMModemBroadband *self)
return;
}
- self->priv->ctx->step++;
+ self->_priv.ctx->step++;
connect_context_step (self);
}
static void
connect_context_step (NMModemBroadband *self)
{
- ConnectContext *ctx = self->priv->ctx;
+ ConnectContext *ctx = self->_priv.ctx;
switch (ctx->step) {
case CONNECT_STEP_FIRST:
@@ -445,7 +462,7 @@ connect_context_step (NMModemBroadband *self)
/* fall through */
case CONNECT_STEP_WAIT_FOR_SIM:
- if (MODEM_CAPS_3GPP (ctx->caps) && !self->priv->sim_iface) {
+ if (MODEM_CAPS_3GPP (ctx->caps) && !self->_priv.sim_iface) {
/* Have to wait for the SIM to show up */
break;
}
@@ -454,13 +471,13 @@ connect_context_step (NMModemBroadband *self)
case CONNECT_STEP_UNLOCK:
if ( MODEM_CAPS_3GPP (ctx->caps)
- && mm_modem_get_unlock_required (self->priv->modem_iface) == MM_MODEM_LOCK_SIM_PIN) {
+ && mm_modem_get_unlock_required (self->_priv.modem_iface) == MM_MODEM_LOCK_SIM_PIN) {
NMSettingGsm *s_gsm = nm_connection_get_setting_gsm (ctx->connection);
const char *pin = nm_setting_gsm_get_pin (s_gsm);
/* If we have a PIN already, send it. If we don't, get it. */
if (pin) {
- mm_sim_send_pin (self->priv->sim_iface,
+ mm_sim_send_pin (self->_priv.sim_iface,
pin,
ctx->cancellable,
(GAsyncReadyCallback) send_pin_ready,
@@ -476,7 +493,7 @@ connect_context_step (NMModemBroadband *self)
case CONNECT_STEP_WAIT_FOR_READY: {
GError *error = NULL;
- if (mm_modem_get_state (self->priv->modem_iface) <= MM_MODEM_STATE_LOCKED)
+ if (mm_modem_get_state (self->_priv.modem_iface) <= MM_MODEM_STATE_LOCKED)
break;
/* Create core connect properties based on the modem capabilities */
@@ -532,7 +549,7 @@ connect_context_step (NMModemBroadband *self)
nm_modem_ip_type_to_string (current),
ctx->ip_type_tries + 1);
- mm_modem_simple_connect (self->priv->simple_iface,
+ mm_modem_simple_connect (self->_priv.simple_iface,
ctx->connect_properties,
NULL,
(GAsyncReadyCallback) connect_ready,
@@ -544,7 +561,7 @@ connect_context_step (NMModemBroadband *self)
/* fall through */
case CONNECT_STEP_LAST:
- if (self->priv->ipv4_config || self->priv->ipv6_config) {
+ if (self->_priv.ipv4_config || self->_priv.ipv6_config) {
g_signal_emit_by_name (self, NM_MODEM_PREPARE_RESULT, TRUE, NM_DEVICE_STATE_REASON_NONE);
} else {
/* If we have a saved error from a previous attempt, use it */
@@ -571,9 +588,9 @@ act_stage1_prepare (NMModem *_self,
NMModemBroadband *self = NM_MODEM_BROADBAND (_self);
/* Make sure we can get the Simple interface from the modem */
- if (!self->priv->simple_iface) {
- self->priv->simple_iface = mm_object_get_modem_simple (self->priv->modem_object);
- if (!self->priv->simple_iface) {
+ if (!self->_priv.simple_iface) {
+ self->_priv.simple_iface = mm_object_get_modem_simple (self->_priv.modem_object);
+ if (!self->_priv.simple_iface) {
_LOGW ("cannot access the Simple mobile broadband modem interface");
*reason = NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED;
return NM_ACT_STAGE_RETURN_FAILURE;
@@ -583,12 +600,12 @@ act_stage1_prepare (NMModem *_self,
connect_context_clear (self);
/* Allocate new context for this connect stage attempt */
- self->priv->ctx = g_slice_new0 (ConnectContext);
- self->priv->ctx->caps = mm_modem_get_current_capabilities (self->priv->modem_iface);
- self->priv->ctx->cancellable = g_cancellable_new ();
- self->priv->ctx->connection = g_object_ref (connection);
+ self->_priv.ctx = g_slice_new0 (ConnectContext);
+ self->_priv.ctx->caps = mm_modem_get_current_capabilities (self->_priv.modem_iface);
+ self->_priv.ctx->cancellable = g_cancellable_new ();
+ self->_priv.ctx->connection = g_object_ref (connection);
- g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self->priv->simple_iface), MODEM_CONNECT_TIMEOUT_SECS * 1000);
+ g_dbus_proxy_set_default_timeout (G_DBUS_PROXY (self->_priv.simple_iface), MODEM_CONNECT_TIMEOUT_SECS * 1000);
connect_context_step (self);
return NM_ACT_STAGE_RETURN_POSTPONE;
@@ -603,7 +620,7 @@ check_connection_compatible (NMModem *_self, NMConnection *connection)
MMModemCapability modem_caps;
NMSettingConnection *s_con;
- modem_caps = mm_modem_get_current_capabilities (self->priv->modem_iface);
+ modem_caps = mm_modem_get_current_capabilities (self->_priv.modem_iface);
s_con = nm_connection_get_setting_connection (connection);
g_assert (s_con);
@@ -650,7 +667,7 @@ complete_connection (NMModem *_self,
MMModemCapability modem_caps;
NMSettingPpp *s_ppp;
- modem_caps = mm_modem_get_current_capabilities (self->priv->modem_iface);
+ modem_caps = mm_modem_get_current_capabilities (self->_priv.modem_iface);
/* PPP settings common to 3GPP and 3GPP2 */
s_ppp = nm_connection_get_setting_ppp (connection);
@@ -827,12 +844,12 @@ set_mm_enabled (NMModem *_self,
NMModemBroadband *self = NM_MODEM_BROADBAND (_self);
if (enabled) {
- mm_modem_enable (self->priv->modem_iface,
+ mm_modem_enable (self->_priv.modem_iface,
NULL, /* cancellable */
(GAsyncReadyCallback)modem_enable_ready,
g_object_ref (self));
} else {
- mm_modem_disable (self->priv->modem_iface,
+ mm_modem_disable (self->_priv.modem_iface,
NULL, /* cancellable */
(GAsyncReadyCallback)modem_disable_ready,
g_object_ref (self));
@@ -871,13 +888,13 @@ static_stage3_ip4_done (NMModemBroadband *self)
const gchar **dns;
guint i;
- g_assert (self->priv->ipv4_config);
- g_assert (self->priv->bearer);
+ g_assert (self->_priv.ipv4_config);
+ g_assert (self->_priv.bearer);
_LOGI ("IPv4 static configuration:");
/* Fully fail if invalid IP address retrieved */
- address_string = mm_bearer_ip_config_get_address (self->priv->ipv4_config);
+ address_string = mm_bearer_ip_config_get_address (self->_priv.ipv4_config);
if (!ip4_string_to_num (address_string, &address_network)) {
error = g_error_new (NM_DEVICE_ERROR,
NM_DEVICE_ERROR_INVALID_CONNECTION,
@@ -888,17 +905,17 @@ static_stage3_ip4_done (NMModemBroadband *self)
}
/* Missing gateway not a hard failure */
- gw_string = mm_bearer_ip_config_get_gateway (self->priv->ipv4_config);
+ gw_string = mm_bearer_ip_config_get_gateway (self->_priv.ipv4_config);
ip4_string_to_num (gw_string, &gw);
- data_port = mm_bearer_get_interface (self->priv->bearer);
+ data_port = mm_bearer_get_interface (self->_priv.bearer);
g_assert (data_port);
config = nm_ip4_config_new (nm_platform_link_get_ifindex (NM_PLATFORM_GET, data_port));
memset (&address, 0, sizeof (address));
address.address = address_network;
address.peer_address = address_network;
- address.plen = mm_bearer_ip_config_get_prefix (self->priv->ipv4_config);
+ address.plen = mm_bearer_ip_config_get_prefix (self->_priv.ipv4_config);
address.addr_source = NM_IP_CONFIG_SOURCE_WWAN;
if (address.plen <= 32)
nm_ip4_config_add_address (config, &address);
@@ -911,7 +928,7 @@ static_stage3_ip4_done (NMModemBroadband *self)
}
/* DNS servers */
- dns = mm_bearer_ip_config_get_dns (self->priv->ipv4_config);
+ dns = mm_bearer_ip_config_get_dns (self->_priv.ipv4_config);
for (i = 0; dns && dns[i]; i++) {
if ( ip4_string_to_num (dns[i], &address_network)
&& address_network > 0) {
@@ -955,13 +972,13 @@ stage3_ip6_done (NMModemBroadband *self)
const gchar **dns;
guint i;
- g_assert (self->priv->ipv6_config);
+ g_assert (self->_priv.ipv6_config);
memset (&address, 0, sizeof (address));
- ip_method = get_bearer_ip_method (self->priv->ipv6_config);
+ ip_method = get_bearer_ip_method (self->_priv.ipv6_config);
- address_string = mm_bearer_ip_config_get_address (self->priv->ipv6_config);
+ address_string = mm_bearer_ip_config_get_address (self->_priv.ipv6_config);
if (!address_string) {
/* DHCP/SLAAC is allowed to skip addresses; other methods require it */
if (ip_method != NM_MODEM_IP_METHOD_AUTO) {
@@ -985,17 +1002,17 @@ stage3_ip6_done (NMModemBroadband *self)
_LOGI ("IPv6 base configuration:");
- data_port = mm_bearer_get_interface (self->priv->bearer);
+ data_port = mm_bearer_get_interface (self->_priv.bearer);
g_assert (data_port);
config = nm_ip6_config_new (nm_platform_link_get_ifindex (NM_PLATFORM_GET, data_port));
- address.plen = mm_bearer_ip_config_get_prefix (self->priv->ipv6_config);
+ address.plen = mm_bearer_ip_config_get_prefix (self->_priv.ipv6_config);
if (address.plen <= 128)
nm_ip6_config_add_address (config, &address);
_LOGI (" address %s/%d", address_string, address.plen);
- address_string = mm_bearer_ip_config_get_gateway (self->priv->ipv6_config);
+ address_string = mm_bearer_ip_config_get_gateway (self->_priv.ipv6_config);
if (address_string) {
if (!inet_pton (AF_INET6, address_string, (void *) &(address.address))) {
error = g_error_new (NM_DEVICE_ERROR,
@@ -1017,7 +1034,7 @@ stage3_ip6_done (NMModemBroadband *self)
}
/* DNS servers */
- dns = mm_bearer_ip_config_get_dns (self->priv->ipv6_config);
+ dns = mm_bearer_ip_config_get_dns (self->_priv.ipv6_config);
for (i = 0; dns[i]; i++) {
struct in6_addr addr;
@@ -1125,14 +1142,14 @@ disconnect (NMModem *modem,
}
/* If no simple iface, we're done */
- if (!ctx->self->priv->simple_iface) {
+ if (!ctx->self->_priv.simple_iface) {
disconnect_context_complete (ctx);
return;
}
_LOGD ("notifying ModemManager about the modem disconnection");
ctx->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
- mm_modem_simple_disconnect (ctx->self->priv->simple_iface,
+ mm_modem_simple_disconnect (ctx->self->_priv.simple_iface,
NULL, /* bearer path; if NULL given ALL get disconnected */
cancellable,
(GAsyncReadyCallback) simple_disconnect_ready,
@@ -1149,11 +1166,11 @@ deactivate_cleanup (NMModem *_self, NMDevice *device)
/* TODO: cancel SimpleConnect() if any */
/* Cleanup IPv4 addresses and routes */
- g_clear_object (&self->priv->ipv4_config);
- g_clear_object (&self->priv->ipv6_config);
- g_clear_object (&self->priv->bearer);
+ g_clear_object (&self->_priv.ipv4_config);
+ g_clear_object (&self->_priv.ipv6_config);
+ g_clear_object (&self->_priv.bearer);
- self->priv->pin_tries = 0;
+ self->_priv.pin_tries = 0;
/* Chain up parent's */
NM_MODEM_CLASS (nm_modem_broadband_parent_class)->deactivate_cleanup (_self, device);
@@ -1202,7 +1219,7 @@ modem_state_changed (MMModem *modem,
mm_state_to_nm (new_state),
mm_modem_state_change_reason_get_string (reason));
- if (self->priv->ctx && self->priv->ctx->step == CONNECT_STEP_WAIT_FOR_READY)
+ if (self->_priv.ctx && self->_priv.ctx->step == CONNECT_STEP_WAIT_FOR_READY)
connect_context_step (self);
}
@@ -1223,40 +1240,6 @@ mm_ip_family_to_nm (MMBearerIpFamily family)
return nm_type;
}
-NMModem *
-nm_modem_broadband_new (GObject *object, GError **error)
-{
- NMModem *modem;
- MMObject *modem_object;
- MMModem *modem_iface;
- gchar *drivers;
-
- g_return_val_if_fail (MM_IS_OBJECT (object), NULL);
- modem_object = MM_OBJECT (object);
-
- /* Ensure we have the 'Modem' interface and the primary port at least */
- modem_iface = mm_object_peek_modem (modem_object);
- g_return_val_if_fail (!!modem_iface, NULL);
- g_return_val_if_fail (!!mm_modem_get_primary_port (modem_iface), NULL);
-
- /* Build a single string with all drivers listed */
- drivers = g_strjoinv (", ", (gchar **)mm_modem_get_drivers (modem_iface));
-
- modem = g_object_new (NM_TYPE_MODEM_BROADBAND,
- NM_MODEM_PATH, mm_object_get_path (modem_object),
- NM_MODEM_UID, mm_modem_get_primary_port (modem_iface),
- NM_MODEM_CONTROL_PORT, mm_modem_get_primary_port (modem_iface),
- NM_MODEM_DATA_PORT, NULL, /* We don't know it until bearer created */
- NM_MODEM_IP_TYPES, mm_ip_family_to_nm (mm_modem_get_supported_ip_families (modem_iface)),
- NM_MODEM_STATE, mm_state_to_nm (mm_modem_get_state (modem_iface)),
- NM_MODEM_DEVICE_ID, mm_modem_get_device_identifier (modem_iface),
- NM_MODEM_BROADBAND_MODEM, modem_object,
- NM_MODEM_DRIVER, drivers,
- NULL);
- g_free (drivers);
- return modem;
-}
-
static void
get_sim_ready (MMModem *modem,
GAsyncResult *res,
@@ -1267,20 +1250,20 @@ get_sim_ready (MMModem *modem,
new_sim = mm_modem_get_sim_finish (modem, res, &error);
- if (new_sim != self->priv->sim_iface) {
- g_clear_object (&self->priv->sim_iface);
- self->priv->sim_iface = new_sim;
+ if (new_sim != self->_priv.sim_iface) {
+ g_clear_object (&self->_priv.sim_iface);
+ self->_priv.sim_iface = new_sim;
} else
g_clear_object (&new_sim);
- if (self->priv->sim_iface) {
+ if (self->_priv.sim_iface) {
g_object_set (G_OBJECT (self),
- NM_MODEM_SIM_ID, mm_sim_get_identifier (self->priv->sim_iface),
- NM_MODEM_SIM_OPERATOR_ID, mm_sim_get_operator_identifier (self->priv->sim_iface),
+ NM_MODEM_SIM_ID, mm_sim_get_identifier (self->_priv.sim_iface),
+ NM_MODEM_SIM_OPERATOR_ID, mm_sim_get_operator_identifier (self->_priv.sim_iface),
NULL);
/* If we're waiting for the SIM during a connect, proceed with the connect */
- if (self->priv->ctx && self->priv->ctx->step == CONNECT_STEP_WAIT_FOR_SIM)
+ if (self->_priv.ctx && self->_priv.ctx->step == CONNECT_STEP_WAIT_FOR_SIM)
connect_context_step (self);
} else {
_NMLOG (g_error_matches (error, MM_CORE_ERROR, MM_CORE_ERROR_NOT_FOUND)
@@ -1297,10 +1280,10 @@ sim_changed (MMModem *modem, GParamSpec *pspec, gpointer user_data)
{
NMModemBroadband *self = NM_MODEM_BROADBAND (user_data);
- g_return_if_fail (modem == self->priv->modem_iface);
+ g_return_if_fail (modem == self->_priv.modem_iface);
- if (mm_modem_get_sim_path (self->priv->modem_iface)) {
- mm_modem_get_sim (self->priv->modem_iface,
+ if (mm_modem_get_sim_path (self->_priv.modem_iface)) {
+ mm_modem_get_sim (self->_priv.modem_iface,
NULL, /* cancellable */
(GAsyncReadyCallback) get_sim_ready,
g_object_ref (self));
@@ -1316,7 +1299,7 @@ supported_ip_families_changed (MMModem *modem, GParamSpec *pspec, gpointer user_
{
NMModemBroadband *self = NM_MODEM_BROADBAND (user_data);
- g_return_if_fail (modem == self->priv->modem_iface);
+ g_return_if_fail (modem == self->_priv.modem_iface);
g_object_set (G_OBJECT (self),
NM_MODEM_IP_TYPES,
@@ -1324,12 +1307,24 @@ supported_ip_families_changed (MMModem *modem, GParamSpec *pspec, gpointer user_
NULL);
}
+/*****************************************************************************/
+
static void
-nm_modem_broadband_init (NMModemBroadband *self)
+get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
- self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
- NM_TYPE_MODEM_BROADBAND,
- NMModemBroadbandPrivate);
+ NMModemBroadband *self = NM_MODEM_BROADBAND (object);
+
+ switch (prop_id) {
+ case PROP_MODEM:
+ g_value_set_object (value, self->_priv.modem_object);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
}
static void
@@ -1343,19 +1338,19 @@ set_property (GObject *object,
switch (prop_id) {
case PROP_MODEM:
/* construct-only */
- self->priv->modem_object = g_value_dup_object (value);
- self->priv->modem_iface = mm_object_get_modem (self->priv->modem_object);
- g_assert (self->priv->modem_iface != NULL);
- g_signal_connect (self->priv->modem_iface,
+ self->_priv.modem_object = g_value_dup_object (value);
+ self->_priv.modem_iface = mm_object_get_modem (self->_priv.modem_object);
+ g_assert (self->_priv.modem_iface != NULL);
+ g_signal_connect (self->_priv.modem_iface,
"state-changed",
G_CALLBACK (modem_state_changed),
self);
- g_signal_connect (self->priv->modem_iface,
+ g_signal_connect (self->_priv.modem_iface,
"notify::sim",
G_CALLBACK (sim_changed),
self);
- sim_changed (self->priv->modem_iface, NULL, self);
- g_signal_connect (self->priv->modem_iface,
+ sim_changed (self->_priv.modem_iface, NULL, self);
+ g_signal_connect (self->_priv.modem_iface,
"notify::supported-ip-families",
G_CALLBACK (supported_ip_families_changed),
self);
@@ -1369,22 +1364,45 @@ set_property (GObject *object,
}
}
+/*****************************************************************************/
+
static void
-get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
+nm_modem_broadband_init (NMModemBroadband *self)
{
- NMModemBroadband *self = NM_MODEM_BROADBAND (object);
+}
- switch (prop_id) {
- case PROP_MODEM:
- g_value_set_object (value, self->priv->modem_object);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+NMModem *
+nm_modem_broadband_new (GObject *object, GError **error)
+{
+ NMModem *modem;
+ MMObject *modem_object;
+ MMModem *modem_iface;
+ gchar *drivers;
+
+ g_return_val_if_fail (MM_IS_OBJECT (object), NULL);
+ modem_object = MM_OBJECT (object);
+
+ /* Ensure we have the 'Modem' interface and the primary port at least */
+ modem_iface = mm_object_peek_modem (modem_object);
+ g_return_val_if_fail (!!modem_iface, NULL);
+ g_return_val_if_fail (!!mm_modem_get_primary_port (modem_iface), NULL);
+
+ /* Build a single string with all drivers listed */
+ drivers = g_strjoinv (", ", (gchar **)mm_modem_get_drivers (modem_iface));
+
+ modem = g_object_new (NM_TYPE_MODEM_BROADBAND,
+ NM_MODEM_PATH, mm_object_get_path (modem_object),
+ NM_MODEM_UID, mm_modem_get_primary_port (modem_iface),
+ NM_MODEM_CONTROL_PORT, mm_modem_get_primary_port (modem_iface),
+ NM_MODEM_DATA_PORT, NULL, /* We don't know it until bearer created */
+ NM_MODEM_IP_TYPES, mm_ip_family_to_nm (mm_modem_get_supported_ip_families (modem_iface)),
+ NM_MODEM_STATE, mm_state_to_nm (mm_modem_get_state (modem_iface)),
+ NM_MODEM_DEVICE_ID, mm_modem_get_device_identifier (modem_iface),
+ NM_MODEM_BROADBAND_MODEM, modem_object,
+ NM_MODEM_DRIVER, drivers,
+ NULL);
+ g_free (drivers);
+ return modem;
}
static void
@@ -1393,13 +1411,13 @@ dispose (GObject *object)
NMModemBroadband *self = NM_MODEM_BROADBAND (object);
connect_context_clear (self);
- g_clear_object (&self->priv->ipv4_config);
- g_clear_object (&self->priv->ipv6_config);
- g_clear_object (&self->priv->bearer);
- g_clear_object (&self->priv->modem_iface);
- g_clear_object (&self->priv->simple_iface);
- g_clear_object (&self->priv->sim_iface);
- g_clear_object (&self->priv->modem_object);
+ g_clear_object (&self->_priv.ipv4_config);
+ g_clear_object (&self->_priv.ipv6_config);
+ g_clear_object (&self->_priv.bearer);
+ g_clear_object (&self->_priv.modem_iface);
+ g_clear_object (&self->_priv.simple_iface);
+ g_clear_object (&self->_priv.sim_iface);
+ g_clear_object (&self->_priv.modem_object);
G_OBJECT_CLASS (nm_modem_broadband_parent_class)->dispose (object);
}
@@ -1410,9 +1428,6 @@ nm_modem_broadband_class_init (NMModemBroadbandClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMModemClass *modem_class = NM_MODEM_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMModemBroadbandPrivate));
-
- /* Virtual methods */
object_class->dispose = dispose;
object_class->get_property = get_property;
object_class->set_property = set_property;
@@ -1430,11 +1445,11 @@ nm_modem_broadband_class_init (NMModemBroadbandClass *klass)
modem_class->act_stage1_prepare = act_stage1_prepare;
modem_class->owns_port = owns_port;
- /* Properties */
- g_object_class_install_property
- (object_class, PROP_MODEM,
- g_param_spec_object (NM_MODEM_BROADBAND_MODEM, "", "",
- MM_GDBUS_TYPE_OBJECT,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_MODEM] =
+ g_param_spec_object (NM_MODEM_BROADBAND_MODEM, "", "",
+ MM_GDBUS_TYPE_OBJECT,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
}
diff --git a/src/devices/wwan/nm-modem-broadband.h b/src/devices/wwan/nm-modem-broadband.h
index 6607f7f553..4948cb3b75 100644
--- a/src/devices/wwan/nm-modem-broadband.h
+++ b/src/devices/wwan/nm-modem-broadband.h
@@ -30,18 +30,8 @@
#define NM_IS_MODEM_BROADBAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_MODEM_BROADBAND))
#define NM_MODEM_BROADBAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_MODEM_BROADBAND, NMModemBroadbandClass))
-typedef struct _NMModemBroadband NMModemBroadband;
-typedef struct _NMModemBroadbandClass NMModemBroadbandClass;
-typedef struct _NMModemBroadbandPrivate NMModemBroadbandPrivate;
-
-struct _NMModemBroadband {
- NMModem parent;
- NMModemBroadbandPrivate *priv;
-};
-
-struct _NMModemBroadbandClass {
- NMModemClass parent;
-};
+typedef struct _NMModemBroadband NMModemBroadband;
+typedef struct _NMModemBroadbandClass NMModemBroadbandClass;
GType nm_modem_broadband_get_type (void);
diff --git a/src/devices/wwan/nm-modem-manager.c b/src/devices/wwan/nm-modem-manager.c
index 964485fc34..b1f6d92e7f 100644
--- a/src/devices/wwan/nm-modem-manager.c
+++ b/src/devices/wwan/nm-modem-manager.c
@@ -43,9 +43,16 @@
#define MODEM_POKE_INTERVAL 120
-G_DEFINE_TYPE (NMModemManager, nm_modem_manager, G_TYPE_OBJECT)
+/*****************************************************************************/
-struct _NMModemManagerPrivate {
+enum {
+ MODEM_ADDED,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+typedef struct {
GDBusConnection *dbus_connection;
MMManager *modem_manager;
guint mm_launch_id;
@@ -57,17 +64,23 @@ struct _NMModemManagerPrivate {
GDBusProxy *ofono_proxy;
#endif
- /* Common */
GHashTable *modems;
+} NMModemManagerPrivate;
+
+struct _NMModemManager {
+ GObject parent;
+ NMModemManagerPrivate _priv;
};
-enum {
- MODEM_ADDED,
- LAST_SIGNAL,
+struct _NMModemManagerClass {
+ GObjectClass parent;
};
-static guint signals[LAST_SIGNAL] = { 0 };
-/************************************************************************/
+G_DEFINE_TYPE (NMModemManager, nm_modem_manager, G_TYPE_OBJECT)
+
+#define NM_MODEM_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMModemManager, NM_IS_MODEM_MANAGER)
+
+/*****************************************************************************/
static void
handle_new_modem (NMModemManager *self, NMModem *modem)
@@ -75,13 +88,13 @@ handle_new_modem (NMModemManager *self, NMModem *modem)
const char *path;
path = nm_modem_get_path (modem);
- if (g_hash_table_lookup (self->priv->modems, path)) {
+ if (g_hash_table_lookup (self->_priv.modems, path)) {
g_warn_if_reached ();
return;
}
/* Track the new modem */
- g_hash_table_insert (self->priv->modems, g_strdup (path), modem);
+ g_hash_table_insert (self->_priv.modems, g_strdup (path), modem);
g_signal_emit (self, signals[MODEM_ADDED], 0, modem);
}
@@ -95,12 +108,12 @@ remove_one_modem (gpointer key, gpointer value, gpointer user_data)
static void
clear_modem_manager (NMModemManager *self)
{
- if (!self->priv->modem_manager)
+ if (!self->_priv.modem_manager)
return;
- nm_clear_g_signal_handler (self->priv->modem_manager, &self->priv->mm_name_owner_changed_id);
- nm_clear_g_signal_handler (self->priv->modem_manager, &self->priv->mm_object_added_id);
- nm_clear_g_signal_handler (self->priv->modem_manager, &self->priv->mm_object_removed_id);
- g_clear_object (&self->priv->modem_manager);
+ nm_clear_g_signal_handler (self->_priv.modem_manager, &self->_priv.mm_name_owner_changed_id);
+ nm_clear_g_signal_handler (self->_priv.modem_manager, &self->_priv.mm_object_added_id);
+ nm_clear_g_signal_handler (self->_priv.modem_manager, &self->_priv.mm_object_removed_id);
+ g_clear_object (&self->_priv.modem_manager);
}
static void
@@ -115,7 +128,7 @@ modem_object_added (MMManager *modem_manager,
/* Ensure we don't have the same modem already */
path = mm_object_get_path (modem_object);
- if (g_hash_table_lookup (self->priv->modems, path)) {
+ if (g_hash_table_lookup (self->_priv.modems, path)) {
nm_log_warn (LOGD_MB, "modem with path %s already exists, ignoring", path);
return;
}
@@ -153,12 +166,12 @@ modem_object_removed (MMManager *manager,
const gchar *path;
path = mm_object_get_path (modem_object);
- modem = (NMModem *) g_hash_table_lookup (self->priv->modems, path);
+ modem = (NMModem *) g_hash_table_lookup (self->_priv.modems, path);
if (!modem)
return;
nm_modem_emit_removed (modem);
- g_hash_table_remove (self->priv->modems, path);
+ g_hash_table_remove (self->_priv.modems, path);
}
static void
@@ -169,9 +182,9 @@ modem_manager_available (NMModemManager *self)
nm_log_info (LOGD_MB, "ModemManager available in the bus");
/* Update initial modems list */
- modems = g_dbus_object_manager_get_objects (G_DBUS_OBJECT_MANAGER (self->priv->modem_manager));
+ modems = g_dbus_object_manager_get_objects (G_DBUS_OBJECT_MANAGER (self->_priv.modem_manager));
for (l = modems; l; l = g_list_next (l))
- modem_object_added (self->priv->modem_manager, MM_OBJECT (l->data), self);
+ modem_object_added (self->_priv.modem_manager, MM_OBJECT (l->data), self);
g_list_free_full (modems, (GDestroyNotify) g_object_unref);
}
@@ -187,7 +200,7 @@ modem_manager_name_owner_changed (MMManager *modem_manager,
gchar *name_owner;
/* Quit poking, if any */
- nm_clear_g_source (&self->priv->mm_launch_id);
+ nm_clear_g_source (&self->_priv.mm_launch_id);
name_owner = g_dbus_object_manager_client_get_name_owner (G_DBUS_OBJECT_MANAGER_CLIENT (modem_manager));
if (!name_owner) {
@@ -226,7 +239,7 @@ ofono_create_modem (NMModemManager *self, const char *path)
* receive ModemAdded signals before GetModems() returns, so some of the
* modems returned from GetModems() may already have been created.
*/
- if (!g_hash_table_lookup (self->priv->modems, path)) {
+ if (!g_hash_table_lookup (self->_priv.modems, path)) {
modem = nm_modem_ofono_new (path);
if (modem)
handle_new_modem (self, modem);
@@ -256,10 +269,10 @@ ofono_signal_cb (GDBusProxy *proxy,
g_variant_get (parameters, "(o)", &object_path);
nm_log_info (LOGD_MB, "oFono modem removed: %s", object_path);
- modem = (NMModem *) g_hash_table_lookup (self->priv->modems, object_path);
+ modem = (NMModem *) g_hash_table_lookup (self->_priv.modems, object_path);
if (modem) {
nm_modem_emit_removed (modem);
- g_hash_table_remove (self->priv->modems, object_path);
+ g_hash_table_remove (self->_priv.modems, object_path);
} else {
nm_log_warn (LOGD_MB, "could not remove modem %s, not found in table",
object_path);
@@ -297,11 +310,11 @@ ofono_check_name_owner (NMModemManager *self)
{
gs_free char *name_owner = NULL;
- name_owner = g_dbus_proxy_get_name_owner (G_DBUS_PROXY (self->priv->ofono_proxy));
+ name_owner = g_dbus_proxy_get_name_owner (G_DBUS_PROXY (self->_priv.ofono_proxy));
if (name_owner) {
nm_log_info (LOGD_MB, "oFono is now available");
- g_dbus_proxy_call (self->priv->ofono_proxy,
+ g_dbus_proxy_call (self->_priv.ofono_proxy,
"GetModems",
NULL,
G_DBUS_CALL_FLAGS_NONE,
@@ -316,7 +329,7 @@ ofono_check_name_owner (NMModemManager *self)
nm_log_info (LOGD_MB, "oFono disappeared from bus");
/* Remove any oFono modems that might be left around */
- g_hash_table_iter_init (&iter, self->priv->modems);
+ g_hash_table_iter_init (&iter, self->_priv.modems);
while (g_hash_table_iter_next (&iter, NULL, (gpointer) &modem)) {
if (NM_IS_MODEM_OFONO (modem)) {
nm_modem_emit_removed (modem);
@@ -340,18 +353,18 @@ ofono_proxy_new_cb (GObject *source_object, GAsyncResult *res, gpointer user_dat
gs_unref_object NMModemManager *self = NM_MODEM_MANAGER (user_data);
gs_free_error GError *error = NULL;
- self->priv->ofono_proxy = g_dbus_proxy_new_finish (res, &error);
+ self->_priv.ofono_proxy = g_dbus_proxy_new_finish (res, &error);
if (error) {
nm_log_warn (LOGD_MB, "error getting oFono bus proxy: %s", error->message);
return;
}
- g_signal_connect (self->priv->ofono_proxy,
+ g_signal_connect (self->_priv.ofono_proxy,
"notify::g-name-owner",
G_CALLBACK (ofono_name_owner_changed),
self);
- g_signal_connect (self->priv->ofono_proxy,
+ g_signal_connect (self->_priv.ofono_proxy,
"g-signal",
G_CALLBACK (ofono_signal_cb),
self);
@@ -362,8 +375,8 @@ ofono_proxy_new_cb (GObject *source_object, GAsyncResult *res, gpointer user_dat
static void
ensure_ofono_client (NMModemManager *self)
{
- g_assert (self->priv->dbus_connection);
- g_dbus_proxy_new (self->priv->dbus_connection,
+ g_assert (self->_priv.dbus_connection);
+ g_dbus_proxy_new (self->_priv.dbus_connection,
G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
NULL,
OFONO_DBUS_SERVICE,
@@ -408,7 +421,7 @@ static void
modem_manager_poke (NMModemManager *self)
{
/* If there is no current owner right away, ensure we poke to get one */
- g_dbus_connection_call (self->priv->dbus_connection,
+ g_dbus_connection_call (self->_priv.dbus_connection,
"org.freedesktop.ModemManager1",
"/org/freedesktop/ModemManager1",
DBUS_INTERFACE_PEER,
@@ -427,7 +440,7 @@ modem_manager_check_name_owner (NMModemManager *self)
{
gs_free gchar *name_owner = NULL;
- name_owner = g_dbus_object_manager_client_get_name_owner (G_DBUS_OBJECT_MANAGER_CLIENT (self->priv->modem_manager));
+ name_owner = g_dbus_object_manager_client_get_name_owner (G_DBUS_OBJECT_MANAGER_CLIENT (self->_priv.modem_manager));
if (name_owner) {
/* Available! */
modem_manager_available (self);
@@ -448,10 +461,10 @@ manager_new_ready (GObject *source,
GError *error = NULL;
- g_return_if_fail (!self->priv->modem_manager);
+ g_return_if_fail (!self->_priv.modem_manager);
- self->priv->modem_manager = mm_manager_new_finish (res, &error);
- if (!self->priv->modem_manager) {
+ self->_priv.modem_manager = mm_manager_new_finish (res, &error);
+ if (!self->_priv.modem_manager) {
/* We're not really supposed to get any error here. If we do get one,
* though, just re-schedule the MMManager creation after some time.
* During this period, name-owner changes won't be followed. */
@@ -461,18 +474,18 @@ manager_new_ready (GObject *source,
schedule_modem_manager_relaunch (self, MODEM_POKE_INTERVAL);
} else {
/* Setup signals in the GDBusObjectManagerClient */
- self->priv->mm_name_owner_changed_id =
- g_signal_connect (self->priv->modem_manager,
+ self->_priv.mm_name_owner_changed_id =
+ g_signal_connect (self->_priv.modem_manager,
"notify::name-owner",
G_CALLBACK (modem_manager_name_owner_changed),
self);
- self->priv->mm_object_added_id =
- g_signal_connect (self->priv->modem_manager,
+ self->_priv.mm_object_added_id =
+ g_signal_connect (self->_priv.modem_manager,
"object-added",
G_CALLBACK (modem_object_added),
self);
- self->priv->mm_object_removed_id =
- g_signal_connect (self->priv->modem_manager,
+ self->_priv.mm_object_removed_id =
+ g_signal_connect (self->_priv.modem_manager,
"object-removed",
G_CALLBACK (modem_object_removed),
self);
@@ -487,13 +500,13 @@ manager_new_ready (GObject *source,
static void
ensure_modem_manager (NMModemManager *self)
{
- g_assert (self->priv->dbus_connection);
+ g_assert (self->_priv.dbus_connection);
/* Create the GDBusObjectManagerClient. We do not request to autostart, as
* we don't really want the MMManager creation to fail. We can always poke
* later on if we want to request the autostart */
- if (!self->priv->modem_manager) {
- mm_manager_new (self->priv->dbus_connection,
+ if (!self->_priv.modem_manager) {
+ mm_manager_new (self->_priv.dbus_connection,
G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_DO_NOT_AUTO_START,
NULL,
(GAsyncReadyCallback)manager_new_ready,
@@ -508,7 +521,7 @@ ensure_modem_manager (NMModemManager *self)
static gboolean
mm_launch_cb (NMModemManager *self)
{
- self->priv->mm_launch_id = 0;
+ self->_priv.mm_launch_id = 0;
ensure_modem_manager (self);
return G_SOURCE_REMOVE;
}
@@ -520,9 +533,9 @@ schedule_modem_manager_relaunch (NMModemManager *self,
/* No need to pass an extra reference to self; timeout/idle will be
* cancelled if the object gets disposed. */
if (n_seconds)
- self->priv->mm_launch_id = g_timeout_add_seconds (n_seconds, (GSourceFunc)mm_launch_cb, self);
+ self->_priv.mm_launch_id = g_timeout_add_seconds (n_seconds, (GSourceFunc)mm_launch_cb, self);
else
- self->priv->mm_launch_id = g_idle_add ((GSourceFunc)mm_launch_cb, self);
+ self->_priv.mm_launch_id = g_idle_add ((GSourceFunc)mm_launch_cb, self);
}
static void
@@ -533,8 +546,8 @@ bus_get_ready (GObject *source,
gs_unref_object NMModemManager *self = NM_MODEM_MANAGER (user_data);
gs_free_error GError *error = NULL;
- self->priv->dbus_connection = g_bus_get_finish (res, &error);
- if (!self->priv->dbus_connection) {
+ self->_priv.dbus_connection = g_bus_get_finish (res, &error);
+ if (!self->_priv.dbus_connection) {
nm_log_warn (LOGD_MB, "error getting bus connection: %s", error->message);
return;
}
@@ -546,16 +559,13 @@ bus_get_ready (GObject *source,
#endif
}
-/************************************************************************/
+/*****************************************************************************/
static void
nm_modem_manager_init (NMModemManager *self)
{
- self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_MODEM_MANAGER, NMModemManagerPrivate);
+ self->_priv.modems = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
- self->priv->modems = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
-
- // FIXME: this doesn't handle bus-daemon restart
g_bus_get (G_BUS_TYPE_SYSTEM,
NULL,
(GAsyncReadyCallback)bus_get_ready,
@@ -567,26 +577,25 @@ dispose (GObject *object)
{
NMModemManager *self = NM_MODEM_MANAGER (object);
- nm_clear_g_source (&self->priv->mm_launch_id);
+ nm_clear_g_source (&self->_priv.mm_launch_id);
clear_modem_manager (self);
#if WITH_OFONO
- if (self->priv->ofono_proxy) {
- g_signal_handlers_disconnect_by_func (self->priv->ofono_proxy, ofono_name_owner_changed, self);
- g_signal_handlers_disconnect_by_func (self->priv->ofono_proxy, ofono_signal_cb, self);
- g_clear_object (&self->priv->ofono_proxy);
+ if (self->_priv.ofono_proxy) {
+ g_signal_handlers_disconnect_by_func (self->_priv.ofono_proxy, ofono_name_owner_changed, self);
+ g_signal_handlers_disconnect_by_func (self->_priv.ofono_proxy, ofono_signal_cb, self);
+ g_clear_object (&self->_priv.ofono_proxy);
}
#endif
- g_clear_object (&self->priv->dbus_connection);
+ g_clear_object (&self->_priv.dbus_connection);
- if (self->priv->modems) {
- g_hash_table_foreach_remove (self->priv->modems, remove_one_modem, object);
- g_hash_table_destroy (self->priv->modems);
+ if (self->_priv.modems) {
+ g_hash_table_foreach_remove (self->_priv.modems, remove_one_modem, object);
+ g_hash_table_destroy (self->_priv.modems);
}
- /* Chain up to the parent class */
G_OBJECT_CLASS (nm_modem_manager_parent_class)->dispose (object);
}
@@ -595,15 +604,12 @@ nm_modem_manager_class_init (NMModemManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMModemManagerPrivate));
-
object_class->dispose = dispose;
signals[MODEM_ADDED] =
- g_signal_new (NM_MODEM_MANAGER_MODEM_ADDED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemManagerClass, modem_added),
- NULL, NULL, NULL,
- G_TYPE_NONE, 1, NM_TYPE_MODEM);
+ g_signal_new (NM_MODEM_MANAGER_MODEM_ADDED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 1, NM_TYPE_MODEM);
}
diff --git a/src/devices/wwan/nm-modem-manager.h b/src/devices/wwan/nm-modem-manager.h
index b0014c6a89..65594dfa56 100644
--- a/src/devices/wwan/nm-modem-manager.h
+++ b/src/devices/wwan/nm-modem-manager.h
@@ -25,23 +25,17 @@
#include "nm-modem.h"
-#define NM_TYPE_MODEM_MANAGER (nm_modem_manager_get_type ())
-#define NM_MODEM_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_MODEM_MANAGER, NMModemManager))
+#define NM_TYPE_MODEM_MANAGER (nm_modem_manager_get_type ())
+#define NM_MODEM_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_MODEM_MANAGER, NMModemManager))
+#define NM_MODEM_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_MODEM_MANAGER, NMModemManagerClass))
+#define NM_IS_MODEM_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_MODEM_MANAGER))
+#define NM_IS_MODEM_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_MODEM_MANAGER))
+#define NM_MODEM_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_MODEM_MANAGER, NMModemManagerClass))
#define NM_MODEM_MANAGER_MODEM_ADDED "modem-added"
-typedef struct _NMModemManagerPrivate NMModemManagerPrivate;
-
-typedef struct {
- GObject parent;
- NMModemManagerPrivate *priv;
-} NMModemManager;
-
-typedef struct {
- GObjectClass parent;
-
- void (*modem_added) (NMModemManager *self, NMModem *modem);
-} NMModemManagerClass;
+typedef struct _NMModemManager NMModemManager;
+typedef struct _NMModemManagerClass NMModemManagerClass;
GType nm_modem_manager_get_type (void);
diff --git a/src/devices/wwan/nm-modem-ofono.c b/src/devices/wwan/nm-modem-ofono.c
index 86492d3d98..69582f97c1 100644
--- a/src/devices/wwan/nm-modem-ofono.c
+++ b/src/devices/wwan/nm-modem-ofono.c
@@ -28,10 +28,7 @@
#include "nm-device-private.h"
#include "nm-modem.h"
#include "nm-platform.h"
-
-G_DEFINE_TYPE (NMModemOfono, nm_modem_ofono, NM_TYPE_MODEM)
-
-#define NM_MODEM_OFONO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_MODEM_OFONO, NMModemOfonoPrivate))
+#include "nm-ip4-config.h"
#define VARIANT_IS_OF_TYPE_BOOLEAN(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_BOOLEAN) ))
#define VARIANT_IS_OF_TYPE_STRING(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_STRING) ))
@@ -39,6 +36,8 @@ G_DEFINE_TYPE (NMModemOfono, nm_modem_ofono, NM_TYPE_MODEM)
#define VARIANT_IS_OF_TYPE_STRING_ARRAY(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_STRING_ARRAY) ))
#define VARIANT_IS_OF_TYPE_DICTIONARY(v) ((v) != NULL && ( g_variant_is_of_type ((v), G_VARIANT_TYPE_DICTIONARY) ))
+/*****************************************************************************/
+
typedef struct {
GHashTable *connect_properties;
@@ -58,6 +57,19 @@ typedef struct {
NMIP4Config *ip4_config;
} NMModemOfonoPrivate;
+struct _NMModemOfono {
+ NMModem parent;
+ NMModemOfonoPrivate _priv;
+};
+
+struct _NMModemOfonoClass {
+ NMModemClass parent;
+};
+
+G_DEFINE_TYPE (NMModemOfono, nm_modem_ofono, NM_TYPE_MODEM)
+
+#define NM_MODEM_OFONO_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMModemOfono, NM_IS_MODEM_OFONO)
+
/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_MB
@@ -239,7 +251,7 @@ disconnect (NMModem *modem,
user_data,
disconnect);
}
- /* Setup cancellable */
+
ctx->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
if (disconnect_context_complete_if_cancelled (ctx))
return;
@@ -261,17 +273,16 @@ disconnect (NMModem *modem,
}
static void
-deactivate_cleanup (NMModem *_self, NMDevice *device)
+deactivate_cleanup (NMModem *modem, NMDevice *device)
{
- NMModemOfono *self = NM_MODEM_OFONO (_self);
+ NMModemOfono *self = NM_MODEM_OFONO (modem);
NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self);
/* TODO: cancel SimpleConnect() if any */
g_clear_object (&priv->ip4_config);
- /* Chain up parent's */
- NM_MODEM_CLASS (nm_modem_ofono_parent_class)->deactivate_cleanup (_self, device);
+ NM_MODEM_CLASS (nm_modem_ofono_parent_class)->deactivate_cleanup (modem, device);
}
@@ -700,30 +711,6 @@ modem_get_properties_done (GDBusProxy *proxy, GAsyncResult *result, gpointer use
g_variant_unref (v_properties);
}
-NMModem *
-nm_modem_ofono_new (const char *path)
-{
- gs_free char *basename = NULL;
-
- g_return_val_if_fail (path != NULL, NULL);
-
- nm_log_info (LOGD_MB, "ofono: creating new Ofono modem path %s", path);
-
- /* Use short modem name (not its object path) as the NM device name (which
- * comes from NM_MODEM_UID)and the device ID.
- */
- basename = g_path_get_basename (path);
-
- return (NMModem *) g_object_new (NM_TYPE_MODEM_OFONO,
- NM_MODEM_PATH, path,
- NM_MODEM_UID, basename,
- NM_MODEM_DEVICE_ID, basename,
- NM_MODEM_CONTROL_PORT, "ofono", /* mandatory */
- NM_MODEM_DRIVER, "ofono",
- NM_MODEM_STATE, NM_MODEM_STATE_INITIALIZING,
- NULL);
-}
-
static void
stage1_prepare_done (GDBusProxy *proxy, GAsyncResult *result, gpointer user_data)
{
@@ -933,11 +920,11 @@ out:
}
static NMActStageReturn
-static_stage3_ip4_config_start (NMModem *_self,
+static_stage3_ip4_config_start (NMModem *modem,
NMActRequest *req,
NMDeviceStateReason *reason)
{
- NMModemOfono *self = NM_MODEM_OFONO (_self);
+ NMModemOfono *self = NM_MODEM_OFONO (modem);
NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self);
NMActStageReturn ret = NM_ACT_STAGE_RETURN_FAILURE;
GError *error = NULL;
@@ -1123,6 +1110,8 @@ modem_proxy_new_cb (GDBusProxy *proxy, GAsyncResult *result, gpointer user_data)
g_object_ref (self));
}
+/*****************************************************************************/
+
static void
nm_modem_ofono_init (NMModemOfono *self)
{
@@ -1144,6 +1133,30 @@ constructed (GObject *object)
g_object_ref (self));
}
+NMModem *
+nm_modem_ofono_new (const char *path)
+{
+ gs_free char *basename = NULL;
+
+ g_return_val_if_fail (path != NULL, NULL);
+
+ nm_log_info (LOGD_MB, "ofono: creating new Ofono modem path %s", path);
+
+ /* Use short modem name (not its object path) as the NM device name (which
+ * comes from NM_MODEM_UID)and the device ID.
+ */
+ basename = g_path_get_basename (path);
+
+ return (NMModem *) g_object_new (NM_TYPE_MODEM_OFONO,
+ NM_MODEM_PATH, path,
+ NM_MODEM_UID, basename,
+ NM_MODEM_DEVICE_ID, basename,
+ NM_MODEM_CONTROL_PORT, "ofono", /* mandatory */
+ NM_MODEM_DRIVER, "ofono",
+ NM_MODEM_STATE, NM_MODEM_STATE_INITIALIZING,
+ NULL);
+}
+
static void
dispose (GObject *object)
{
@@ -1182,9 +1195,6 @@ nm_modem_ofono_class_init (NMModemOfonoClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMModemClass *modem_class = NM_MODEM_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMModemOfonoPrivate));
-
- /* Virtual methods */
object_class->constructed = constructed;
object_class->dispose = dispose;
@@ -1194,9 +1204,6 @@ nm_modem_ofono_class_init (NMModemOfonoClass *klass)
modem_class->deactivate_cleanup = deactivate_cleanup;
modem_class->check_connection_compatible = check_connection_compatible;
- /* same as nm-modem-broadband */
modem_class->act_stage1_prepare = act_stage1_prepare;
-
- /* same as nm-modem-broadband */
modem_class->static_stage3_ip4_config_start = static_stage3_ip4_config_start;
}
diff --git a/src/devices/wwan/nm-modem-ofono.h b/src/devices/wwan/nm-modem-ofono.h
index 5965526d61..d9cb68ac94 100644
--- a/src/devices/wwan/nm-modem-ofono.h
+++ b/src/devices/wwan/nm-modem-ofono.h
@@ -38,13 +38,8 @@
#define OFONO_DBUS_INTERFACE_CONNECTION_CONTEXT "org.ofono.ConnectionContext"
#define OFONO_DBUS_INTERFACE_SIM_MANAGER "org.ofono.SimManager"
-typedef struct {
- NMModem parent;
-} NMModemOfono;
-
-typedef struct {
- NMModemClass parent;
-} NMModemOfonoClass;
+typedef struct _NMModemOfono NMModemOfono;
+typedef struct _NMModemOfonoClass NMModemOfonoClass;
GType nm_modem_ofono_get_type (void);
diff --git a/src/devices/wwan/nm-modem.c b/src/devices/wwan/nm-modem.c
index 94430af47a..d5f12b1cc2 100644
--- a/src/devices/wwan/nm-modem.c
+++ b/src/devices/wwan/nm-modem.c
@@ -32,13 +32,14 @@
#include "nm-device-private.h"
#include "nm-modem-enum-types.h"
#include "nm-route-manager.h"
+#include "nm-act-request.h"
+#include "nm-ip4-config.h"
+#include "nm-ip6-config.h"
+#include "ppp-manager/nm-ppp-status.h"
-G_DEFINE_TYPE (NMModem, nm_modem, G_TYPE_OBJECT)
-
-#define NM_MODEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_MODEM, NMModemPrivate))
+/*****************************************************************************/
-enum {
- PROP_0,
+NM_GOBJECT_PROPERTIES_DEFINE (NMModem,
PROP_CONTROL_PORT,
PROP_DATA_PORT,
PROP_PATH,
@@ -52,11 +53,24 @@ enum {
PROP_SIM_ID,
PROP_IP_TYPES,
PROP_SIM_OPERATOR_ID,
+);
- LAST_PROP
+enum {
+ PPP_STATS,
+ PPP_FAILED,
+ PREPARE_RESULT,
+ IP4_CONFIG_RESULT,
+ IP6_CONFIG_RESULT,
+ AUTH_REQUESTED,
+ AUTH_RESULT,
+ REMOVED,
+ STATE_CHANGED,
+ LAST_SIGNAL,
};
-typedef struct {
+static guint signals[LAST_SIGNAL] = { 0 };
+
+typedef struct _NMModemPrivate {
char *uid;
char *path;
char *driver;
@@ -86,22 +100,9 @@ typedef struct {
guint32 out_bytes;
} NMModemPrivate;
-enum {
- PPP_STATS,
- PPP_FAILED,
- PREPARE_RESULT,
- IP4_CONFIG_RESULT,
- IP6_CONFIG_RESULT,
- AUTH_REQUESTED,
- AUTH_RESULT,
- REMOVED,
- STATE_CHANGED,
-
- LAST_SIGNAL
-};
-
-static guint signals[LAST_SIGNAL] = { 0 };
+G_DEFINE_TYPE (NMModem, nm_modem, G_TYPE_OBJECT)
+#define NM_MODEM_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR (self, NMModem, NM_IS_MODEM)
/*****************************************************************************/
/* State/enabled/connected */
@@ -154,7 +155,7 @@ nm_modem_set_state (NMModem *self,
reason ? reason : "none");
priv->state = new_state;
- g_object_notify (G_OBJECT (self), NM_MODEM_STATE);
+ _notify (self, PROP_STATE);
g_signal_emit (self, signals[STATE_CHANGED], 0, new_state, old_state, reason);
}
}
@@ -397,7 +398,7 @@ set_data_port (NMModem *self, const char *new_data_port)
if (g_strcmp0 (priv->data_port, new_data_port) != 0) {
g_free (priv->data_port);
priv->data_port = g_strdup (new_data_port);
- g_object_notify (G_OBJECT (self), NM_MODEM_DATA_PORT);
+ _notify (self, PROP_DATA_PORT);
}
}
@@ -1306,48 +1307,10 @@ nm_modem_get_capabilities (NMModem *self,
/*****************************************************************************/
static void
-nm_modem_init (NMModem *self)
-{
-}
-
-static GObject*
-constructor (GType type,
- guint n_construct_params,
- GObjectConstructParam *construct_params)
-{
- GObject *object;
- NMModemPrivate *priv;
-
- object = G_OBJECT_CLASS (nm_modem_parent_class)->constructor (type,
- n_construct_params,
- construct_params);
- if (!object)
- return NULL;
-
- priv = NM_MODEM_GET_PRIVATE (object);
-
- if (!priv->data_port && !priv->control_port) {
- nm_log_err (LOGD_HW, "neither modem command nor data interface provided");
- goto err;
- }
-
- if (!priv->path) {
- nm_log_err (LOGD_HW, "D-Bus path not provided");
- goto err;
- }
-
- return object;
-
-err:
- g_object_unref (object);
- return NULL;
-}
-
-static void
get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
- NMModemPrivate *priv = NM_MODEM_GET_PRIVATE (object);
+ NMModemPrivate *priv = NM_MODEM_GET_PRIVATE ((NMModem *) object);
switch (prop_id) {
case PROP_PATH:
@@ -1399,7 +1362,7 @@ static void
set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec)
{
- NMModemPrivate *priv = NM_MODEM_GET_PRIVATE (object);
+ NMModemPrivate *priv = NM_MODEM_GET_PRIVATE ((NMModem *) object);
const char *s;
switch (prop_id) {
@@ -1458,10 +1421,53 @@ set_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
+static void
+nm_modem_init (NMModem *self)
+{
+ self->_priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_MODEM, NMModemPrivate);
+}
+
+static GObject*
+constructor (GType type,
+ guint n_construct_params,
+ GObjectConstructParam *construct_params)
+{
+ GObject *object;
+ NMModemPrivate *priv;
+
+ object = G_OBJECT_CLASS (nm_modem_parent_class)->constructor (type,
+ n_construct_params,
+ construct_params);
+ if (!object)
+ return NULL;
+
+ priv = NM_MODEM_GET_PRIVATE ((NMModem *) object);
+
+ if (!priv->data_port && !priv->control_port) {
+ nm_log_err (LOGD_HW, "neither modem command nor data interface provided");
+ goto err;
+ }
+
+ if (!priv->path) {
+ nm_log_err (LOGD_HW, "D-Bus path not provided");
+ goto err;
+ }
+
+ return object;
+
+err:
+ g_object_unref (object);
+ return NULL;
+}
+
+/*****************************************************************************/
+
static void
dispose (GObject *object)
{
- NMModemPrivate *priv = NM_MODEM_GET_PRIVATE (object);
+ NMModemPrivate *priv = NM_MODEM_GET_PRIVATE ((NMModem *) object);
if (priv->act_request) {
g_object_unref (priv->act_request);
@@ -1474,7 +1480,7 @@ dispose (GObject *object)
static void
finalize (GObject *object)
{
- NMModemPrivate *priv = NM_MODEM_GET_PRIVATE (object);
+ NMModemPrivate *priv = NM_MODEM_GET_PRIVATE ((NMModem *) object);
g_free (priv->uid);
g_free (priv->path);
@@ -1495,7 +1501,6 @@ nm_modem_class_init (NMModemClass *klass)
g_type_class_add_private (object_class, sizeof (NMModemPrivate));
- /* Virtual methods */
object_class->constructor = constructor;
object_class->set_property = set_property;
object_class->get_property = get_property;
@@ -1506,131 +1511,114 @@ nm_modem_class_init (NMModemClass *klass)
klass->stage3_ip6_config_request = stage3_ip6_config_request;
klass->deactivate_cleanup = deactivate_cleanup;
- /* Properties */
-
- g_object_class_install_property
- (object_class, PROP_UID,
- g_param_spec_string (NM_MODEM_UID, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_PATH,
- g_param_spec_string (NM_MODEM_PATH, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_DRIVER,
- g_param_spec_string (NM_MODEM_DRIVER, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_CONTROL_PORT,
- g_param_spec_string (NM_MODEM_CONTROL_PORT, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_DATA_PORT,
- g_param_spec_string (NM_MODEM_DATA_PORT, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_IP4_METHOD,
- g_param_spec_uint (NM_MODEM_IP4_METHOD, "", "",
- NM_MODEM_IP_METHOD_UNKNOWN,
- NM_MODEM_IP_METHOD_AUTO,
- NM_MODEM_IP_METHOD_UNKNOWN,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_IP6_METHOD,
- g_param_spec_uint (NM_MODEM_IP6_METHOD, "", "",
- NM_MODEM_IP_METHOD_UNKNOWN,
- NM_MODEM_IP_METHOD_AUTO,
- NM_MODEM_IP_METHOD_UNKNOWN,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_IP_TIMEOUT,
- g_param_spec_uint (NM_MODEM_IP_TIMEOUT, "", "",
- 0, 360, 20,
- G_PARAM_READWRITE |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_STATE,
- g_param_spec_enum (NM_MODEM_STATE, "", "",
- NM_TYPE_MODEM_STATE,
- NM_MODEM_STATE_UNKNOWN,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_DEVICE_ID,
- g_param_spec_string (NM_MODEM_DEVICE_ID, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_SIM_ID,
- g_param_spec_string (NM_MODEM_SIM_ID, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_IP_TYPES,
- g_param_spec_uint (NM_MODEM_IP_TYPES,
- "IP Types",
- "Supported IP types",
- 0, G_MAXUINT32, NM_MODEM_IP_TYPE_IPV4,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property
- (object_class, PROP_SIM_OPERATOR_ID,
- g_param_spec_string (NM_MODEM_SIM_OPERATOR_ID, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
- G_PARAM_STATIC_STRINGS));
-
- /* Signals */
+ obj_properties[PROP_UID] =
+ g_param_spec_string (NM_MODEM_UID, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_PATH] =
+ g_param_spec_string (NM_MODEM_PATH, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_DRIVER] =
+ g_param_spec_string (NM_MODEM_DRIVER, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_CONTROL_PORT] =
+ g_param_spec_string (NM_MODEM_CONTROL_PORT, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_DATA_PORT] =
+ g_param_spec_string (NM_MODEM_DATA_PORT, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_IP4_METHOD] =
+ g_param_spec_uint (NM_MODEM_IP4_METHOD, "", "",
+ NM_MODEM_IP_METHOD_UNKNOWN,
+ NM_MODEM_IP_METHOD_AUTO,
+ NM_MODEM_IP_METHOD_UNKNOWN,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_IP6_METHOD] =
+ g_param_spec_uint (NM_MODEM_IP6_METHOD, "", "",
+ NM_MODEM_IP_METHOD_UNKNOWN,
+ NM_MODEM_IP_METHOD_AUTO,
+ NM_MODEM_IP_METHOD_UNKNOWN,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_IP_TIMEOUT] =
+ g_param_spec_uint (NM_MODEM_IP_TIMEOUT, "", "",
+ 0, 360, 20,
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_STATE] =
+ g_param_spec_enum (NM_MODEM_STATE, "", "",
+ NM_TYPE_MODEM_STATE,
+ NM_MODEM_STATE_UNKNOWN,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_DEVICE_ID] =
+ g_param_spec_string (NM_MODEM_DEVICE_ID, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_SIM_ID] =
+ g_param_spec_string (NM_MODEM_SIM_ID, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_IP_TYPES] =
+ g_param_spec_uint (NM_MODEM_IP_TYPES,
+ "IP Types",
+ "Supported IP types",
+ 0, G_MAXUINT32, NM_MODEM_IP_TYPE_IPV4,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_SIM_OPERATOR_ID] =
+ g_param_spec_string (NM_MODEM_SIM_OPERATOR_ID, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
signals[PPP_STATS] =
- g_signal_new ("ppp-stats",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemClass, ppp_stats),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2,
- G_TYPE_UINT, G_TYPE_UINT);
+ g_signal_new ("ppp-stats",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 2,
+ G_TYPE_UINT, G_TYPE_UINT);
signals[PPP_FAILED] =
- g_signal_new ("ppp-failed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemClass, ppp_failed),
- NULL, NULL, NULL,
- G_TYPE_NONE, 1, G_TYPE_UINT);
+ g_signal_new ("ppp-failed",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_UINT);
signals[IP4_CONFIG_RESULT] =
- g_signal_new (NM_MODEM_IP4_CONFIG_RESULT,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemClass, ip4_config_result),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2, G_TYPE_OBJECT, G_TYPE_POINTER);
+ g_signal_new (NM_MODEM_IP4_CONFIG_RESULT,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 2, G_TYPE_OBJECT, G_TYPE_POINTER);
/**
* NMModem::ip6-config-result:
@@ -1646,50 +1634,44 @@ nm_modem_class_init (NMModemClass *klass)
* should be started after applying @config to the data port.
*/
signals[IP6_CONFIG_RESULT] =
- g_signal_new (NM_MODEM_IP6_CONFIG_RESULT,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemClass, ip6_config_result),
- NULL, NULL, NULL,
- G_TYPE_NONE, 3, G_TYPE_OBJECT, G_TYPE_BOOLEAN, G_TYPE_POINTER);
+ g_signal_new (NM_MODEM_IP6_CONFIG_RESULT,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 3, G_TYPE_OBJECT, G_TYPE_BOOLEAN, G_TYPE_POINTER);
signals[PREPARE_RESULT] =
- g_signal_new (NM_MODEM_PREPARE_RESULT,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemClass, prepare_result),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2, G_TYPE_BOOLEAN, G_TYPE_UINT);
+ g_signal_new (NM_MODEM_PREPARE_RESULT,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 2, G_TYPE_BOOLEAN, G_TYPE_UINT);
signals[AUTH_REQUESTED] =
- g_signal_new (NM_MODEM_AUTH_REQUESTED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemClass, auth_requested),
- NULL, NULL, NULL,
- G_TYPE_NONE, 0);
+ g_signal_new (NM_MODEM_AUTH_REQUESTED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
signals[AUTH_RESULT] =
- g_signal_new (NM_MODEM_AUTH_RESULT,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemClass, auth_result),
- NULL, NULL, NULL,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
+ g_signal_new (NM_MODEM_AUTH_RESULT,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_POINTER);
signals[REMOVED] =
- g_signal_new (NM_MODEM_REMOVED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemClass, removed),
- NULL, NULL, NULL,
- G_TYPE_NONE, 0);
+ g_signal_new (NM_MODEM_REMOVED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
signals[STATE_CHANGED] =
- g_signal_new (NM_MODEM_STATE_CHANGED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMModemClass, state_changed),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2, NM_TYPE_MODEM_STATE, NM_TYPE_MODEM_STATE);
+ g_signal_new (NM_MODEM_STATE_CHANGED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 2, NM_TYPE_MODEM_STATE, NM_TYPE_MODEM_STATE);
}
diff --git a/src/devices/wwan/nm-modem.h b/src/devices/wwan/nm-modem.h
index 8f797d4400..bc866ca465 100644
--- a/src/devices/wwan/nm-modem.h
+++ b/src/devices/wwan/nm-modem.h
@@ -76,7 +76,7 @@ typedef enum {
* combination of flags is possible. For example, (%NM_MODEM_IP_TYPE_IPV4 |
* %NM_MODEM_IP_TYPE_IPV6) indicates that the modem supports IPv4 and IPv6
* but not simultaneously on the same bearer.
- */
+ */
typedef enum {
NM_MODEM_IP_TYPE_UNKNOWN = 0x0,
NM_MODEM_IP_TYPE_IPV4 = 0x1,
@@ -100,9 +100,11 @@ typedef enum { /*< underscore_name=nm_modem_state >*/
NM_MODEM_STATE_CONNECTED = 12,
} NMModemState;
+struct _NMModemPrivate;
typedef struct {
GObject parent;
+ struct _NMModemPrivate *_priv;
} NMModem;
typedef struct {
@@ -153,26 +155,6 @@ typedef struct {
void (*deactivate_cleanup) (NMModem *self, NMDevice *device);
gboolean (*owns_port) (NMModem *self, const char *iface);
-
- /* Signals */
- void (*ppp_stats) (NMModem *self, guint32 in_bytes, guint32 out_bytes);
- void (*ppp_failed) (NMModem *self, NMDeviceStateReason reason);
-
- void (*prepare_result) (NMModem *self, gboolean success, NMDeviceStateReason reason);
- void (*ip4_config_result) (NMModem *self, NMIP4Config *config, GError *error);
- void (*ip6_config_result) (NMModem *self,
- NMIP6Config *config,
- gboolean do_slaac,
- GError *error);
-
- void (*auth_requested) (NMModem *self);
- void (*auth_result) (NMModem *self, GError *error);
-
- void (*state_changed) (NMModem *self,
- NMModemState new_state,
- NMModemState old_state);
-
- void (*removed) (NMModem *self);
} NMModemClass;
GType nm_modem_get_type (void);
diff --git a/src/devices/wwan/nm-wwan-factory.c b/src/devices/wwan/nm-wwan-factory.c
index 507935fc4a..c9f6cc12fb 100644
--- a/src/devices/wwan/nm-wwan-factory.c
+++ b/src/devices/wwan/nm-wwan-factory.c
@@ -24,35 +24,49 @@
#include <gmodule.h>
#include "nm-device-factory.h"
-#include "nm-wwan-factory.h"
#include "nm-setting-gsm.h"
#include "nm-setting-cdma.h"
#include "nm-modem-manager.h"
#include "nm-device-modem.h"
#include "nm-platform.h"
-static GType nm_wwan_factory_get_type (void);
+/*****************************************************************************/
-static void device_factory_interface_init (NMDeviceFactoryInterface *factory_iface);
+#define NM_TYPE_WWAN_FACTORY (nm_wwan_factory_get_type ())
+#define NM_WWAN_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_WWAN_FACTORY, NMWwanFactory))
+#define NM_WWAN_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_WWAN_FACTORY, NMWwanFactoryClass))
+#define NM_IS_WWAN_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_WWAN_FACTORY))
+#define NM_IS_WWAN_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_WWAN_FACTORY))
+#define NM_WWAN_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_WWAN_FACTORY, NMWwanFactoryClass))
-G_DEFINE_TYPE_EXTENDED (NMWwanFactory, nm_wwan_factory, G_TYPE_OBJECT, 0,
- G_IMPLEMENT_INTERFACE (NM_TYPE_DEVICE_FACTORY, device_factory_interface_init))
+typedef struct _NMWwanFactory NMWwanFactory;
+typedef struct _NMWwanFactoryClass NMWwanFactoryClass;
+
+static GType nm_wwan_factory_get_type (void);
-#define NM_WWAN_FACTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_WWAN_FACTORY, NMWwanFactoryPrivate))
+/*****************************************************************************/
typedef struct {
NMModemManager *mm;
} NMWwanFactoryPrivate;
-/************************************************************************/
+struct _NMWwanFactory {
+ GObject parent;
+ NMWwanFactoryPrivate _priv;
+};
-G_MODULE_EXPORT NMDeviceFactory *
-nm_device_factory_create (GError **error)
-{
- return (NMDeviceFactory *) g_object_new (NM_TYPE_WWAN_FACTORY, NULL);
-}
+struct _NMWwanFactoryClass {
+ GObjectClass parent;
+};
-/************************************************************************/
+static void device_factory_interface_init (NMDeviceFactoryInterface *factory_iface);
+
+G_DEFINE_TYPE_EXTENDED (NMWwanFactory, nm_wwan_factory, G_TYPE_OBJECT, 0,
+ G_IMPLEMENT_INTERFACE (NM_TYPE_DEVICE_FACTORY, device_factory_interface_init))
+
+#define NM_WWAN_FACTORY_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMWwanFactory, NM_IS_WWAN_FACTORY)
+
+/*****************************************************************************/
static void
modem_added_cb (NMModemManager *manager,
@@ -121,17 +135,11 @@ start (NMDeviceFactory *factory)
self);
}
-static void
-nm_wwan_factory_init (NMWwanFactory *self)
-{
-}
+/*****************************************************************************/
static void
-device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
+nm_wwan_factory_init (NMWwanFactory *self)
{
- factory_iface->get_supported_types = get_supported_types;
- factory_iface->create_device = create_device;
- factory_iface->start = start;
}
static void
@@ -153,7 +161,21 @@ nm_wwan_factory_class_init (NMWwanFactoryClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMWwanFactoryPrivate));
-
object_class->dispose = dispose;
}
+
+static void
+device_factory_interface_init (NMDeviceFactoryInterface *factory_iface)
+{
+ factory_iface->get_supported_types = get_supported_types;
+ factory_iface->create_device = create_device;
+ factory_iface->start = start;
+}
+
+/*****************************************************************************/
+
+G_MODULE_EXPORT NMDeviceFactory *
+nm_device_factory_create (GError **error)
+{
+ return (NMDeviceFactory *) g_object_new (NM_TYPE_WWAN_FACTORY, NULL);
+}
diff --git a/src/devices/wwan/nm-wwan-factory.h b/src/devices/wwan/nm-wwan-factory.h
deleted file mode 100644
index 61bdcb1e4b..0000000000
--- a/src/devices/wwan/nm-wwan-factory.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager -- Network link manager
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2014 Red Hat, Inc.
- */
-
-#ifndef __NETWORKMANAGER_WWAN_FACTORY_H__
-#define __NETWORKMANAGER_WWAN_FACTORY_H__
-
-#define NM_TYPE_WWAN_FACTORY (nm_wwan_factory_get_type ())
-#define NM_WWAN_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_WWAN_FACTORY, NMWwanFactory))
-
-typedef struct {
- GObject parent;
-} NMWwanFactory;
-
-typedef struct {
- GObjectClass parent;
-} NMWwanFactoryClass;
-
-#endif /* __NETWORKMANAGER_WWAN_FACTORY_H__ */
diff --git a/src/dhcp-manager/nm-dhcp-client.c b/src/dhcp-manager/nm-dhcp-client.c
index 3be2ea03f7..0e28726363 100644
--- a/src/dhcp-manager/nm-dhcp-client.c
+++ b/src/dhcp-manager/nm-dhcp-client.c
@@ -37,7 +37,26 @@
#include "nm-dhcp-client-logging.h"
-typedef struct {
+/*****************************************************************************/
+
+enum {
+ SIGNAL_STATE_CHANGED,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_IFACE,
+ PROP_IFINDEX,
+ PROP_HWADDR,
+ PROP_IPV6,
+ PROP_UUID,
+ PROP_PRIORITY,
+ PROP_TIMEOUT,
+);
+
+typedef struct _NMDhcpClientPrivate {
char * iface;
int ifindex;
GByteArray * hwaddr;
@@ -55,33 +74,13 @@ typedef struct {
guint timeout_id;
guint watch_id;
gboolean info_only;
-
} NMDhcpClientPrivate;
-#define NM_DHCP_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP_CLIENT, NMDhcpClientPrivate))
-
G_DEFINE_TYPE_EXTENDED (NMDhcpClient, nm_dhcp_client, G_TYPE_OBJECT, G_TYPE_FLAG_ABSTRACT, {})
-enum {
- SIGNAL_STATE_CHANGED,
- LAST_SIGNAL
-};
+#define NM_DHCP_CLIENT_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR (self, NMDhcpClient, NM_IS_DHCP_CLIENT)
-static guint signals[LAST_SIGNAL] = { 0 };
-
-enum {
- PROP_0,
- PROP_IFACE,
- PROP_IFINDEX,
- PROP_HWADDR,
- PROP_IPV6,
- PROP_UUID,
- PROP_PRIORITY,
- PROP_TIMEOUT,
- LAST_PROP
-};
-
-/********************************************/
+/*****************************************************************************/
pid_t
nm_dhcp_client_get_pid (NMDhcpClient *self)
@@ -186,7 +185,7 @@ nm_dhcp_client_get_fqdn (NMDhcpClient *self)
return NM_DHCP_CLIENT_GET_PRIVATE (self)->fqdn;
}
-/********************************************/
+/*****************************************************************************/
static const char *state_table[NM_DHCP_STATE_MAX + 1] = {
[NM_DHCP_STATE_UNKNOWN] = "unknown",
@@ -232,7 +231,7 @@ reason_to_state (NMDhcpClient *self, const char *iface, const char *reason)
return NM_DHCP_STATE_UNKNOWN;
}
-/********************************************/
+/*****************************************************************************/
static void
timeout_cleanup (NMDhcpClient *self)
@@ -618,7 +617,7 @@ nm_dhcp_client_stop (NMDhcpClient *self, gboolean release)
nm_dhcp_client_set_state (self, NM_DHCP_STATE_DONE, NULL, NULL);
}
-/********************************************/
+/*****************************************************************************/
static char *
bytearray_variant_to_string (NMDhcpClient *self, GVariant *value, const char *key)
@@ -776,19 +775,13 @@ nm_dhcp_client_handle_event (gpointer unused,
return TRUE;
}
-/********************************************/
-
-static void
-nm_dhcp_client_init (NMDhcpClient *self)
-{
- NM_DHCP_CLIENT_GET_PRIVATE (self)->pid = -1;
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
+ GValue *value, GParamSpec *pspec)
{
- NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE (object);
+ NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE ((NMDhcpClient *) object);
switch (prop_id) {
case PROP_IFACE:
@@ -820,10 +813,10 @@ get_property (GObject *object, guint prop_id,
static void
set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+ const GValue *value, GParamSpec *pspec)
{
- NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE (object);
-
+ NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE ((NMDhcpClient *) object);
+
switch (prop_id) {
case PROP_IFACE:
/* construct-only */
@@ -859,6 +852,19 @@ set_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
+static void
+nm_dhcp_client_init (NMDhcpClient *self)
+{
+ NMDhcpClientPrivate *priv;
+
+ priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_DHCP_CLIENT, NMDhcpClientPrivate);
+ self->_priv = priv;
+
+ priv->pid = -1;
+}
+
static void
dispose (GObject *object)
{
@@ -899,7 +905,6 @@ nm_dhcp_client_class_init (NMDhcpClientClass *client_class)
g_type_class_add_private (client_class, sizeof (NMDhcpClientPrivate));
- /* virtual methods */
object_class->dispose = dispose;
object_class->get_property = get_property;
object_class->set_property = set_property;
@@ -907,61 +912,56 @@ nm_dhcp_client_class_init (NMDhcpClientClass *client_class)
client_class->stop = stop;
client_class->get_duid = get_duid;
- g_object_class_install_property
- (object_class, PROP_IFACE,
- g_param_spec_string (NM_DHCP_CLIENT_INTERFACE, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_IFINDEX,
- g_param_spec_int (NM_DHCP_CLIENT_IFINDEX, "", "",
- -1, G_MAXINT, -1,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_object_class_install_property
- (object_class, PROP_HWADDR,
- g_param_spec_boxed (NM_DHCP_CLIENT_HWADDR, "", "",
- G_TYPE_BYTE_ARRAY,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_IPV6,
- g_param_spec_boolean (NM_DHCP_CLIENT_IPV6, "", "",
- FALSE,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_UUID,
- g_param_spec_string (NM_DHCP_CLIENT_UUID, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_PRIORITY,
- g_param_spec_uint (NM_DHCP_CLIENT_PRIORITY, "", "",
- 0, G_MAXUINT32, 0,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_TIMEOUT,
- g_param_spec_uint (NM_DHCP_CLIENT_TIMEOUT, "", "",
- 0, G_MAXUINT, 45,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- /* signals */
+ obj_properties[PROP_IFACE] =
+ g_param_spec_string (NM_DHCP_CLIENT_INTERFACE, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_IFINDEX] =
+ g_param_spec_int (NM_DHCP_CLIENT_IFINDEX, "", "",
+ -1, G_MAXINT, -1,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_HWADDR] =
+ g_param_spec_boxed (NM_DHCP_CLIENT_HWADDR, "", "",
+ G_TYPE_BYTE_ARRAY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_IPV6] =
+ g_param_spec_boolean (NM_DHCP_CLIENT_IPV6, "", "",
+ FALSE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_UUID] =
+ g_param_spec_string (NM_DHCP_CLIENT_UUID, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_PRIORITY] =
+ g_param_spec_uint (NM_DHCP_CLIENT_PRIORITY, "", "",
+ 0, G_MAXUINT32, 0,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_TIMEOUT] =
+ g_param_spec_uint (NM_DHCP_CLIENT_TIMEOUT, "", "",
+ 0, G_MAXUINT, 45,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
+
signals[SIGNAL_STATE_CHANGED] =
- g_signal_new (NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMDhcpClientClass, state_changed),
- NULL, NULL, NULL,
- G_TYPE_NONE, 4, G_TYPE_UINT, G_TYPE_OBJECT, G_TYPE_HASH_TABLE, G_TYPE_STRING);
+ g_signal_new (NM_DHCP_CLIENT_SIGNAL_STATE_CHANGED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (NMDhcpClientClass, state_changed),
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 4, G_TYPE_UINT, G_TYPE_OBJECT, G_TYPE_HASH_TABLE, G_TYPE_STRING);
}
diff --git a/src/dhcp-manager/nm-dhcp-client.h b/src/dhcp-manager/nm-dhcp-client.h
index 5779d4eddf..9a2d21f713 100644
--- a/src/dhcp-manager/nm-dhcp-client.h
+++ b/src/dhcp-manager/nm-dhcp-client.h
@@ -52,8 +52,11 @@ typedef enum {
NM_DHCP_STATE_MAX = __NM_DHCP_STATE_MAX - 1,
} NMDhcpState;
+struct _NMDhcpClientPrivate;
+
typedef struct {
GObject parent;
+ struct _NMDhcpClientPrivate *_priv;
} NMDhcpClient;
typedef struct {
@@ -96,19 +99,6 @@ typedef struct {
GType nm_dhcp_client_get_type (void);
-typedef const char *(*NMDhcpClientGetPathFunc) (void);
-
-typedef GSList * (*NMDhcpClientGetLeaseConfigsFunc) (const char *iface,
- int ifindex,
- const char *uuid,
- gboolean ipv6,
- guint32 default_route_metric);
-
-void _nm_dhcp_client_register (GType gtype,
- const char *name,
- NMDhcpClientGetPathFunc get_path_func,
- NMDhcpClientGetLeaseConfigsFunc get_lease_configs_func);
-
pid_t nm_dhcp_client_get_pid (NMDhcpClient *self);
const char *nm_dhcp_client_get_iface (NMDhcpClient *self);
@@ -170,5 +160,23 @@ gboolean nm_dhcp_client_handle_event (gpointer unused,
void nm_dhcp_client_set_client_id (NMDhcpClient *self, GBytes *client_id);
-#endif /* __NETWORKMANAGER_DHCP_CLIENT_H__ */
+/*****************************************************************************
+ * Client data
+ *****************************************************************************/
+
+typedef struct {
+ GType (*get_type)(void);
+ const char *name;
+ const char *(*get_path) (void);
+ GSList *(*get_lease_ip_configs) (const char *iface,
+ int ifindex,
+ const char *uuid,
+ gboolean ipv6,
+ guint32 default_route_metric);
+} NMDhcpClientFactory;
+
+extern const NMDhcpClientFactory _nm_dhcp_client_factory_dhclient;
+extern const NMDhcpClientFactory _nm_dhcp_client_factory_dhcpcd;
+extern const NMDhcpClientFactory _nm_dhcp_client_factory_internal;
+#endif /* __NETWORKMANAGER_DHCP_CLIENT_H__ */
diff --git a/src/dhcp-manager/nm-dhcp-dhclient.c b/src/dhcp-manager/nm-dhcp-dhclient.c
index bd02062426..a055e54179 100644
--- a/src/dhcp-manager/nm-dhcp-dhclient.c
+++ b/src/dhcp-manager/nm-dhcp-dhclient.c
@@ -27,6 +27,8 @@
#include "nm-default.h"
+#if WITH_DHCLIENT
+
#include <string.h>
#include <stdlib.h>
#include <errno.h>
@@ -36,7 +38,6 @@
#include <arpa/inet.h>
#include <ctype.h>
-#include "nm-dhcp-dhclient.h"
#include "nm-utils.h"
#include "nm-dhcp-dhclient-utils.h"
#include "nm-dhcp-manager.h"
@@ -44,9 +45,21 @@
#include "nm-dhcp-listener.h"
#include "nm-dhcp-client-logging.h"
-G_DEFINE_TYPE (NMDhcpDhclient, nm_dhcp_dhclient, NM_TYPE_DHCP_CLIENT)
+/*****************************************************************************/
+
+#define NM_TYPE_DHCP_DHCLIENT (nm_dhcp_dhclient_get_type ())
+#define NM_DHCP_DHCLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclient))
+#define NM_DHCP_DHCLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclientClass))
+#define NM_IS_DHCP_DHCLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DHCP_DHCLIENT))
+#define NM_IS_DHCP_DHCLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DHCP_DHCLIENT))
+#define NM_DHCP_DHCLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclientClass))
+
+typedef struct _NMDhcpDhclient NMDhcpDhclient;
+typedef struct _NMDhcpDhclientClass NMDhcpDhclientClass;
+
+static GType nm_dhcp_dhclient_get_type (void);
-#define NM_DHCP_DHCLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclientPrivate))
+/*****************************************************************************/
typedef struct {
char *conf_file;
@@ -56,14 +69,25 @@ typedef struct {
NMDhcpListener *dhcp_listener;
} NMDhcpDhclientPrivate;
+struct _NMDhcpDhclient {
+ NMDhcpClient parent;
+ NMDhcpDhclientPrivate _priv;
+};
+
+struct _NMDhcpDhclientClass {
+ NMDhcpClientClass parent;
+};
+
+G_DEFINE_TYPE (NMDhcpDhclient, nm_dhcp_dhclient, NM_TYPE_DHCP_CLIENT)
+
+#define NM_DHCP_DHCLIENT_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDhcpDhclient, NM_IS_DHCP_DHCLIENT)
+
+/*****************************************************************************/
+
static const char *
nm_dhcp_dhclient_get_path (void)
{
- const char *path = NULL;
-
- if (WITH_DHCLIENT)
- path = nm_utils_find_helper ("dhclient", DHCLIENT_PATH, NULL);
- return path;
+ return nm_utils_find_helper ("dhclient", DHCLIENT_PATH, NULL);
}
/**
@@ -542,11 +566,11 @@ stop (NMDhcpClient *client, gboolean release, const GByteArray *duid)
static void
state_changed (NMDhcpClient *client,
- NMDhcpState state,
- GObject *ip_config,
- GHashTable *options)
+ NMDhcpState state,
+ GObject *ip_config,
+ GHashTable *options)
{
- NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (client);
+ NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE ((NMDhcpDhclient *) client);
gs_unref_bytes GBytes *client_id = NULL;
if (nm_dhcp_client_get_client_id (client))
@@ -600,7 +624,7 @@ get_duid (NMDhcpClient *client)
return duid ? duid : NM_DHCP_CLIENT_CLASS (nm_dhcp_dhclient_parent_class)->get_duid (client);
}
-/***************************************************/
+/*****************************************************************************/
static const char *def_leasefiles[] = {
SYSCONFDIR "/dhclient6.leases",
@@ -637,7 +661,7 @@ nm_dhcp_dhclient_init (NMDhcpDhclient *self)
static void
dispose (GObject *object)
{
- NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (object);
+ NMDhcpDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE ((NMDhcpDhclient *) object);
if (priv->dhcp_listener) {
g_signal_handlers_disconnect_by_func (priv->dhcp_listener,
@@ -646,9 +670,9 @@ dispose (GObject *object)
g_clear_object (&priv->dhcp_listener);
}
- g_free (priv->pid_file);
- g_free (priv->conf_file);
- g_free (priv->lease_file);
+ nm_clear_g_free (&priv->pid_file);
+ nm_clear_g_free (&priv->conf_file);
+ nm_clear_g_free (&priv->lease_file);
G_OBJECT_CLASS (nm_dhcp_dhclient_parent_class)->dispose (object);
}
@@ -659,9 +683,6 @@ nm_dhcp_dhclient_class_init (NMDhcpDhclientClass *dhclient_class)
NMDhcpClientClass *client_class = NM_DHCP_CLIENT_CLASS (dhclient_class);
GObjectClass *object_class = G_OBJECT_CLASS (dhclient_class);
- g_type_class_add_private (dhclient_class, sizeof (NMDhcpDhclientPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
client_class->ip4_start = ip4_start;
@@ -671,13 +692,11 @@ nm_dhcp_dhclient_class_init (NMDhcpDhclientClass *dhclient_class)
client_class->state_changed = state_changed;
}
-static void __attribute__((constructor))
-register_dhcp_dhclient (void)
-{
- nm_g_type_init ();
- _nm_dhcp_client_register (NM_TYPE_DHCP_DHCLIENT,
- "dhclient",
- nm_dhcp_dhclient_get_path,
- nm_dhcp_dhclient_get_lease_ip_configs);
-}
+const NMDhcpClientFactory _nm_dhcp_client_factory_dhclient = {
+ .name = "dhclient",
+ .get_type = nm_dhcp_dhclient_get_type,
+ .get_path = nm_dhcp_dhclient_get_path,
+ .get_lease_ip_configs = nm_dhcp_dhclient_get_lease_ip_configs,
+};
+#endif /* WITH_DHCLIENT */
diff --git a/src/dhcp-manager/nm-dhcp-dhclient.h b/src/dhcp-manager/nm-dhcp-dhclient.h
deleted file mode 100644
index 7f0c855a75..0000000000
--- a/src/dhcp-manager/nm-dhcp-dhclient.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2005 - 2010 Red Hat, Inc.
- */
-
-#ifndef __NETWORKMANAGER_DHCP_DHCLIENT_H__
-#define __NETWORKMANAGER_DHCP_DHCLIENT_H__
-
-#include "nm-dhcp-client.h"
-
-#define NM_TYPE_DHCP_DHCLIENT (nm_dhcp_dhclient_get_type ())
-#define NM_DHCP_DHCLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclient))
-#define NM_DHCP_DHCLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclientClass))
-#define NM_IS_DHCP_DHCLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DHCP_DHCLIENT))
-#define NM_IS_DHCP_DHCLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DHCP_DHCLIENT))
-#define NM_DHCP_DHCLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DHCP_DHCLIENT, NMDhcpDhclientClass))
-
-typedef struct {
- NMDhcpClient parent;
-} NMDhcpDhclient;
-
-typedef struct {
- NMDhcpClientClass parent;
-} NMDhcpDhclientClass;
-
-GType nm_dhcp_dhclient_get_type (void);
-
-#endif /* __NETWORKMANAGER_DHCP_DHCLIENT_H__ */
-
diff --git a/src/dhcp-manager/nm-dhcp-dhcpcd.c b/src/dhcp-manager/nm-dhcp-dhcpcd.c
index 17ec993a5f..6b7fe38bbf 100644
--- a/src/dhcp-manager/nm-dhcp-dhcpcd.c
+++ b/src/dhcp-manager/nm-dhcp-dhcpcd.c
@@ -20,9 +20,10 @@
*
*/
-
#include "nm-default.h"
+#if WITH_DHCPCD
+
#include <string.h>
#include <stdlib.h>
#include <errno.h>
@@ -31,30 +32,52 @@
#include <netinet/in.h>
#include <arpa/inet.h>
-#include "nm-dhcp-dhcpcd.h"
#include "nm-dhcp-manager.h"
#include "nm-utils.h"
#include "NetworkManagerUtils.h"
#include "nm-dhcp-listener.h"
#include "nm-dhcp-client-logging.h"
-G_DEFINE_TYPE (NMDhcpDhcpcd, nm_dhcp_dhcpcd, NM_TYPE_DHCP_CLIENT)
+/*****************************************************************************/
+
+#define NM_TYPE_DHCP_DHCPCD (nm_dhcp_dhcpcd_get_type ())
+#define NM_DHCP_DHCPCD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcd))
+#define NM_DHCP_DHCPCD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcdClass))
+#define NM_IS_DHCP_DHCPCD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DHCP_DHCPCD))
+#define NM_IS_DHCP_DHCPCD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DHCP_DHCPCD))
+#define NM_DHCP_DHCPCD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcdClass))
-#define NM_DHCP_DHCPCD_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcdPrivate))
+typedef struct _NMDhcpDhcpcd NMDhcpDhcpcd;
+typedef struct _NMDhcpDhcpcdClass NMDhcpDhcpcdClass;
+
+static GType nm_dhcp_dhcpcd_get_type (void);
+
+/*****************************************************************************/
typedef struct {
char *pid_file;
NMDhcpListener *dhcp_listener;
} NMDhcpDhcpcdPrivate;
+struct _NMDhcpDhcpcd {
+ NMDhcpClient parent;
+ NMDhcpDhcpcdPrivate _priv;
+};
+
+struct _NMDhcpDhcpcdClass {
+ NMDhcpClientClass parent;
+};
+
+G_DEFINE_TYPE (NMDhcpDhcpcd, nm_dhcp_dhcpcd, NM_TYPE_DHCP_CLIENT)
+
+#define NM_DHCP_DHCPCD_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDhcpDhcpcd, NM_IS_DHCP_DHCPCD)
+
+/*****************************************************************************/
+
static const char *
nm_dhcp_dhcpcd_get_path (void)
{
- const char *path = NULL;
-
- if (WITH_DHCPCD)
- path = nm_utils_find_helper ("dhcpcd", DHCPCD_PATH, NULL);
- return path;
+ return nm_utils_find_helper ("dhcpcd", DHCPCD_PATH, NULL);
}
static gboolean
@@ -187,7 +210,7 @@ stop (NMDhcpClient *client, gboolean release, const GByteArray *duid)
/* FIXME: implement release... */
}
-/***************************************************/
+/*****************************************************************************/
static void
nm_dhcp_dhcpcd_init (NMDhcpDhcpcd *self)
@@ -204,7 +227,7 @@ nm_dhcp_dhcpcd_init (NMDhcpDhcpcd *self)
static void
dispose (GObject *object)
{
- NMDhcpDhcpcdPrivate *priv = NM_DHCP_DHCPCD_GET_PRIVATE (object);
+ NMDhcpDhcpcdPrivate *priv = NM_DHCP_DHCPCD_GET_PRIVATE ((NMDhcpDhcpcd *) object);
if (priv->dhcp_listener) {
g_signal_handlers_disconnect_by_func (priv->dhcp_listener,
@@ -213,7 +236,7 @@ dispose (GObject *object)
g_clear_object (&priv->dhcp_listener);
}
- g_free (priv->pid_file);
+ nm_clear_g_free (&priv->pid_file);
G_OBJECT_CLASS (nm_dhcp_dhcpcd_parent_class)->dispose (object);
}
@@ -224,9 +247,6 @@ nm_dhcp_dhcpcd_class_init (NMDhcpDhcpcdClass *dhcpcd_class)
NMDhcpClientClass *client_class = NM_DHCP_CLIENT_CLASS (dhcpcd_class);
GObjectClass *object_class = G_OBJECT_CLASS (dhcpcd_class);
- g_type_class_add_private (dhcpcd_class, sizeof (NMDhcpDhcpcdPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
client_class->ip4_start = ip4_start;
@@ -234,13 +254,11 @@ nm_dhcp_dhcpcd_class_init (NMDhcpDhcpcdClass *dhcpcd_class)
client_class->stop = stop;
}
-static void __attribute__((constructor))
-register_dhcp_dhclient (void)
-{
- nm_g_type_init ();
- _nm_dhcp_client_register (NM_TYPE_DHCP_DHCPCD,
- "dhcpcd",
- nm_dhcp_dhcpcd_get_path,
- NULL);
-}
+const NMDhcpClientFactory _nm_dhcp_client_factory_dhcpcd = {
+ .name = "dhcpcd",
+ .get_type = nm_dhcp_dhcpcd_get_type,
+ .get_path = nm_dhcp_dhcpcd_get_path,
+ .get_lease_ip_configs = NULL,
+};
+#endif /* WITH_DHCPCD */
diff --git a/src/dhcp-manager/nm-dhcp-dhcpcd.h b/src/dhcp-manager/nm-dhcp-dhcpcd.h
deleted file mode 100644
index 6f15ad223e..0000000000
--- a/src/dhcp-manager/nm-dhcp-dhcpcd.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2005 - 2010 Red Hat, Inc.
- */
-
-#ifndef __NETWORKMANAGER_DHCP_DHCPCD_H__
-#define __NETWORKMANAGER_DHCP_DHCPCD_H__
-
-#include "nm-dhcp-client.h"
-
-#define NM_TYPE_DHCP_DHCPCD (nm_dhcp_dhcpcd_get_type ())
-#define NM_DHCP_DHCPCD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcd))
-#define NM_DHCP_DHCPCD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcdClass))
-#define NM_IS_DHCP_DHCPCD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DHCP_DHCPCD))
-#define NM_IS_DHCP_DHCPCD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DHCP_DHCPCD))
-#define NM_DHCP_DHCPCD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DHCP_DHCPCD, NMDhcpDhcpcdClass))
-
-typedef struct {
- NMDhcpClient parent;
-} NMDhcpDhcpcd;
-
-typedef struct {
- NMDhcpClientClass parent;
-} NMDhcpDhcpcdClass;
-
-GType nm_dhcp_dhcpcd_get_type (void);
-
-#endif /* __NETWORKMANAGER_DHCP_DHCPCD_H__ */
-
diff --git a/src/dhcp-manager/nm-dhcp-helper-api.h b/src/dhcp-manager/nm-dhcp-helper-api.h
index a3eb171dc5..5834421563 100644
--- a/src/dhcp-manager/nm-dhcp-helper-api.h
+++ b/src/dhcp-manager/nm-dhcp-helper-api.h
@@ -22,7 +22,7 @@
#ifndef __NM_DHCP_HELPER_API_H__
#define __NM_DHCP_HELPER_API_H__
-/******************************************************************************/
+/*****************************************************************************/
#define NM_DHCP_CLIENT_DBUS_IFACE "org.freedesktop.nm_dhcp_client"
@@ -31,6 +31,6 @@
#define NM_DHCP_HELPER_SERVER_INTERFACE_NAME "org.freedesktop.nm_dhcp_server"
#define NM_DHCP_HELPER_SERVER_METHOD_NOTIFY "Notify"
-/******************************************************************************/
+/*****************************************************************************/
#endif /* __NM_DHCP_HELPER_API_H__ */
diff --git a/src/dhcp-manager/nm-dhcp-listener.c b/src/dhcp-manager/nm-dhcp-listener.c
index 0df4197389..5b2e618b2d 100644
--- a/src/dhcp-manager/nm-dhcp-listener.c
+++ b/src/dhcp-manager/nm-dhcp-listener.c
@@ -52,7 +52,7 @@ struct _NMDhcpListener {
};
struct _NMDhcpListenerClass {
- GObjectClass parent_class;
+ GObjectClass parent;
};
enum {
@@ -269,7 +269,7 @@ dis_connection_cb (NMBusManager *mgr,
}
}
-/***************************************************/
+/*****************************************************************************/
static void
nm_dhcp_listener_init (NMDhcpListener *self)
diff --git a/src/dhcp-manager/nm-dhcp-manager.c b/src/dhcp-manager/nm-dhcp-manager.c
index 50469c5cd5..570626dbc7 100644
--- a/src/dhcp-manager/nm-dhcp-manager.c
+++ b/src/dhcp-manager/nm-dhcp-manager.c
@@ -22,6 +22,8 @@
#include "nm-default.h"
+#include "nm-dhcp-manager.h"
+
#include <sys/socket.h>
#include <sys/wait.h>
#include <signal.h>
@@ -32,99 +34,81 @@
#include <fcntl.h>
#include <stdio.h>
-#include "nm-dhcp-manager.h"
-#include "nm-dhcp-dhclient.h"
-#include "nm-dhcp-dhcpcd.h"
-#include "nm-dhcp-systemd.h"
#include "nm-config.h"
#include "NetworkManagerUtils.h"
#define DHCP_TIMEOUT 45 /* default DHCP timeout, in seconds */
-/* default to installed helper, but can be modified for testing */
-const char *nm_dhcp_helper_path = LIBEXECDIR "/nm-dhcp-helper";
-
-typedef GSList * (*GetLeaseConfigFunc) (const char *iface, const char *uuid, gboolean ipv6);
+/*****************************************************************************/
typedef struct {
- GType client_type;
+ const NMDhcpClientFactory *client_factory;
GHashTable * clients;
char * default_hostname;
} NMDhcpManagerPrivate;
-#define NM_DHCP_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP_MANAGER, NMDhcpManagerPrivate))
+struct _NMDhcpManager {
+ GObject parent;
+ NMDhcpManagerPrivate _priv;
+};
+
+struct _NMDhcpManagerClass {
+ GObjectClass parent;
+};
G_DEFINE_TYPE (NMDhcpManager, nm_dhcp_manager, G_TYPE_OBJECT)
-/***************************************************/
+#define NM_DHCP_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDhcpManager, NM_IS_DHCP_MANAGER)
-typedef struct {
- GType gtype;
- const char *name;
- NMDhcpClientGetPathFunc get_path_func;
- NMDhcpClientGetLeaseConfigsFunc get_lease_configs_func;
-} ClientDesc;
+/*****************************************************************************/
-static GSList *client_descs = NULL;
+/* default to installed helper, but can be modified for testing */
+const char *nm_dhcp_helper_path = LIBEXECDIR "/nm-dhcp-helper";
-void
-_nm_dhcp_client_register (GType gtype,
- const char *name,
- NMDhcpClientGetPathFunc get_path_func,
- NMDhcpClientGetLeaseConfigsFunc get_lease_configs_func)
-{
- ClientDesc *desc;
- GSList *iter;
+/*****************************************************************************/
- g_return_if_fail (gtype != G_TYPE_INVALID);
- g_return_if_fail (name != NULL);
+const NMDhcpClientFactory *const _factories[] = {
- for (iter = client_descs; iter; iter = iter->next) {
- desc = iter->data;
- g_return_if_fail (desc->gtype != gtype);
- g_return_if_fail (strcmp (desc->name, name) != 0);
- }
+ /* the order here matters, as we will try the plugins in this order to find
+ * the first available plugin. */
- desc = g_slice_new0 (ClientDesc);
- desc->gtype = gtype;
- desc->name = name;
- desc->get_path_func = get_path_func;
- desc->get_lease_configs_func = get_lease_configs_func;
- client_descs = g_slist_prepend (client_descs, desc);
-}
+#ifndef NM_DHCP_INTERNAL_ONLY
+#if WITH_DHCLIENT
+ &_nm_dhcp_client_factory_dhclient,
+#endif
+#if WITH_DHCPCD
+ &_nm_dhcp_client_factory_dhcpcd,
+#endif
+#endif
+ &_nm_dhcp_client_factory_internal,
+};
-static ClientDesc *
-find_client_desc (const char *name, GType gtype)
+static const NMDhcpClientFactory *
+_client_factory_find_by_name (const char *name)
{
- GSList *iter;
+ int i;
- g_return_val_if_fail (name || gtype, NULL);
+ g_return_val_if_fail (name, NULL);
- for (iter = client_descs; iter; iter = iter->next) {
- ClientDesc *desc = iter->data;
+ for (i = 0; i < G_N_ELEMENTS (_factories); i++) {
+ const NMDhcpClientFactory *f = _factories[i];
- if (name && strcmp (desc->name, name) != 0)
- continue;
- if (gtype && desc->gtype != gtype)
- continue;
- return desc;
+ if (nm_streq (f->name, name))
+ return f;
}
return NULL;
}
-static GType
-is_client_enabled (const char *name)
+static const NMDhcpClientFactory *
+_client_factory_available (const NMDhcpClientFactory *client_factory)
{
- ClientDesc *desc;
-
- desc = find_client_desc (name, G_TYPE_INVALID);
- if (desc && (!desc->get_path_func || desc->get_path_func()))
- return desc->gtype;
-
- return G_TYPE_INVALID;
+ if ( client_factory
+ && (!client_factory->get_path || client_factory->get_path ()))
+ return client_factory;
+ return NULL;
}
-/***************************************************/
+/*****************************************************************************/
static NMDhcpClient *
get_client_for_ifindex (NMDhcpManager *manager, int ifindex, gboolean ip6)
@@ -212,7 +196,7 @@ client_start (NMDhcpManager *self,
priv = NM_DHCP_MANAGER_GET_PRIVATE (self);
/* Ensure we have a usable DHCP client */
- if (priv->client_type == G_TYPE_INVALID)
+ if (!priv->client_factory)
return NULL;
/* Kill any old client instance */
@@ -225,7 +209,7 @@ client_start (NMDhcpManager *self,
}
/* And make a new one */
- client = g_object_new (priv->client_type,
+ client = g_object_new (priv->client_factory->get_type (),
NM_DHCP_CLIENT_INTERFACE, iface,
NM_DHCP_CLIENT_IFINDEX, ifindex,
NM_DHCP_CLIENT_HWADDR, hwaddr,
@@ -339,7 +323,6 @@ nm_dhcp_manager_get_lease_ip_configs (NMDhcpManager *self,
guint32 default_route_metric)
{
NMDhcpManagerPrivate *priv;
- ClientDesc *desc;
g_return_val_if_fail (NM_IS_DHCP_MANAGER (self), NULL);
g_return_val_if_fail (iface != NULL, NULL);
@@ -347,16 +330,13 @@ nm_dhcp_manager_get_lease_ip_configs (NMDhcpManager *self,
g_return_val_if_fail (uuid != NULL, NULL);
priv = NM_DHCP_MANAGER_GET_PRIVATE (self);
- if (priv->client_type == G_TYPE_INVALID)
- return NULL;
-
- desc = find_client_desc (NULL, priv->client_type);
- if (desc && desc->get_lease_configs_func)
- return desc->get_lease_configs_func (iface, ifindex, uuid, ipv6, default_route_metric);
+ if ( priv->client_factory
+ && priv->client_factory->get_lease_ip_configs)
+ return priv->client_factory->get_lease_ip_configs (iface, ifindex, uuid, ipv6, default_route_metric);
return NULL;
}
-/***************************************************/
+/*****************************************************************************/
NM_DEFINE_SINGLETON_GETTER (NMDhcpManager, nm_dhcp_manager_get, NM_TYPE_DHCP_MANAGER);
@@ -366,44 +346,43 @@ nm_dhcp_manager_init (NMDhcpManager *self)
NMDhcpManagerPrivate *priv = NM_DHCP_MANAGER_GET_PRIVATE (self);
NMConfig *config = nm_config_get ();
const char *client;
- GSList *iter;
- GType type = G_TYPE_INVALID;
+ int i;
+ const NMDhcpClientFactory *client_factory = NULL;
- for (iter = client_descs; iter; iter = iter->next) {
- ClientDesc *desc = iter->data;
+ for (i = 0; i < G_N_ELEMENTS (_factories); i++) {
+ const NMDhcpClientFactory *f = _factories[i];
- nm_log_dbg (LOGD_DHCP, "dhcp-init: Registered DHCP client '%s' (%s)",
- desc->name, g_type_name (desc->gtype));
+ nm_log_dbg (LOGD_DHCP, "dhcp-init: enabled DHCP client '%s' (%s)%s",
+ f->name, g_type_name (f->get_type ()),
+ _client_factory_available (f) ? "" : " (not available)");
}
/* Client-specific setup */
client = nm_config_get_dhcp_client (config);
if (nm_config_get_configure_and_quit (config)) {
- if (g_strcmp0 (client, "internal") != 0)
+ client_factory = &_nm_dhcp_client_factory_internal;
+ if (client && !nm_streq (client, client_factory->name))
nm_log_warn (LOGD_DHCP, "dhcp-init: Using internal DHCP client since configure-and-quit is set.");
- client = "internal";
+ } else {
+ if (client) {
+ client_factory = _client_factory_available (_client_factory_find_by_name (client));
+ if (!client_factory)
+ nm_log_warn (LOGD_DHCP, "dhcp-init: DHCP client '%s' not available", client);
+ }
+ if (!client_factory) {
+ for (i = 0; i < G_N_ELEMENTS (_factories); i++) {
+ client_factory = _client_factory_available (_factories[i]);
+ if (client_factory)
+ break;
+ }
+ }
}
- if (client)
- type = is_client_enabled (client);
-
- if (type == G_TYPE_INVALID) {
- if (client)
- nm_log_warn (LOGD_DHCP, "dhcp-init: DHCP client '%s' not available", client);
-
- type = is_client_enabled ("dhclient");
- if (type == G_TYPE_INVALID)
- type = is_client_enabled ("dhcpcd");
- if (type == G_TYPE_INVALID)
- type = is_client_enabled ("internal");
- }
+ nm_assert (client_factory);
- if (type == G_TYPE_INVALID)
- nm_log_warn (LOGD_DHCP, "dhcp-init: No usable DHCP client found! DHCP configurations will fail");
- else
- nm_log_info (LOGD_DHCP, "dhcp-init: Using DHCP client '%s'", find_client_desc (NULL, type)->name);
+ nm_log_info (LOGD_DHCP, "dhcp-init: Using DHCP client '%s'", client_factory->name);
- priv->client_type = type;
+ priv->client_factory = client_factory;
priv->clients = g_hash_table_new_full (g_direct_hash, g_direct_equal,
NULL,
(GDestroyNotify) g_object_unref);
@@ -412,12 +391,12 @@ nm_dhcp_manager_init (NMDhcpManager *self)
static void
dispose (GObject *object)
{
- NMDhcpManagerPrivate *priv = NM_DHCP_MANAGER_GET_PRIVATE (object);
+ NMDhcpManagerPrivate *priv = NM_DHCP_MANAGER_GET_PRIVATE ((NMDhcpManager *) object);
GList *values, *iter;
if (priv->clients) {
values = g_hash_table_get_values (priv->clients);
- for (iter = values; iter; iter = g_list_next (iter))
+ for (iter = values; iter; iter = g_list_next (iter))
remove_client (NM_DHCP_MANAGER (object), NM_DHCP_CLIENT (iter->data));
g_list_free (values);
}
@@ -428,7 +407,7 @@ dispose (GObject *object)
static void
finalize (GObject *object)
{
- NMDhcpManagerPrivate *priv = NM_DHCP_MANAGER_GET_PRIVATE (object);
+ NMDhcpManagerPrivate *priv = NM_DHCP_MANAGER_GET_PRIVATE ((NMDhcpManager *) object);
g_free (priv->default_hostname);
@@ -443,9 +422,6 @@ nm_dhcp_manager_class_init (NMDhcpManagerClass *manager_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (manager_class);
- g_type_class_add_private (manager_class, sizeof (NMDhcpManagerPrivate));
-
- /* virtual methods */
object_class->finalize = finalize;
object_class->dispose = dispose;
}
diff --git a/src/dhcp-manager/nm-dhcp-manager.h b/src/dhcp-manager/nm-dhcp-manager.h
index df92c91c3b..32477a658e 100644
--- a/src/dhcp-manager/nm-dhcp-manager.h
+++ b/src/dhcp-manager/nm-dhcp-manager.h
@@ -33,13 +33,8 @@
#define NM_IS_DHCP_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DHCP_MANAGER))
#define NM_DHCP_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DHCP_MANAGER, NMDhcpManagerClass))
-typedef struct {
- GObject parent;
-} NMDhcpManager;
-
-typedef struct {
- GObjectClass parent;
-} NMDhcpManagerClass;
+typedef struct _NMDhcpManager NMDhcpManager;
+typedef struct _NMDhcpManagerClass NMDhcpManagerClass;
GType nm_dhcp_manager_get_type (void);
diff --git a/src/dhcp-manager/nm-dhcp-systemd.c b/src/dhcp-manager/nm-dhcp-systemd.c
index 31c6f76089..4e3f85deb9 100644
--- a/src/dhcp-manager/nm-dhcp-systemd.c
+++ b/src/dhcp-manager/nm-dhcp-systemd.c
@@ -28,7 +28,6 @@
#include <ctype.h>
#include <net/if_arp.h>
-#include "nm-dhcp-systemd.h"
#include "nm-utils.h"
#include "nm-dhcp-utils.h"
#include "NetworkManagerUtils.h"
@@ -36,9 +35,21 @@
#include "nm-dhcp-client-logging.h"
#include "systemd/nm-sd.h"
-G_DEFINE_TYPE (NMDhcpSystemd, nm_dhcp_systemd, NM_TYPE_DHCP_CLIENT)
+/*****************************************************************************/
+
+#define NM_TYPE_DHCP_SYSTEMD (nm_dhcp_systemd_get_type ())
+#define NM_DHCP_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DHCP_SYSTEMD, NMDhcpSystemd))
+#define NM_DHCP_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DHCP_SYSTEMD, NMDhcpSystemdClass))
+#define NM_IS_DHCP_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DHCP_SYSTEMD))
+#define NM_IS_DHCP_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DHCP_SYSTEMD))
+#define NM_DHCP_SYSTEMD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DHCP_SYSTEMD, NMDhcpSystemdClass))
+
+typedef struct _NMDhcpSystemd NMDhcpSystemd;
+typedef struct _NMDhcpSystemdClass NMDhcpSystemdClass;
+
+static GType nm_dhcp_systemd_get_type (void);
-#define NM_DHCP_SYSTEMD_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP_SYSTEMD, NMDhcpSystemdPrivate))
+/*****************************************************************************/
typedef struct {
sd_dhcp_client *client4;
@@ -51,7 +62,20 @@ typedef struct {
gboolean info_only;
} NMDhcpSystemdPrivate;
-/************************************************************/
+struct _NMDhcpSystemd {
+ NMDhcpClient parent;
+ NMDhcpSystemdPrivate _priv;
+};
+
+struct _NMDhcpSystemdClass {
+ NMDhcpClientClass parent;
+};
+
+G_DEFINE_TYPE (NMDhcpSystemd, nm_dhcp_systemd, NM_TYPE_DHCP_CLIENT)
+
+#define NM_DHCP_SYSTEMD_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDhcpSystemd, NM_IS_DHCP_SYSTEMD)
+
+/*****************************************************************************/
#define DHCP_OPTION_NIS_DOMAIN 40
#define DHCP_OPTION_NIS_SERVERS 41
@@ -388,7 +412,7 @@ lease_to_ip4_config (const char *iface,
return ip4_config;
}
-/************************************************************/
+/*****************************************************************************/
static char *
get_leasefile_path (const char *iface, const char *uuid, gboolean ipv6)
@@ -427,7 +451,7 @@ nm_dhcp_systemd_get_lease_ip_configs (const char *iface,
return leases;
}
-/************************************************************/
+/*****************************************************************************/
static void
_save_client_id (NMDhcpSystemd *self,
@@ -990,7 +1014,7 @@ stop (NMDhcpClient *client, gboolean release, const GByteArray *duid)
_LOGW ("failed to stop client (%d)", r);
}
-/***************************************************/
+/*****************************************************************************/
static void
nm_dhcp_systemd_init (NMDhcpSystemd *self)
@@ -1000,7 +1024,7 @@ nm_dhcp_systemd_init (NMDhcpSystemd *self)
static void
dispose (GObject *object)
{
- NMDhcpSystemdPrivate *priv = NM_DHCP_SYSTEMD_GET_PRIVATE (object);
+ NMDhcpSystemdPrivate *priv = NM_DHCP_SYSTEMD_GET_PRIVATE ((NMDhcpSystemd *) object);
g_clear_pointer (&priv->lease_file, g_free);
@@ -1025,9 +1049,6 @@ nm_dhcp_systemd_class_init (NMDhcpSystemdClass *sdhcp_class)
NMDhcpClientClass *client_class = NM_DHCP_CLIENT_CLASS (sdhcp_class);
GObjectClass *object_class = G_OBJECT_CLASS (sdhcp_class);
- g_type_class_add_private (sdhcp_class, sizeof (NMDhcpSystemdPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
client_class->ip4_start = ip4_start;
@@ -1035,13 +1056,9 @@ nm_dhcp_systemd_class_init (NMDhcpSystemdClass *sdhcp_class)
client_class->stop = stop;
}
-static void __attribute__((constructor))
-register_dhcp_dhclient (void)
-{
- nm_g_type_init ();
- _nm_dhcp_client_register (NM_TYPE_DHCP_SYSTEMD,
- "internal",
- NULL,
- nm_dhcp_systemd_get_lease_ip_configs);
-}
-
+const NMDhcpClientFactory _nm_dhcp_client_factory_internal = {
+ .name = "internal",
+ .get_type = nm_dhcp_systemd_get_type,
+ .get_path = NULL,
+ .get_lease_ip_configs = nm_dhcp_systemd_get_lease_ip_configs,
+};
diff --git a/src/dhcp-manager/nm-dhcp-systemd.h b/src/dhcp-manager/nm-dhcp-systemd.h
deleted file mode 100644
index ff24bfcd15..0000000000
--- a/src/dhcp-manager/nm-dhcp-systemd.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2014 Red Hat, Inc.
- */
-
-#ifndef NM_DHCP_SYSTEMD_H
-#define NM_DHCP_SYSTEMD_H
-
-#include "nm-dhcp-client.h"
-
-#define NM_TYPE_DHCP_SYSTEMD (nm_dhcp_systemd_get_type ())
-#define NM_DHCP_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DHCP_SYSTEMD, NMDhcpSystemd))
-#define NM_DHCP_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DHCP_SYSTEMD, NMDhcpSystemdClass))
-#define NM_IS_DHCP_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DHCP_SYSTEMD))
-#define NM_IS_DHCP_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DHCP_SYSTEMD))
-#define NM_DHCP_SYSTEMD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DHCP_SYSTEMD, NMDhcpSystemdClass))
-
-typedef struct {
- NMDhcpClient parent;
-} NMDhcpSystemd;
-
-typedef struct {
- NMDhcpClientClass parent;
-} NMDhcpSystemdClass;
-
-GType nm_dhcp_systemd_get_type (void);
-
-#endif /* NM_DHCP_SYSTEMD_H */
-
diff --git a/src/dhcp-manager/nm-dhcp-utils.c b/src/dhcp-manager/nm-dhcp-utils.c
index 593d8c5d91..a7d4f4a4ee 100644
--- a/src/dhcp-manager/nm-dhcp-utils.c
+++ b/src/dhcp-manager/nm-dhcp-utils.c
@@ -31,7 +31,7 @@
#include "nm-dhcp-client-logging.h"
#include "nm-core-internal.h"
-/********************************************/
+/*****************************************************************************/
static gboolean
ip4_process_dhcpcd_rfc3442_routes (const char *iface,
@@ -596,7 +596,7 @@ error:
return NULL;
}
-/********************************************/
+/*****************************************************************************/
static void
ip6_add_domain_search (gpointer data, gpointer user_data)
diff --git a/src/dhcp-manager/tests/test-dhcp-dhclient.c b/src/dhcp-manager/tests/test-dhcp-dhclient.c
index 77849c8c38..388e42e2ef 100644
--- a/src/dhcp-manager/tests/test-dhcp-dhclient.c
+++ b/src/dhcp-manager/tests/test-dhcp-dhclient.c
@@ -86,7 +86,7 @@ test_config (const char *orig,
g_assert (new_client_id == NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *orig_missing_expected = \
"# Created by NetworkManager\n"
@@ -108,7 +108,7 @@ test_orig_missing (void)
test_config (NULL, orig_missing_expected, FALSE, NULL, NULL, NULL, NULL, "eth0", NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *override_client_id_orig = \
"send dhcp-client-identifier 00:30:04:20:7A:08;\n";
@@ -141,7 +141,7 @@ test_override_client_id (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *quote_client_id_expected = \
"# Created by NetworkManager\n"
@@ -170,7 +170,7 @@ test_quote_client_id (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *ascii_client_id_expected = \
"# Created by NetworkManager\n"
@@ -199,7 +199,7 @@ test_ascii_client_id (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *hex_single_client_id_expected = \
"# Created by NetworkManager\n"
@@ -228,7 +228,7 @@ test_hex_single_client_id (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *existing_hex_client_id_orig = \
"send dhcp-client-identifier 00:30:04:20:7A:08;\n";
@@ -265,7 +265,7 @@ test_existing_hex_client_id (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
#define EACID "qb:cd:ef:12:34:56"
@@ -304,7 +304,7 @@ test_existing_ascii_client_id (void)
"eth0",
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *fqdn_expected = \
"# Created by NetworkManager\n"
@@ -374,7 +374,7 @@ test_fqdn_options_override (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *override_hostname_orig = \
"send host-name \"foobar\";\n";
@@ -407,7 +407,7 @@ test_override_hostname (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *override_hostname6_orig = \
"send fqdn.fqdn \"foobar\";\n";
@@ -436,7 +436,7 @@ test_override_hostname6 (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *nonfqdn_hostname6_expected = \
"# Created by NetworkManager\n"
@@ -458,7 +458,7 @@ test_nonfqdn_hostname6 (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *existing_alsoreq_orig = \
"also request something;\n"
@@ -494,7 +494,7 @@ test_existing_alsoreq (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static const char *existing_multiline_alsoreq_orig = \
"also request something another-thing yet-another-thing\n"
@@ -533,7 +533,7 @@ test_existing_multiline_alsoreq (void)
NULL);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_one_duid (const char *escaped, const guint8 *unescaped, guint len)
@@ -703,7 +703,7 @@ test_write_existing_commented_duid (void)
g_free (contents);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_read_lease_ip4_config_basic (void)
@@ -827,7 +827,7 @@ test_read_lease_ip4_config_expect_failure (gconstpointer user_data)
g_free (contents);
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/dns-manager/nm-dns-dnsmasq.c b/src/dns-manager/nm-dns-dnsmasq.c
index 69b260687e..6f2ab3eba6 100644
--- a/src/dns-manager/nm-dns-dnsmasq.c
+++ b/src/dns-manager/nm-dns-dnsmasq.c
@@ -20,6 +20,8 @@
#include "nm-default.h"
+#include "nm-dns-dnsmasq.h"
+
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
@@ -28,7 +30,6 @@
#include <sys/stat.h>
#include <linux/if.h>
-#include "nm-dns-dnsmasq.h"
#include "nm-core-internal.h"
#include "nm-platform.h"
#include "nm-utils.h"
@@ -37,16 +38,14 @@
#include "nm-bus-manager.h"
#include "NetworkManagerUtils.h"
-G_DEFINE_TYPE (NMDnsDnsmasq, nm_dns_dnsmasq, NM_TYPE_DNS_PLUGIN)
-
-#define NM_DNS_DNSMASQ_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DNS_DNSMASQ, NMDnsDnsmasqPrivate))
-
#define PIDFILE NMRUNDIR "/dnsmasq.pid"
#define CONFDIR NMCONFDIR "/dnsmasq.d"
#define DNSMASQ_DBUS_SERVICE "org.freedesktop.NetworkManager.dnsmasq"
#define DNSMASQ_DBUS_PATH "/uk/org/thekelleys/dnsmasq"
+/*****************************************************************************/
+
typedef struct {
GDBusProxy *dnsmasq;
GCancellable *dnsmasq_cancellable;
@@ -56,6 +55,19 @@ typedef struct {
GVariant *set_server_ex_args;
} NMDnsDnsmasqPrivate;
+struct _NMDnsDnsmasq {
+ NMDnsPlugin parent;
+ NMDnsDnsmasqPrivate _priv;
+};
+
+struct _NMDnsDnsmasqClass {
+ NMDnsPluginClass parent;
+};
+
+G_DEFINE_TYPE (NMDnsDnsmasq, nm_dns_dnsmasq, NM_TYPE_DNS_PLUGIN)
+
+#define NM_DNS_DNSMASQ_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDnsDnsmasq, NM_IS_DNS_DNSMASQ)
+
/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_DNS
@@ -605,7 +617,7 @@ update (NMDnsPlugin *plugin,
return TRUE;
}
-/****************************************************************/
+/*****************************************************************************/
static void
child_quit (NMDnsPlugin *plugin, gint status)
@@ -637,7 +649,7 @@ child_quit (NMDnsPlugin *plugin, gint status)
g_signal_emit_by_name (self, NM_DNS_PLUGIN_FAILED);
}
-/****************************************************************/
+/*****************************************************************************/
static gboolean
is_caching (NMDnsPlugin *plugin)
@@ -651,23 +663,23 @@ get_name (NMDnsPlugin *plugin)
return "dnsmasq";
}
-/****************************************************************/
+/*****************************************************************************/
-NMDnsPlugin *
-nm_dns_dnsmasq_new (void)
+static void
+nm_dns_dnsmasq_init (NMDnsDnsmasq *self)
{
- return g_object_new (NM_TYPE_DNS_DNSMASQ, NULL);
}
-static void
-nm_dns_dnsmasq_init (NMDnsDnsmasq *self)
+NMDnsPlugin *
+nm_dns_dnsmasq_new (void)
{
+ return g_object_new (NM_TYPE_DNS_DNSMASQ, NULL);
}
static void
dispose (GObject *object)
{
- NMDnsDnsmasqPrivate *priv = NM_DNS_DNSMASQ_GET_PRIVATE (object);
+ NMDnsDnsmasqPrivate *priv = NM_DNS_DNSMASQ_GET_PRIVATE ((NMDnsDnsmasq *) object);
nm_clear_g_cancellable (&priv->dnsmasq_cancellable);
nm_clear_g_cancellable (&priv->update_cancellable);
@@ -685,8 +697,6 @@ nm_dns_dnsmasq_class_init (NMDnsDnsmasqClass *dns_class)
NMDnsPluginClass *plugin_class = NM_DNS_PLUGIN_CLASS (dns_class);
GObjectClass *object_class = G_OBJECT_CLASS (dns_class);
- g_type_class_add_private (dns_class, sizeof (NMDnsDnsmasqPrivate));
-
object_class->dispose = dispose;
plugin_class->child_quit = child_quit;
@@ -694,4 +704,3 @@ nm_dns_dnsmasq_class_init (NMDnsDnsmasqClass *dns_class)
plugin_class->update = update;
plugin_class->get_name = get_name;
}
-
diff --git a/src/dns-manager/nm-dns-dnsmasq.h b/src/dns-manager/nm-dns-dnsmasq.h
index f0393c1222..cbba434bf3 100644
--- a/src/dns-manager/nm-dns-dnsmasq.h
+++ b/src/dns-manager/nm-dns-dnsmasq.h
@@ -28,17 +28,11 @@
#define NM_IS_DNS_DNSMASQ_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DNS_DNSMASQ))
#define NM_DNS_DNSMASQ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DNS_DNSMASQ, NMDnsDnsmasqClass))
-typedef struct {
- NMDnsPlugin parent;
-} NMDnsDnsmasq;
-
-typedef struct {
- NMDnsPluginClass parent;
-} NMDnsDnsmasqClass;
+typedef struct _NMDnsDnsmasq NMDnsDnsmasq;
+typedef struct _NMDnsDnsmasqClass NMDnsDnsmasqClass;
GType nm_dns_dnsmasq_get_type (void);
NMDnsPlugin *nm_dns_dnsmasq_new (void);
#endif /* __NETWORKMANAGER_DNS_DNSMASQ_H__ */
-
diff --git a/src/dns-manager/nm-dns-manager.c b/src/dns-manager/nm-dns-manager.c
index c1d2bf77f6..33f2074ead 100644
--- a/src/dns-manager/nm-dns-manager.c
+++ b/src/dns-manager/nm-dns-manager.c
@@ -90,7 +90,7 @@ typedef enum {
SR_ERROR
} SpawnResult;
-/*********************************************************************************************/
+/*****************************************************************************/
#define _NMLOG_PREFIX_NAME "dns-mgr"
#define _NMLOG_DOMAIN LOGD_DNS
@@ -112,7 +112,7 @@ typedef enum {
} \
} G_STMT_END
-/*********************************************************************************************/
+/*****************************************************************************/
typedef struct {
GPtrArray *configs;
@@ -1519,7 +1519,7 @@ nm_dns_manager_end_updates (NMDnsManager *self, const char *func)
memset (priv->prev_hash, 0, sizeof (priv->prev_hash));
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
_clear_plugin (NMDnsManager *self)
diff --git a/src/dns-manager/nm-dns-plugin.c b/src/dns-manager/nm-dns-plugin.c
index f065a1ceca..3a3bc646f7 100644
--- a/src/dns-manager/nm-dns-plugin.c
+++ b/src/dns-manager/nm-dns-plugin.c
@@ -19,6 +19,8 @@
#include "nm-default.h"
+#include "nm-dns-plugin.h"
+
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
@@ -26,29 +28,30 @@
#include <sys/wait.h>
#include "nm-core-internal.h"
-
-#include "nm-dns-plugin.h"
#include "NetworkManagerUtils.h"
-typedef struct {
+/*****************************************************************************/
+
+enum {
+ FAILED,
+ CHILD_QUIT,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+typedef struct _NMDnsPluginPrivate {
GPid pid;
guint watch_id;
char *progname;
char *pidfile;
} NMDnsPluginPrivate;
-#define NM_DNS_PLUGIN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DNS_PLUGIN, NMDnsPluginPrivate))
-
G_DEFINE_TYPE_EXTENDED (NMDnsPlugin, nm_dns_plugin, G_TYPE_OBJECT, G_TYPE_FLAG_ABSTRACT, {})
-enum {
- FAILED,
- CHILD_QUIT,
- LAST_SIGNAL
-};
-static guint signals[LAST_SIGNAL] = { 0 };
+#define NM_DNS_PLUGIN_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR (self, NMDnsPlugin, NM_IS_DNS_PLUGIN)
-/******************************************************************************/
+/*****************************************************************************/
#define _NMLOG_PREFIX_NAME "dns-plugin"
#define _NMLOG_DOMAIN LOGD_DNS
@@ -70,7 +73,7 @@ static guint signals[LAST_SIGNAL] = { 0 };
} \
} G_STMT_END
-/******************************************************************************/
+/*****************************************************************************/
gboolean
nm_dns_plugin_update (NMDnsPlugin *self,
@@ -105,7 +108,7 @@ nm_dns_plugin_get_name (NMDnsPlugin *self)
return NM_DNS_PLUGIN_GET_CLASS (self)->get_name (self);
}
-/********************************************/
+/*****************************************************************************/
static void
_clear_pidfile (NMDnsPlugin *self)
@@ -260,11 +263,12 @@ nm_dns_plugin_stop (NMDnsPlugin *self)
nm_dns_plugin_child_kill (self);
}
-/********************************************/
+/*****************************************************************************/
static void
nm_dns_plugin_init (NMDnsPlugin *self)
{
+ self->_priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_DNS_PLUGIN, NMDnsPluginPrivate);
}
static void
@@ -284,17 +288,20 @@ nm_dns_plugin_class_init (NMDnsPluginClass *plugin_class)
g_type_class_add_private (plugin_class, sizeof (NMDnsPluginPrivate));
- /* virtual methods */
object_class->dispose = dispose;
+
plugin_class->is_caching = is_caching;
- /* signals */
+ /* Emitted by the plugin and consumed by NMDnsManager when
+ * some error happens with the nameserver subprocess. Causes NM to fall
+ * back to writing out a non-local-caching resolv.conf until the next
+ * DNS update.
+ */
signals[FAILED] =
g_signal_new (NM_DNS_PLUGIN_FAILED,
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMDnsPluginClass, failed),
- NULL, NULL,
+ 0, NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
@@ -307,4 +314,3 @@ nm_dns_plugin_class_init (NMDnsPluginClass *plugin_class)
g_cclosure_marshal_VOID__INT,
G_TYPE_NONE, 1, G_TYPE_INT);
}
-
diff --git a/src/dns-manager/nm-dns-plugin.h b/src/dns-manager/nm-dns-plugin.h
index e24bc1732a..12109441f9 100644
--- a/src/dns-manager/nm-dns-plugin.h
+++ b/src/dns-manager/nm-dns-plugin.h
@@ -32,8 +32,11 @@
#define NM_DNS_PLUGIN_FAILED "failed"
#define NM_DNS_PLUGIN_CHILD_QUIT "child-quit"
+struct _NMDnsPluginPrivate;
+
typedef struct {
GObject parent;
+ struct _NMDnsPluginPrivate *_priv;
} NMDnsPlugin;
typedef struct {
@@ -62,13 +65,6 @@ typedef struct {
/* Signals */
- /* Emitted by the plugin and consumed by NMDnsManager when
- * some error happens with the nameserver subprocess. Causes NM to fall
- * back to writing out a non-local-caching resolv.conf until the next
- * DNS update.
- */
- void (*failed) (NMDnsPlugin *self);
-
/* Emitted by the plugin base class when the nameserver subprocess
* quits. This signal is consumed by the plugin subclasses and not
* by NMDnsManager. If the subclass decides the exit status (as returned
@@ -108,4 +104,3 @@ GPid nm_dns_plugin_child_pid (NMDnsPlugin *self);
gboolean nm_dns_plugin_child_kill (NMDnsPlugin *self);
#endif /* __NETWORKMANAGER_DNS_PLUGIN_H__ */
-
diff --git a/src/dns-manager/nm-dns-systemd-resolved.c b/src/dns-manager/nm-dns-systemd-resolved.c
index 6d9867b84a..0432f83eb1 100644
--- a/src/dns-manager/nm-dns-systemd-resolved.c
+++ b/src/dns-manager/nm-dns-systemd-resolved.c
@@ -41,20 +41,18 @@
#include "nm-device.h"
#include "NetworkManagerUtils.h"
-G_DEFINE_TYPE (NMDnsSystemdResolved, nm_dns_systemd_resolved, NM_TYPE_DNS_PLUGIN)
-
-#define NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE(o) \
- (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DNS_SYSTEMD_RESOLVED, \
- NMDnsSystemdResolvedPrivate))
-
#define SYSTEMD_RESOLVED_DBUS_SERVICE "org.freedesktop.resolve1"
#define SYSTEMD_RESOLVED_DBUS_PATH "/org/freedesktop/resolve1"
+/*****************************************************************************/
+
typedef struct {
int ifindex;
GList *configs;
} InterfaceConfig;
+/*****************************************************************************/
+
typedef struct {
GDBusProxy *resolve;
GCancellable *init_cancellable;
@@ -63,6 +61,19 @@ typedef struct {
GQueue domain_updates;
} NMDnsSystemdResolvedPrivate;
+struct _NMDnsSystemdResolved {
+ NMDnsPlugin parent;
+ NMDnsSystemdResolvedPrivate _priv;
+};
+
+struct _NMDnsSystemdResolvedClass {
+ NMDnsPluginClass parent;
+};
+
+G_DEFINE_TYPE (NMDnsSystemdResolved, nm_dns_systemd_resolved, NM_TYPE_DNS_PLUGIN)
+
+#define NM_DNS_SYSTEMD_RESOLVED_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDnsSystemdResolved, NM_IS_DNS_SYSTEMD_RESOLVED)
+
/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_DNS
@@ -303,7 +314,7 @@ update (NMDnsPlugin *plugin,
return TRUE;
}
-/****************************************************************/
+/*****************************************************************************/
static gboolean
is_caching (NMDnsPlugin *plugin)
@@ -317,13 +328,7 @@ get_name (NMDnsPlugin *plugin)
return "systemd-resolved";
}
-/****************************************************************/
-
-NMDnsPlugin *
-nm_dns_systemd_resolved_new (void)
-{
- return g_object_new (NM_TYPE_DNS_SYSTEMD_RESOLVED, NULL);
-}
+/*****************************************************************************/
static void
resolved_proxy_created (GObject *source, GAsyncResult *r, gpointer user_data)
@@ -350,6 +355,7 @@ resolved_proxy_created (GObject *source, GAsyncResult *r, gpointer user_data)
send_updates (self);
}
+/*****************************************************************************/
static void
nm_dns_systemd_resolved_init (NMDnsSystemdResolved *self)
@@ -380,6 +386,12 @@ nm_dns_systemd_resolved_init (NMDnsSystemdResolved *self)
self);
}
+NMDnsPlugin *
+nm_dns_systemd_resolved_new (void)
+{
+ return g_object_new (NM_TYPE_DNS_SYSTEMD_RESOLVED, NULL);
+}
+
static void
dispose (GObject *object)
{
@@ -400,12 +412,9 @@ nm_dns_systemd_resolved_class_init (NMDnsSystemdResolvedClass *dns_class)
NMDnsPluginClass *plugin_class = NM_DNS_PLUGIN_CLASS (dns_class);
GObjectClass *object_class = G_OBJECT_CLASS (dns_class);
- g_type_class_add_private (dns_class, sizeof (NMDnsSystemdResolvedPrivate));
-
object_class->dispose = dispose;
plugin_class->is_caching = is_caching;
plugin_class->update = update;
plugin_class->get_name = get_name;
}
-
diff --git a/src/dns-manager/nm-dns-systemd-resolved.h b/src/dns-manager/nm-dns-systemd-resolved.h
index 45c64b39ad..800a60c154 100644
--- a/src/dns-manager/nm-dns-systemd-resolved.h
+++ b/src/dns-manager/nm-dns-systemd-resolved.h
@@ -29,17 +29,11 @@
#define NM_IS_DNS_SYSTEMD_RESOLVED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DNS_SYSTEMD_RESOLVED))
#define NM_DNS_SYSTEMD_RESOLVED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DNS_SYSTEMD_RESOLVED, NMDnsSystemdResolvedClass))
-typedef struct {
- NMDnsPlugin parent;
-} NMDnsSystemdResolved;
-
-typedef struct {
- NMDnsPluginClass parent;
-} NMDnsSystemdResolvedClass;
+typedef struct _NMDnsSystemdResolved NMDnsSystemdResolved;
+typedef struct _NMDnsSystemdResolvedClass NMDnsSystemdResolvedClass;
GType nm_dns_systemd_resolved_get_type (void);
NMDnsPlugin *nm_dns_systemd_resolved_new (void);
#endif /* __NETWORKMANAGER_DNS_SYSTEMD_RESOLVED_H__ */
-
diff --git a/src/dns-manager/nm-dns-unbound.c b/src/dns-manager/nm-dns-unbound.c
index 66a287fdf5..3659beacba 100644
--- a/src/dns-manager/nm-dns-unbound.c
+++ b/src/dns-manager/nm-dns-unbound.c
@@ -20,11 +20,22 @@
#include "nm-default.h"
#include "nm-dns-unbound.h"
+
#include "NetworkManagerUtils.h"
+/*****************************************************************************/
+
+struct _NMDnsUnbound {
+ NMDnsPlugin parent;
+};
+
+struct _NMDnsUnboundClass {
+ NMDnsPluginClass parent;
+};
+
G_DEFINE_TYPE (NMDnsUnbound, nm_dns_unbound, NM_TYPE_DNS_PLUGIN)
-/*******************************************/
+/*****************************************************************************/
static gboolean
update (NMDnsPlugin *plugin,
@@ -56,17 +67,17 @@ get_name (NMDnsPlugin *plugin)
return "unbound";
}
-/****************************************************************/
+/*****************************************************************************/
-NMDnsPlugin *
-nm_dns_unbound_new (void)
+static void
+nm_dns_unbound_init (NMDnsUnbound *unbound)
{
- return g_object_new (NM_TYPE_DNS_UNBOUND, NULL);
}
-static void
-nm_dns_unbound_init (NMDnsUnbound *unbound)
+NMDnsPlugin *
+nm_dns_unbound_new (void)
{
+ return g_object_new (NM_TYPE_DNS_UNBOUND, NULL);
}
static void
diff --git a/src/dns-manager/nm-dns-unbound.h b/src/dns-manager/nm-dns-unbound.h
index abc056b926..100ff2c470 100644
--- a/src/dns-manager/nm-dns-unbound.h
+++ b/src/dns-manager/nm-dns-unbound.h
@@ -27,13 +27,8 @@
#define NM_IS_DNS_UNBOUND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DNS_UNBOUND))
#define NM_DNS_UNBOUND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DNS_UNBOUND, NMDnsUnboundClass))
-typedef struct {
- NMDnsPlugin parent;
-} NMDnsUnbound;
-
-typedef struct {
- NMDnsPluginClass parent;
-} NMDnsUnboundClass;
+typedef struct _NMDnsUnbound NMDnsUnbound;
+typedef struct _NMDnsUnboundClass NMDnsUnboundClass;
GType nm_dns_unbound_get_type (void);
diff --git a/src/dnsmasq-manager/nm-dnsmasq-manager.c b/src/dnsmasq-manager/nm-dnsmasq-manager.c
index 7b72594434..b4547cb417 100644
--- a/src/dnsmasq-manager/nm-dnsmasq-manager.c
+++ b/src/dnsmasq-manager/nm-dnsmasq-manager.c
@@ -20,6 +20,8 @@
#include "nm-default.h"
+#include "nm-dnsmasq-manager.h"
+
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>
@@ -28,21 +30,21 @@
#include <arpa/inet.h>
#include <stdlib.h>
-#include "nm-dnsmasq-manager.h"
#include "nm-dnsmasq-utils.h"
#include "nm-utils.h"
#include "NetworkManagerUtils.h"
#include "nm-core-internal.h"
-#define _NMLOG_DOMAIN LOGD_SHARING
-#define _NMLOG_PREFIX_NAME "dnsmasq-manager"
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- nm_log ((level), _NMLOG_DOMAIN, \
- "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- _NMLOG_PREFIX_NAME": " \
- _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } G_STMT_END
+#define CONFDIR NMCONFDIR "/dnsmasq-shared.d"
+
+/*****************************************************************************/
+
+enum {
+ STATE_CHANGED,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
typedef struct {
char *iface;
@@ -51,19 +53,32 @@ typedef struct {
guint dm_watch_id;
} NMDnsMasqManagerPrivate;
-#define NM_DNSMASQ_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DNSMASQ_MANAGER, NMDnsMasqManagerPrivate))
+struct _NMDnsMasqManager {
+ GObject parent;
+ NMDnsMasqManagerPrivate _priv;
+};
-#define CONFDIR NMCONFDIR "/dnsmasq-shared.d"
+struct _NMDnsMasqManagerClass {
+ GObjectClass parent;
+};
G_DEFINE_TYPE (NMDnsMasqManager, nm_dnsmasq_manager, G_TYPE_OBJECT)
-enum {
- STATE_CHANGED,
+#define NM_DNSMASQ_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDnsMasqManager, NM_IS_DNSMASQ_MANAGER)
- LAST_SIGNAL
-};
+/*****************************************************************************/
-static guint signals[LAST_SIGNAL] = { 0 };
+#define _NMLOG_DOMAIN LOGD_SHARING
+#define _NMLOG_PREFIX_NAME "dnsmasq-manager"
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ nm_log ((level), _NMLOG_DOMAIN, \
+ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ _NMLOG_PREFIX_NAME": " \
+ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } G_STMT_END
+
+/*****************************************************************************/
typedef struct {
GPtrArray *array;
@@ -108,7 +123,7 @@ nm_cmd_line_add_string (NMCmdLine *cmd, const char *str)
g_ptr_array_add (cmd->array, g_string_chunk_insert (cmd->chunk, str));
}
-/*******************************************/
+/*****************************************************************************/
static void
dm_watch_cb (GPid pid, gint status, gpointer user_data)
@@ -334,6 +349,13 @@ nm_dnsmasq_manager_stop (NMDnsMasqManager *manager)
unlink (priv->pidfile);
}
+/*****************************************************************************/
+
+static void
+nm_dnsmasq_manager_init (NMDnsMasqManager *manager)
+{
+}
+
NMDnsMasqManager *
nm_dnsmasq_manager_new (const char *iface)
{
@@ -350,14 +372,9 @@ nm_dnsmasq_manager_new (const char *iface)
}
static void
-nm_dnsmasq_manager_init (NMDnsMasqManager *manager)
-{
-}
-
-static void
finalize (GObject *object)
{
- NMDnsMasqManagerPrivate *priv = NM_DNSMASQ_MANAGER_GET_PRIVATE (object);
+ NMDnsMasqManagerPrivate *priv = NM_DNSMASQ_MANAGER_GET_PRIVATE ((NMDnsMasqManager *) object);
nm_dnsmasq_manager_stop (NM_DNSMASQ_MANAGER (object));
@@ -372,11 +389,8 @@ nm_dnsmasq_manager_class_init (NMDnsMasqManagerClass *manager_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (manager_class);
- g_type_class_add_private (manager_class, sizeof (NMDnsMasqManagerPrivate));
-
object_class->finalize = finalize;
- /* signals */
signals[STATE_CHANGED] =
g_signal_new (NM_DNS_MASQ_MANAGER_STATE_CHANGED,
G_OBJECT_CLASS_TYPE (object_class),
diff --git a/src/dnsmasq-manager/nm-dnsmasq-manager.h b/src/dnsmasq-manager/nm-dnsmasq-manager.h
index b610b4987b..a0ad295cd4 100644
--- a/src/dnsmasq-manager/nm-dnsmasq-manager.h
+++ b/src/dnsmasq-manager/nm-dnsmasq-manager.h
@@ -35,18 +35,12 @@
typedef enum {
NM_DNSMASQ_STATUS_UNKNOWN,
-
NM_DNSMASQ_STATUS_DEAD,
NM_DNSMASQ_STATUS_RUNNING,
} NMDnsMasqStatus;
-typedef struct {
- GObject parent;
-} NMDnsMasqManager;
-
-typedef struct {
- GObjectClass parent;
-} NMDnsMasqManagerClass;
+typedef struct _NMDnsMasqManager NMDnsMasqManager;
+typedef struct _NMDnsMasqManagerClass NMDnsMasqManagerClass;
GType nm_dnsmasq_manager_get_type (void);
diff --git a/src/dnsmasq-manager/tests/test-dnsmasq-utils.c b/src/dnsmasq-manager/tests/test-dnsmasq-utils.c
index cf6dab50bb..92f32de87f 100644
--- a/src/dnsmasq-manager/tests/test-dnsmasq-utils.c
+++ b/src/dnsmasq-manager/tests/test-dnsmasq-utils.c
@@ -83,7 +83,7 @@ test_address_ranges (void)
g_free (error_desc);
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/nm-activation-request.c b/src/nm-act-request.c
index 6da89432a8..40c1efa2e6 100644
--- a/src/nm-activation-request.c
+++ b/src/nm-act-request.c
@@ -21,12 +21,13 @@
#include "nm-default.h"
+#include "nm-act-request.h"
+
#include <string.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
-#include "nm-activation-request.h"
#include "nm-setting-wireless-security.h"
#include "nm-setting-8021x.h"
#include "nm-device.h"
@@ -34,12 +35,6 @@
#include "nm-settings-connection.h"
#include "nm-auth-subject.h"
-G_DEFINE_TYPE (NMActRequest, nm_act_request, NM_TYPE_ACTIVE_CONNECTION)
-
-#define NM_ACT_REQUEST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_ACT_REQUEST, \
- NMActRequestPrivate))
-
typedef struct {
char *table;
char *rule;
@@ -51,6 +46,15 @@ typedef struct {
GSList *share_rules;
} NMActRequestPrivate;
+struct _NMActRequest {
+ NMActiveConnection parent;
+ NMActRequestPrivate _priv;
+};
+
+typedef struct {
+ NMActiveConnectionClass parent;
+} NMActRequestClass;
+
enum {
PROP_0,
PROP_IP4_CONFIG,
@@ -61,7 +65,11 @@ enum {
LAST_PROP
};
-/*******************************************************************/
+G_DEFINE_TYPE (NMActRequest, nm_act_request, NM_TYPE_ACTIVE_CONNECTION)
+
+#define NM_ACT_REQUEST_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMActRequest, NM_IS_ACT_REQUEST)
+
+/*****************************************************************************/
NMSettingsConnection *
nm_act_request_get_settings_connection (NMActRequest *req)
@@ -79,7 +87,7 @@ nm_act_request_get_applied_connection (NMActRequest *req)
return nm_active_connection_get_applied_connection (NM_ACTIVE_CONNECTION (req));
}
-/*******************************************************************/
+/*****************************************************************************/
struct _NMActRequestGetSecretsCallId {
NMActRequest *self;
@@ -245,7 +253,7 @@ nm_act_request_clear_secrets (NMActRequest *self)
nm_active_connection_clear_secrets ((NMActiveConnection *) self);
}
-/********************************************************************/
+/*****************************************************************************/
static void
clear_share_rules (NMActRequest *req)
@@ -346,7 +354,7 @@ nm_act_request_add_share_rule (NMActRequest *req,
priv->share_rules = g_slist_prepend (priv->share_rules, rule);
}
-/********************************************************************/
+/*****************************************************************************/
static void
device_notify (GObject *object,
@@ -456,7 +464,43 @@ master_failed (NMActiveConnection *self)
nm_active_connection_set_state (self, NM_ACTIVE_CONNECTION_STATE_DEACTIVATED);
}
-/********************************************************************/
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ NMDevice *device;
+
+ device = nm_active_connection_get_device (NM_ACTIVE_CONNECTION (object));
+ if (!device) {
+ g_value_set_string (value, "/");
+ return;
+ }
+
+ switch (prop_id) {
+ case PROP_IP4_CONFIG:
+ g_object_get_property (G_OBJECT (device), NM_DEVICE_IP4_CONFIG, value);
+ break;
+ case PROP_DHCP4_CONFIG:
+ g_object_get_property (G_OBJECT (device), NM_DEVICE_DHCP4_CONFIG, value);
+ break;
+ case PROP_IP6_CONFIG:
+ g_object_get_property (G_OBJECT (device), NM_DEVICE_IP6_CONFIG, value);
+ break;
+ case PROP_DHCP6_CONFIG:
+ g_object_get_property (G_OBJECT (device), NM_DEVICE_DHCP6_CONFIG, value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+nm_act_request_init (NMActRequest *req)
+{
+}
/**
* nm_act_request_new:
@@ -494,11 +538,6 @@ nm_act_request_new (NMSettingsConnection *settings_connection,
}
static void
-nm_act_request_init (NMActRequest *req)
-{
-}
-
-static void
dispose (GObject *object)
{
NMActRequest *self = NM_ACT_REQUEST (object);
@@ -518,44 +557,11 @@ dispose (GObject *object)
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMDevice *device;
-
- device = nm_active_connection_get_device (NM_ACTIVE_CONNECTION (object));
- if (!device) {
- g_value_set_string (value, "/");
- return;
- }
-
- switch (prop_id) {
- case PROP_IP4_CONFIG:
- g_object_get_property (G_OBJECT (device), NM_DEVICE_IP4_CONFIG, value);
- break;
- case PROP_DHCP4_CONFIG:
- g_object_get_property (G_OBJECT (device), NM_DEVICE_DHCP4_CONFIG, value);
- break;
- case PROP_IP6_CONFIG:
- g_object_get_property (G_OBJECT (device), NM_DEVICE_IP6_CONFIG, value);
- break;
- case PROP_DHCP6_CONFIG:
- g_object_get_property (G_OBJECT (device), NM_DEVICE_DHCP6_CONFIG, value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
nm_act_request_class_init (NMActRequestClass *req_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (req_class);
NMActiveConnectionClass *active_class = NM_ACTIVE_CONNECTION_CLASS (req_class);
- g_type_class_add_private (req_class, sizeof (NMActRequestPrivate));
-
/* virtual methods */
object_class->dispose = dispose;
object_class->get_property = get_property;
diff --git a/src/nm-activation-request.h b/src/nm-act-request.h
index 5a170d8976..2443633f00 100644
--- a/src/nm-activation-request.h
+++ b/src/nm-act-request.h
@@ -18,8 +18,8 @@
* (C) Copyright 2005 - 2012 Red Hat, Inc.
*/
-#ifndef __NETWORKMANAGER_ACTIVATION_REQUEST_H__
-#define __NETWORKMANAGER_ACTIVATION_REQUEST_H__
+#ifndef __NM_ACT_REQUEST_H__
+#define __NM_ACT_REQUEST_H__
#include "nm-connection.h"
#include "nm-active-connection.h"
@@ -34,15 +34,6 @@
struct _NMActRequestGetSecretsCallId;
typedef struct _NMActRequestGetSecretsCallId *NMActRequestGetSecretsCallId;
-struct _NMActRequest {
- NMActiveConnection parent;
-};
-
-typedef struct {
- NMActiveConnectionClass parent;
-
-} NMActRequestClass;
-
GType nm_act_request_get_type (void);
NMActRequest *nm_act_request_new (NMSettingsConnection *settings_connection,
@@ -81,5 +72,5 @@ NMActRequestGetSecretsCallId nm_act_request_get_secrets (NMActRequest *req,
void nm_act_request_cancel_secrets (NMActRequest *req, NMActRequestGetSecretsCallId call_id);
void nm_act_request_clear_secrets (NMActRequest *self);
-#endif /* __NETWORKMANAGER_ACTIVATION_REQUEST_H__ */
+#endif /* __NM_ACT_REQUEST_H__ */
diff --git a/src/nm-active-connection.c b/src/nm-active-connection.c
index 503c53191b..1eba44959f 100644
--- a/src/nm-active-connection.c
+++ b/src/nm-active-connection.c
@@ -34,14 +34,7 @@
#include "nmdbus-active-connection.h"
-/* Base class for anything implementing the Connection.Active D-Bus interface */
-G_DEFINE_ABSTRACT_TYPE (NMActiveConnection, nm_active_connection, NM_TYPE_EXPORTED_OBJECT)
-
-#define NM_ACTIVE_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_ACTIVE_CONNECTION, \
- NMActiveConnectionPrivate))
-
-typedef struct {
+typedef struct _NMActiveConnectionPrivate {
NMSettingsConnection *settings_connection;
NMConnection *applied_connection;
char *specific_object;
@@ -105,10 +98,14 @@ enum {
};
static guint signals[LAST_SIGNAL] = { 0 };
+G_DEFINE_ABSTRACT_TYPE (NMActiveConnection, nm_active_connection, NM_TYPE_EXPORTED_OBJECT)
+
+#define NM_ACTIVE_CONNECTION_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR(self, NMActiveConnection, NM_IS_ACTIVE_CONNECTION)
+
static void check_master_ready (NMActiveConnection *self);
static void _device_cleanup (NMActiveConnection *self);
-/****************************************************************/
+/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_DEVICE
#define _NMLOG_PREFIX_NAME "active-connection"
@@ -123,7 +120,7 @@ static void _device_cleanup (NMActiveConnection *self);
_NM_UTILS_MACRO_REST (__VA_ARGS__)); \
} G_STMT_END
-/****************************************************************/
+/*****************************************************************************/
NM_UTILS_LOOKUP_STR_DEFINE_STATIC (_state_to_string, NMActiveConnectionState,
NM_UTILS_LOOKUP_DEFAULT (NULL),
@@ -135,7 +132,7 @@ NM_UTILS_LOOKUP_STR_DEFINE_STATIC (_state_to_string, NMActiveConnectionState,
);
#define state_to_string(state) NM_UTILS_LOOKUP_STR (_state_to_string, state)
-/****************************************************************/
+/*****************************************************************************/
static void
_settings_connection_updated (NMSettingsConnection *connection,
@@ -336,7 +333,7 @@ nm_active_connection_has_unmodified_applied_connection (NMActiveConnection *self
compare_flags);
}
-/*******************************************************************/
+/*****************************************************************************/
void
nm_active_connection_clear_secrets (NMActiveConnection *self)
@@ -354,7 +351,7 @@ nm_active_connection_clear_secrets (NMActiveConnection *self)
nm_connection_clear_secrets (priv->applied_connection);
}
-/*******************************************************************/
+/*****************************************************************************/
const char *
nm_active_connection_get_specific_object (NMActiveConnection *self)
@@ -718,7 +715,7 @@ nm_active_connection_get_assumed (NMActiveConnection *self)
return NM_ACTIVE_CONNECTION_GET_PRIVATE (self)->assumed;
}
-/****************************************************************/
+/*****************************************************************************/
static void unwatch_parent (NMActiveConnection *self, gboolean unref);
@@ -782,7 +779,7 @@ nm_active_connection_set_parent (NMActiveConnection *self, NMActiveConnection *p
g_object_weak_ref ((GObject *) priv->parent, parent_destroyed, self);
}
-/****************************************************************/
+/*****************************************************************************/
static void
auth_done (NMAuthChain *chain,
@@ -901,7 +898,7 @@ nm_active_connection_authorize (NMActiveConnection *self,
priv->user_data2 = user_data2;
}
-/****************************************************************/
+/*****************************************************************************/
static guint64
_version_id_new (void)
@@ -932,100 +929,34 @@ nm_active_connection_version_id_bump (NMActiveConnection *self)
return priv->version_id;
}
-/****************************************************************/
+/*****************************************************************************/
static void
-nm_active_connection_init (NMActiveConnection *self)
-{
- NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
-
- _LOGT ("creating");
-
- priv->version_id = _version_id_new ();
-}
-
-static void
-constructed (GObject *object)
+_device_cleanup (NMActiveConnection *self)
{
- NMActiveConnection *self = (NMActiveConnection *) object;
NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
- G_OBJECT_CLASS (nm_active_connection_parent_class)->constructed (object);
-
- if (!priv->applied_connection && priv->settings_connection) {
- priv->applied_connection =
- nm_simple_connection_new_clone ((NMConnection *) priv->settings_connection);
+ if (priv->device) {
+ g_signal_handlers_disconnect_by_func (priv->device, G_CALLBACK (device_state_changed), self);
+ g_signal_handlers_disconnect_by_func (priv->device, G_CALLBACK (device_master_changed), self);
+ g_signal_handlers_disconnect_by_func (priv->device, G_CALLBACK (device_metered_changed), self);
}
- if (priv->applied_connection)
- nm_connection_clear_secrets (priv->applied_connection);
-
- _LOGD ("constructed (%s, version-id %llu)", G_OBJECT_TYPE_NAME (self), (long long unsigned) priv->version_id);
+ if (priv->pending_activation_id) {
+ nm_device_remove_pending_action (priv->device, priv->pending_activation_id, TRUE);
+ g_clear_pointer (&priv->pending_activation_id, g_free);
+ }
- g_return_if_fail (priv->subject);
+ g_clear_object (&priv->device);
}
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- NMActiveConnection *self = (NMActiveConnection *) object;
- NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
- const char *tmp;
- NMSettingsConnection *con;
- NMConnection *acon;
-
- switch (prop_id) {
- case PROP_INT_SETTINGS_CONNECTION:
- /* construct-only */
- con = g_value_get_object (value);
- if (con)
- _set_settings_connection (self, con);
- break;
- case PROP_INT_APPLIED_CONNECTION:
- /* construct-only */
- acon = g_value_get_object (value);
- if (acon)
- priv->applied_connection = g_object_ref (acon);
- break;
- case PROP_INT_DEVICE:
- /* construct-only */
- nm_active_connection_set_device (self, g_value_get_object (value));
- break;
- case PROP_INT_SUBJECT:
- priv->subject = g_value_dup_object (value);
- break;
- case PROP_INT_MASTER:
- nm_active_connection_set_master (self, g_value_get_object (value));
- break;
- case PROP_SPECIFIC_OBJECT:
- tmp = g_value_get_string (value);
- /* NM uses "/" to mean NULL */
- if (g_strcmp0 (tmp, "/") != 0)
- priv->specific_object = g_strdup (tmp);
- break;
- case PROP_DEFAULT:
- priv->is_default = !!g_value_get_boolean (value);
- break;
- case PROP_DEFAULT6:
- priv->is_default6 = !!g_value_get_boolean (value);
- break;
- case PROP_VPN:
- priv->vpn = g_value_get_boolean (value);
- break;
- case PROP_MASTER:
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
- NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (object);
+ NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE ((NMActiveConnection *) object);
GPtrArray *devices;
NMDevice *master_device = NULL;
@@ -1102,22 +1033,95 @@ get_property (GObject *object, guint prop_id,
}
static void
-_device_cleanup (NMActiveConnection *self)
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
{
+ NMActiveConnection *self = (NMActiveConnection *) object;
NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
+ const char *tmp;
+ NMSettingsConnection *con;
+ NMConnection *acon;
- if (priv->device) {
- g_signal_handlers_disconnect_by_func (priv->device, G_CALLBACK (device_state_changed), self);
- g_signal_handlers_disconnect_by_func (priv->device, G_CALLBACK (device_master_changed), self);
- g_signal_handlers_disconnect_by_func (priv->device, G_CALLBACK (device_metered_changed), self);
+ switch (prop_id) {
+ case PROP_INT_SETTINGS_CONNECTION:
+ /* construct-only */
+ con = g_value_get_object (value);
+ if (con)
+ _set_settings_connection (self, con);
+ break;
+ case PROP_INT_APPLIED_CONNECTION:
+ /* construct-only */
+ acon = g_value_get_object (value);
+ if (acon)
+ priv->applied_connection = g_object_ref (acon);
+ break;
+ case PROP_INT_DEVICE:
+ /* construct-only */
+ nm_active_connection_set_device (self, g_value_get_object (value));
+ break;
+ case PROP_INT_SUBJECT:
+ priv->subject = g_value_dup_object (value);
+ break;
+ case PROP_INT_MASTER:
+ nm_active_connection_set_master (self, g_value_get_object (value));
+ break;
+ case PROP_SPECIFIC_OBJECT:
+ tmp = g_value_get_string (value);
+ /* NM uses "/" to mean NULL */
+ if (g_strcmp0 (tmp, "/") != 0)
+ priv->specific_object = g_strdup (tmp);
+ break;
+ case PROP_DEFAULT:
+ priv->is_default = !!g_value_get_boolean (value);
+ break;
+ case PROP_DEFAULT6:
+ priv->is_default6 = !!g_value_get_boolean (value);
+ break;
+ case PROP_VPN:
+ priv->vpn = g_value_get_boolean (value);
+ break;
+ case PROP_MASTER:
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
}
+}
- if (priv->pending_activation_id) {
- nm_device_remove_pending_action (priv->device, priv->pending_activation_id, TRUE);
- g_clear_pointer (&priv->pending_activation_id, g_free);
+/*****************************************************************************/
+
+static void
+nm_active_connection_init (NMActiveConnection *self)
+{
+ NMActiveConnectionPrivate *priv;
+
+ priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_ACTIVE_CONNECTION, NMActiveConnectionPrivate);
+ self->_priv = priv;
+
+ _LOGT ("creating");
+
+ priv->version_id = _version_id_new ();
+}
+
+static void
+constructed (GObject *object)
+{
+ NMActiveConnection *self = (NMActiveConnection *) object;
+ NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
+
+ G_OBJECT_CLASS (nm_active_connection_parent_class)->constructed (object);
+
+ if (!priv->applied_connection && priv->settings_connection) {
+ priv->applied_connection =
+ nm_simple_connection_new_clone ((NMConnection *) priv->settings_connection);
}
- g_clear_object (&priv->device);
+ if (priv->applied_connection)
+ nm_connection_clear_secrets (priv->applied_connection);
+
+ _LOGD ("constructed (%s, version-id %llu)", G_OBJECT_TYPE_NAME (self), (long long unsigned) priv->version_id);
+
+ g_return_if_fail (priv->subject);
}
static void
@@ -1166,7 +1170,6 @@ nm_active_connection_class_init (NMActiveConnectionClass *ac_class)
exported_object_class->export_path = NM_DBUS_PATH "/ActiveConnection/%u";
- /* virtual methods */
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->constructed = constructed;
diff --git a/src/nm-active-connection.h b/src/nm-active-connection.h
index 42e45a2bf1..d87a30b540 100644
--- a/src/nm-active-connection.h
+++ b/src/nm-active-connection.h
@@ -61,8 +61,11 @@
#define NM_ACTIVE_CONNECTION_DEVICE_METERED_CHANGED "device-metered-changed"
#define NM_ACTIVE_CONNECTION_PARENT_ACTIVE "parent-active"
+struct _NMActiveConnectionPrivate;
+
struct _NMActiveConnection {
NMExportedObject parent;
+ struct _NMActiveConnectionPrivate *_priv;
};
typedef struct {
diff --git a/src/nm-audit-manager.c b/src/nm-audit-manager.c
index 9e88409624..384a5c3fb5 100644
--- a/src/nm-audit-manager.c
+++ b/src/nm-audit-manager.c
@@ -32,44 +32,63 @@
#include "nm-config.h"
#include "nm-settings-connection.h"
-#define AUDIT_LOG_LEVEL LOGL_INFO
-
-#define _NMLOG_PREFIX_NAME "audit"
-#define _NMLOG(level, domain, ...) \
- G_STMT_START { \
- nm_log ((level), (domain), \
- "%s" _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
- _NMLOG_PREFIX_NAME": " \
- _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
- } G_STMT_END
+/*****************************************************************************/
typedef enum {
- BACKEND_LOG = (1 << 0),
- BACKEND_AUDITD = (1 << 1),
- _BACKEND_LAST,
- BACKEND_ALL = ((_BACKEND_LAST - 1) << 1) - 1,
+ BACKEND_LOG = (1 << 0),
+ BACKEND_AUDITD = (1 << 1),
+ _BACKEND_LAST,
+ BACKEND_ALL = ((_BACKEND_LAST - 1) << 1) - 1,
} AuditBackend;
typedef struct {
- const char *name;
- GValue value;
- gboolean need_encoding;
- AuditBackend backends;
+ const char *name;
+ GValue value;
+ gboolean need_encoding;
+ AuditBackend backends;
} AuditField;
-#if HAVE_LIBAUDIT
+/*****************************************************************************/
+
typedef struct {
NMConfig *config;
int auditd_fd;
} NMAuditManagerPrivate;
-#define NM_AUDIT_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_AUDIT_MANAGER, NMAuditManagerPrivate))
+struct _NMAuditManager {
+ GObject parent;
+#if HAVE_LIBAUDIT
+ NMAuditManagerPrivate _priv;
#endif
+};
+
+struct _NMAuditManagerClass {
+ GObjectClass parent;
+};
G_DEFINE_TYPE (NMAuditManager, nm_audit_manager, G_TYPE_OBJECT)
+#define NM_AUDIT_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMAuditManager, NM_IS_AUDIT_MANAGER)
+
+/*****************************************************************************/
+
+#define AUDIT_LOG_LEVEL LOGL_INFO
+
+#define _NMLOG_PREFIX_NAME "audit"
+#define _NMLOG(level, domain, ...) \
+ G_STMT_START { \
+ nm_log ((level), (domain), \
+ "%s" _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
+ _NMLOG_PREFIX_NAME": " \
+ _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
+ } G_STMT_END
+
+/*****************************************************************************/
+
NM_DEFINE_SINGLETON_GETTER (NMAuditManager, nm_audit_manager_get, NM_TYPE_AUDIT_MANAGER);
+/*****************************************************************************/
+
static void
_audit_field_init_string (AuditField *field, const char *name, const char *str,
gboolean need_encoding, AuditBackend backends)
@@ -346,6 +365,8 @@ config_changed_cb (NMConfig *config,
}
#endif
+/*****************************************************************************/
+
static void
nm_audit_manager_init (NMAuditManager *self)
{
@@ -389,11 +410,5 @@ nm_audit_manager_class_init (NMAuditManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
-#if HAVE_LIBAUDIT
- g_type_class_add_private (klass, sizeof (NMAuditManagerPrivate));
-#endif
-
- /* virtual methods */
object_class->dispose = dispose;
}
-
diff --git a/src/nm-audit-manager.h b/src/nm-audit-manager.h
index af8a2037c7..d157ff122a 100644
--- a/src/nm-audit-manager.h
+++ b/src/nm-audit-manager.h
@@ -32,13 +32,7 @@
#define NM_IS_AUDIT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_AUDIT_MANAGER))
#define NM_AUDIT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_AUDIT_MANAGER, NMAuditManagerClass))
-struct _NMAuditManager {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-} NMAuditManagerClass;
+typedef struct _NMAuditManagerClass NMAuditManagerClass;
#define NM_AUDIT_OP_CONN_ADD "connection-add"
#define NM_AUDIT_OP_CONN_DELETE "connection-delete"
diff --git a/src/nm-auth-manager.c b/src/nm-auth-manager.c
index 531e2c354b..73063b9b92 100644
--- a/src/nm-auth-manager.c
+++ b/src/nm-auth-manager.c
@@ -30,32 +30,14 @@
#define POLKIT_OBJECT_PATH "/org/freedesktop/PolicyKit1/Authority"
#define POLKIT_INTERFACE "org.freedesktop.PolicyKit1.Authority"
+/*****************************************************************************/
-#define _NMLOG_PREFIX_NAME "auth"
-#define _NMLOG_DOMAIN LOGD_CORE
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- if (nm_logging_enabled ((level), (_NMLOG_DOMAIN))) { \
- char __prefix[30] = _NMLOG_PREFIX_NAME; \
- \
- if ((self) != singleton_instance) \
- g_snprintf (__prefix, sizeof (__prefix), ""_NMLOG_PREFIX_NAME"[%p]", (self)); \
- _nm_log ((level), (_NMLOG_DOMAIN), 0, \
- "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- __prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } \
- } G_STMT_END
-
-enum {
- PROP_0,
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
PROP_POLKIT_ENABLED,
-
- LAST_PROP
-};
+);
enum {
CHANGED_SIGNAL,
-
LAST_SIGNAL,
};
@@ -71,11 +53,37 @@ typedef struct {
#endif
} NMAuthManagerPrivate;
-NM_DEFINE_SINGLETON_REGISTER (NMAuthManager);
+struct _NMAuthManager {
+ GObject parent;
+ NMAuthManagerPrivate _priv;
+};
+
+struct _NMAuthManagerClass {
+ GObjectClass parent;
+};
G_DEFINE_TYPE (NMAuthManager, nm_auth_manager, G_TYPE_OBJECT)
-#define NM_AUTH_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_AUTH_MANAGER, NMAuthManagerPrivate))
+#define NM_AUTH_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMAuthManager, NM_IS_AUTH_MANAGER)
+
+NM_DEFINE_SINGLETON_REGISTER (NMAuthManager);
+
+/*****************************************************************************/
+
+#define _NMLOG_PREFIX_NAME "auth"
+#define _NMLOG_DOMAIN LOGD_CORE
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ if (nm_logging_enabled ((level), (_NMLOG_DOMAIN))) { \
+ char __prefix[30] = _NMLOG_PREFIX_NAME; \
+ \
+ if ((self) != singleton_instance) \
+ g_snprintf (__prefix, sizeof (__prefix), ""_NMLOG_PREFIX_NAME"[%p]", (self)); \
+ _nm_log ((level), (_NMLOG_DOMAIN), 0, \
+ "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ __prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } \
+ } G_STMT_END
/*****************************************************************************/
@@ -477,32 +485,12 @@ nm_auth_manager_get ()
return singleton_instance;
}
-NMAuthManager *
-nm_auth_manager_setup (gboolean polkit_enabled)
-{
- NMAuthManager *self;
-
- g_return_val_if_fail (!singleton_instance, singleton_instance);
-
- self = g_object_new (NM_TYPE_AUTH_MANAGER,
- NM_AUTH_MANAGER_POLKIT_ENABLED, polkit_enabled,
- NULL);
- _LOGD ("set instance");
-
- singleton_instance = self;
- nm_singleton_instance_register ();
-
- nm_log_dbg (LOGD_CORE, "setup %s singleton (%p)", "NMAuthManager", singleton_instance);
-
- return self;
-}
-
/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
- NMAuthManagerPrivate *priv = NM_AUTH_MANAGER_GET_PRIVATE (object);
+ NMAuthManagerPrivate *priv = NM_AUTH_MANAGER_GET_PRIVATE ((NMAuthManager *) object);
switch (prop_id) {
case PROP_POLKIT_ENABLED:
@@ -517,7 +505,7 @@ get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
static void
set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
- NMAuthManagerPrivate *priv = NM_AUTH_MANAGER_GET_PRIVATE (object);
+ NMAuthManagerPrivate *priv = NM_AUTH_MANAGER_GET_PRIVATE ((NMAuthManager *) object);
switch (prop_id) {
case PROP_POLKIT_ENABLED:
@@ -530,6 +518,8 @@ set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *p
}
}
+/*****************************************************************************/
+
static void
nm_auth_manager_init (NMAuthManager *self)
{
@@ -571,6 +561,25 @@ constructed (GObject *object)
#endif
}
+NMAuthManager *
+nm_auth_manager_setup (gboolean polkit_enabled)
+{
+ NMAuthManager *self;
+
+ g_return_val_if_fail (!singleton_instance, singleton_instance);
+
+ self = g_object_new (NM_TYPE_AUTH_MANAGER,
+ NM_AUTH_MANAGER_POLKIT_ENABLED, polkit_enabled,
+ NULL);
+ _LOGD ("set instance");
+
+ singleton_instance = self;
+ nm_singleton_instance_register ();
+
+ nm_log_dbg (LOGD_CORE, "setup %s singleton (%p)", "NMAuthManager", singleton_instance);
+
+ return self;
+}
static void
dispose (GObject *object)
@@ -605,20 +614,19 @@ nm_auth_manager_class_init (NMAuthManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMAuthManagerPrivate));
-
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->constructed = constructed;
object_class->dispose = dispose;
- g_object_class_install_property
- (object_class, PROP_POLKIT_ENABLED,
+ obj_properties[PROP_POLKIT_ENABLED] =
g_param_spec_boolean (NM_AUTH_MANAGER_POLKIT_ENABLED, "", "",
FALSE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
signals[CHANGED_SIGNAL] = g_signal_new (NM_AUTH_MANAGER_SIGNAL_CHANGED,
NM_TYPE_AUTH_MANAGER,
@@ -629,6 +637,5 @@ nm_auth_manager_class_init (NMAuthManagerClass *klass)
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0);
-
}
diff --git a/src/nm-auth-manager.h b/src/nm-auth-manager.h
index 9251b3347c..e66ef78c1b 100644
--- a/src/nm-auth-manager.h
+++ b/src/nm-auth-manager.h
@@ -30,18 +30,12 @@
#define NM_IS_AUTH_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_AUTH_MANAGER))
#define NM_AUTH_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_AUTH_MANAGER, NMAuthManagerClass))
-
#define NM_AUTH_MANAGER_POLKIT_ENABLED "polkit-enabled"
#define NM_AUTH_MANAGER_SIGNAL_CHANGED "changed"
-typedef struct {
- GObject parent;
-} NMAuthManager;
-
-typedef struct {
- GObjectClass parent;
-} NMAuthManagerClass;
+typedef struct _NMAuthManager NMAuthManager;
+typedef struct _NMAuthManagerClass NMAuthManagerClass;
GType nm_auth_manager_get_type (void);
@@ -68,4 +62,3 @@ gboolean nm_auth_manager_polkit_authority_check_authorization_finish (NMAuthMana
#endif
#endif /* NM_AUTH_MANAGER_H */
-
diff --git a/src/nm-auth-subject.c b/src/nm-auth-subject.c
index 54d359598e..2a5f007066 100644
--- a/src/nm-auth-subject.c
+++ b/src/nm-auth-subject.c
@@ -70,7 +70,7 @@ G_DEFINE_TYPE (NMAuthSubject, nm_auth_subject, G_TYPE_OBJECT)
#define NM_AUTH_SUBJECT_GET_PRIVATE(self) _NM_GET_PRIVATE(self, NMAuthSubject, NM_IS_AUTH_SUBJECT)
-/**************************************************************/
+/*****************************************************************************/
#define CHECK_SUBJECT(self, error_value) \
NMAuthSubjectPrivate *priv; \
@@ -172,7 +172,7 @@ nm_auth_subject_get_unix_process_dbus_sender (NMAuthSubject *subject)
return priv->unix_process.dbus_sender;
}
-/**************************************************************/
+/*****************************************************************************/
static NMAuthSubject *
_new_unix_process (GDBusMethodInvocation *context,
@@ -256,7 +256,7 @@ nm_auth_subject_new_internal (void)
NULL));
}
-/**************************************************************/
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
diff --git a/src/nm-bus-manager.c b/src/nm-bus-manager.c
index 270792ef9d..94f4a6fa59 100644
--- a/src/nm-bus-manager.c
+++ b/src/nm-bus-manager.c
@@ -21,6 +21,8 @@
#include "nm-default.h"
+#include "nm-bus-manager.h"
+
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
@@ -28,39 +30,29 @@
#include <string.h>
#include "nm-dbus-interface.h"
-#include "nm-bus-manager.h"
#include "nm-core-internal.h"
#include "nm-dbus-compat.h"
#include "nm-exported-object.h"
#include "NetworkManagerUtils.h"
-#define _NMLOG_DOMAIN LOGD_CORE
-#define _NMLOG_PREFIX_NAME "bus-manager"
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- nm_log ((level), _NMLOG_DOMAIN, \
- "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- _NMLOG_PREFIX_NAME": " \
- _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } G_STMT_END
+/* The base path for our GDBusObjectManagerServers. They do not contain
+ * "NetworkManager" because GDBusObjectManagerServer requires that all
+ * exported objects be *below* the base path, and eg the Manager object
+ * is the base path already.
+ */
+#define OBJECT_MANAGER_SERVER_BASE_PATH "/org/freedesktop"
+
+/*****************************************************************************/
enum {
DBUS_CONNECTION_CHANGED = 0,
PRIVATE_CONNECTION_NEW,
PRIVATE_CONNECTION_DISCONNECTED,
- NUMBER_OF_SIGNALS
+ NUMBER_OF_SIGNALS,
};
static guint signals[NUMBER_OF_SIGNALS];
-G_DEFINE_TYPE(NMBusManager, nm_bus_manager, G_TYPE_OBJECT)
-
-#define NM_BUS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_BUS_MANAGER, \
- NMBusManagerPrivate))
-
-typedef struct _PrivateServer PrivateServer;
-
typedef struct {
GDBusConnection *connection;
GDBusObjectManagerServer *obj_manager;
@@ -74,16 +66,38 @@ typedef struct {
guint reconnect_id;
} NMBusManagerPrivate;
+struct _NMBusManager {
+ GObject parent;
+ NMBusManagerPrivate _priv;
+};
+
+struct _NMBusManagerClass {
+ GObjectClass parent;
+};
+
+G_DEFINE_TYPE(NMBusManager, nm_bus_manager, G_TYPE_OBJECT)
+
+#define NM_BUS_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMBusManager, NM_IS_BUS_MANAGER)
+
+/*****************************************************************************/
+
+#define _NMLOG_DOMAIN LOGD_CORE
+#define _NMLOG_PREFIX_NAME "bus-manager"
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ nm_log ((level), _NMLOG_DOMAIN, \
+ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ _NMLOG_PREFIX_NAME": " \
+ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } G_STMT_END
+
+/*****************************************************************************/
+
static gboolean nm_bus_manager_init_bus (NMBusManager *self);
static void nm_bus_manager_cleanup (NMBusManager *self);
static void start_reconnection_timeout (NMBusManager *self);
-/* The base path for our GDBusObjectManagerServers. They do not contain
- * "NetworkManager" because GDBusObjectManagerServer requires that all
- * exported objects be *below* the base path, and eg the Manager object
- * is the base path already.
- */
-#define OBJECT_MANAGER_SERVER_BASE_PATH "/org/freedesktop"
+/*****************************************************************************/
NM_DEFINE_SINGLETON_REGISTER (NMBusManager);
@@ -113,9 +127,9 @@ nm_bus_manager_setup (NMBusManager *instance)
_LOGD ("setup %s singleton (%p)", "NMBusManager", singleton_instance);
}
-/**************************************************************/
+/*****************************************************************************/
-struct _PrivateServer {
+typedef struct {
const char *tag;
GQuark detail;
char *address;
@@ -133,7 +147,7 @@ struct _PrivateServer {
GHashTable *obj_managers;
NMBusManager *manager;
-};
+} PrivateServer;
typedef struct {
GDBusConnection *connection;
@@ -382,7 +396,7 @@ private_server_get_connection_by_owner (PrivateServer *s, const char *owner)
return NULL;
}
-/**************************************************************/
+/*****************************************************************************/
static gboolean
_bus_get_unix_pid (NMBusManager *self,
@@ -616,82 +630,7 @@ nm_bus_manager_get_unix_user (NMBusManager *self,
return TRUE;
}
-/**************************************************************/
-
-static void
-nm_bus_manager_init (NMBusManager *self)
-{
- NMBusManagerPrivate *priv = NM_BUS_MANAGER_GET_PRIVATE (self);
-
- priv->obj_manager = g_dbus_object_manager_server_new (OBJECT_MANAGER_SERVER_BASE_PATH);
-}
-
-static void
-nm_bus_manager_dispose (GObject *object)
-{
- NMBusManager *self = NM_BUS_MANAGER (object);
- NMBusManagerPrivate *priv = NM_BUS_MANAGER_GET_PRIVATE (self);
- GList *exported, *iter;
-
- g_slist_free_full (priv->private_servers, private_server_free);
- priv->private_servers = NULL;
-
- nm_bus_manager_cleanup (self);
-
- if (priv->obj_manager) {
- /* The ObjectManager owns the last reference to many exported
- * objects, and when that reference is dropped the objects unregister
- * themselves via nm_bus_manager_unregister_object(). By that time
- * priv->obj_manager is already NULL and that prints warnings. Unregister
- * them before clearing the ObjectManager instead.
- */
- exported = g_dbus_object_manager_get_objects ((GDBusObjectManager *) priv->obj_manager);
- for (iter = exported; iter; iter = iter->next) {
- nm_bus_manager_unregister_object (self, iter->data);
- g_object_unref (iter->data);
- }
- g_list_free (exported);
- g_clear_object (&priv->obj_manager);
- }
-
- nm_clear_g_source (&priv->reconnect_id);
-
- G_OBJECT_CLASS (nm_bus_manager_parent_class)->dispose (object);
-}
-
-static void
-nm_bus_manager_class_init (NMBusManagerClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- g_type_class_add_private (klass, sizeof (NMBusManagerPrivate));
-
- object_class->dispose = nm_bus_manager_dispose;
-
- signals[DBUS_CONNECTION_CHANGED] =
- g_signal_new (NM_BUS_MANAGER_DBUS_CONNECTION_CHANGED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMBusManagerClass, dbus_connection_changed),
- NULL, NULL, NULL,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
-
- signals[PRIVATE_CONNECTION_NEW] =
- g_signal_new (NM_BUS_MANAGER_PRIVATE_CONNECTION_NEW,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
- 0, NULL, NULL, NULL,
- G_TYPE_NONE, 2, G_TYPE_DBUS_CONNECTION, G_TYPE_DBUS_OBJECT_MANAGER_SERVER);
-
- signals[PRIVATE_CONNECTION_DISCONNECTED] =
- g_signal_new (NM_BUS_MANAGER_PRIVATE_CONNECTION_DISCONNECTED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
- G_STRUCT_OFFSET (NMBusManagerClass, private_connection_disconnected),
- NULL, NULL, NULL,
- G_TYPE_NONE, 1, G_TYPE_POINTER);
-}
-
+/*****************************************************************************/
/* Only cleanup a specific dbus connection, not all our private data */
static void
@@ -1005,3 +944,78 @@ nm_bus_manager_new_proxy (NMBusManager *self,
}
return proxy;
}
+
+/*****************************************************************************/
+
+static void
+nm_bus_manager_init (NMBusManager *self)
+{
+ NMBusManagerPrivate *priv = NM_BUS_MANAGER_GET_PRIVATE (self);
+
+ priv->obj_manager = g_dbus_object_manager_server_new (OBJECT_MANAGER_SERVER_BASE_PATH);
+}
+
+static void
+dispose (GObject *object)
+{
+ NMBusManager *self = NM_BUS_MANAGER (object);
+ NMBusManagerPrivate *priv = NM_BUS_MANAGER_GET_PRIVATE (self);
+ GList *exported, *iter;
+
+ g_slist_free_full (priv->private_servers, private_server_free);
+ priv->private_servers = NULL;
+
+ nm_bus_manager_cleanup (self);
+
+ if (priv->obj_manager) {
+ /* The ObjectManager owns the last reference to many exported
+ * objects, and when that reference is dropped the objects unregister
+ * themselves via nm_bus_manager_unregister_object(). By that time
+ * priv->obj_manager is already NULL and that prints warnings. Unregister
+ * them before clearing the ObjectManager instead.
+ */
+ exported = g_dbus_object_manager_get_objects ((GDBusObjectManager *) priv->obj_manager);
+ for (iter = exported; iter; iter = iter->next) {
+ nm_bus_manager_unregister_object (self, iter->data);
+ g_object_unref (iter->data);
+ }
+ g_list_free (exported);
+ g_clear_object (&priv->obj_manager);
+ }
+
+ nm_clear_g_source (&priv->reconnect_id);
+
+ G_OBJECT_CLASS (nm_bus_manager_parent_class)->dispose (object);
+}
+
+static void
+nm_bus_manager_class_init (NMBusManagerClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->dispose = dispose;
+
+ signals[DBUS_CONNECTION_CHANGED] =
+ g_signal_new (NM_BUS_MANAGER_DBUS_CONNECTION_CHANGED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_POINTER);
+
+ signals[PRIVATE_CONNECTION_NEW] =
+ g_signal_new (NM_BUS_MANAGER_PRIVATE_CONNECTION_NEW,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 2, G_TYPE_DBUS_CONNECTION, G_TYPE_DBUS_OBJECT_MANAGER_SERVER);
+
+ signals[PRIVATE_CONNECTION_DISCONNECTED] =
+ g_signal_new (NM_BUS_MANAGER_PRIVATE_CONNECTION_DISCONNECTED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_POINTER);
+}
+
+
+
diff --git a/src/nm-bus-manager.h b/src/nm-bus-manager.h
index bc23d2ce38..153f7cdce2 100644
--- a/src/nm-bus-manager.h
+++ b/src/nm-bus-manager.h
@@ -33,23 +33,7 @@
#define NM_BUS_MANAGER_PRIVATE_CONNECTION_NEW "private-connection-new"
#define NM_BUS_MANAGER_PRIVATE_CONNECTION_DISCONNECTED "private-connection-disconnected"
-struct _NMBusManager {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-
- /* Signals */
- void (*dbus_connection_changed) (NMBusManager *mgr,
- GDBusConnection *connection);
-
- void (*private_connection_new) (NMBusManager *mgr,
- GDBusConnection *connection);
-
- void (*private_connection_disconnected) (NMBusManager *mgr,
- GDBusConnection *connection);
-} NMBusManagerClass;
+typedef struct _NMBusManagerClass NMBusManagerClass;
GType nm_bus_manager_get_type (void);
diff --git a/src/nm-checkpoint-manager.c b/src/nm-checkpoint-manager.c
index 49e8b89595..41b5670bd7 100644
--- a/src/nm-checkpoint-manager.c
+++ b/src/nm-checkpoint-manager.c
@@ -302,4 +302,3 @@ nm_checkpoint_manager_unref (NMCheckpointManager *self)
g_slice_free (NMCheckpointManager, self);
}
-
diff --git a/src/nm-checkpoint-manager.h b/src/nm-checkpoint-manager.h
index 022b1a80e7..30e490417e 100644
--- a/src/nm-checkpoint-manager.h
+++ b/src/nm-checkpoint-manager.h
@@ -22,6 +22,7 @@
#define __NM_CHECKPOINT_MANAGER_H__
#include "nm-dbus-interface.h"
+
#include "nm-checkpoint.h"
typedef struct _NMCheckpointManager NMCheckpointManager;
@@ -47,4 +48,3 @@ gboolean nm_checkpoint_manager_rollback (NMCheckpointManager *self,
GError **error);
#endif /* __NM_CHECKPOINT_MANAGER_H__ */
-
diff --git a/src/nm-checkpoint.c b/src/nm-checkpoint.c
index 8869204d72..1ee8026842 100644
--- a/src/nm-checkpoint.c
+++ b/src/nm-checkpoint.c
@@ -19,6 +19,7 @@
*/
#include "nm-default.h"
+
#include "nm-checkpoint.h"
#include <string.h>
@@ -34,23 +35,7 @@
#include "nm-utils.h"
#include "nmdbus-checkpoint.h"
-#define _NMLOG_PREFIX_NAME "checkpoint"
-#define _NMLOG_DOMAIN LOGD_CORE
-
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- if (nm_logging_enabled (level, _NMLOG_DOMAIN)) { \
- char __prefix[32]; \
- \
- if (self) \
- g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", ""_NMLOG_PREFIX_NAME"", (self)); \
- else \
- g_strlcpy (__prefix, _NMLOG_PREFIX_NAME, sizeof (__prefix)); \
- _nm_log ((level), (_NMLOG_DOMAIN), 0, \
- "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- __prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } \
- } G_STMT_END
+/*****************************************************************************/
typedef struct {
char *original_dev_path;
@@ -62,6 +47,12 @@ typedef struct {
bool unmanaged_explicit:1;
} DeviceCheckpoint;
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_DEVICES,
+ PROP_CREATED,
+ PROP_ROLLBACK_TIMEOUT,
+);
+
typedef struct {
/* properties */
GHashTable *devices;
@@ -77,19 +68,35 @@ struct _NMCheckpoint {
NMCheckpointPrivate _priv;
};
-typedef struct {
+struct _NMCheckpointClass {
NMExportedObjectClass parent;
-} NMCheckpointClass;
+};
G_DEFINE_TYPE (NMCheckpoint, nm_checkpoint, NM_TYPE_EXPORTED_OBJECT)
-#define NM_CHECKPOINT_GET_PRIVATE(self) _NM_GET_PRIVATE(self, NMCheckpoint, NM_IS_CHECKPOINT)
+#define NM_CHECKPOINT_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMCheckpoint, NM_IS_CHECKPOINT)
-NM_GOBJECT_PROPERTIES_DEFINE_BASE (
- PROP_DEVICES,
- PROP_CREATED,
- PROP_ROLLBACK_TIMEOUT,
-);
+/*****************************************************************************/
+
+#define _NMLOG_PREFIX_NAME "checkpoint"
+#define _NMLOG_DOMAIN LOGD_CORE
+
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ if (nm_logging_enabled (level, _NMLOG_DOMAIN)) { \
+ char __prefix[32]; \
+ \
+ if (self) \
+ g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", ""_NMLOG_PREFIX_NAME"", (self)); \
+ else \
+ g_strlcpy (__prefix, _NMLOG_PREFIX_NAME, sizeof (__prefix)); \
+ _nm_log ((level), (_NMLOG_DOMAIN), 0, \
+ "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ __prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } \
+ } G_STMT_END
+
+/*****************************************************************************/
guint64
nm_checkpoint_get_rollback_ts (NMCheckpoint *self)
@@ -289,6 +296,39 @@ device_checkpoint_destroy (gpointer data)
g_slice_free (DeviceCheckpoint, dev_checkpoint);
}
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ NMCheckpoint *self = NM_CHECKPOINT (object);
+ NMCheckpointPrivate *priv = NM_CHECKPOINT_GET_PRIVATE (self);
+ gs_free_slist GSList *devices = NULL;
+ GHashTableIter iter;
+ NMDevice *device;
+
+ switch (prop_id) {
+ case PROP_DEVICES:
+ g_hash_table_iter_init (&iter, priv->devices);
+ while (g_hash_table_iter_next (&iter, (gpointer *) &device, NULL))
+ devices = g_slist_append (devices, device);
+ nm_utils_g_value_set_object_path_array (value, devices, NULL, NULL);
+ break;
+ case PROP_CREATED:
+ g_value_set_int64 (value, priv->created);
+ break;
+ case PROP_ROLLBACK_TIMEOUT:
+ g_value_set_uint (value, priv->rollback_timeout);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
static void
nm_checkpoint_init (NMCheckpoint *self)
{
@@ -356,50 +396,17 @@ dispose (GObject *object)
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMCheckpoint *self = NM_CHECKPOINT (object);
- NMCheckpointPrivate *priv = NM_CHECKPOINT_GET_PRIVATE (self);
- gs_free_slist GSList *devices = NULL;
- GHashTableIter iter;
- NMDevice *device;
-
- switch (prop_id) {
- case PROP_DEVICES:
- g_hash_table_iter_init (&iter, priv->devices);
- while (g_hash_table_iter_next (&iter, (gpointer *) &device, NULL))
- devices = g_slist_append (devices, device);
- nm_utils_g_value_set_object_path_array (value, devices, NULL, NULL);
- break;
- case PROP_CREATED:
- g_value_set_int64 (value, priv->created);
- break;
- case PROP_ROLLBACK_TIMEOUT:
- g_value_set_uint (value, priv->rollback_timeout);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
nm_checkpoint_class_init (NMCheckpointClass *checkpoint_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (checkpoint_class);
NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (checkpoint_class);
- g_type_class_add_private (checkpoint_class, sizeof (NMCheckpointPrivate));
-
exported_object_class->export_path = NM_DBUS_PATH "/Checkpoint/%u";
exported_object_class->export_on_construction = FALSE;
- /* virtual methods */
object_class->dispose = dispose;
object_class->get_property = get_property;
- /* properties */
obj_properties[PROP_DEVICES] =
g_param_spec_boxed (NM_CHECKPOINT_DEVICES, "", "",
G_TYPE_STRV,
diff --git a/src/nm-checkpoint.h b/src/nm-checkpoint.h
index c7d2d42f35..815ae7be10 100644
--- a/src/nm-checkpoint.h
+++ b/src/nm-checkpoint.h
@@ -31,12 +31,13 @@
#define NM_IS_CHECKPOINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_CHECKPOINT))
#define NM_CHECKPOINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_CHECKPOINT, NMCheckpointClass))
-typedef struct _NMCheckpoint NMCheckpoint;
-
#define NM_CHECKPOINT_DEVICES "devices"
#define NM_CHECKPOINT_CREATED "created"
#define NM_CHECKPOINT_ROLLBACK_TIMEOUT "rollback-timeout"
+typedef struct _NMCheckpoint NMCheckpoint;
+typedef struct _NMCheckpointClass NMCheckpointClass;
+
GType nm_checkpoint_get_type (void);
NMCheckpoint *nm_checkpoint_new (NMManager *manager, GPtrArray *devices, guint32 rollback_timeout,
diff --git a/src/nm-config-data.c b/src/nm-config-data.c
index 23c4cecdc9..6f83e66566 100644
--- a/src/nm-config-data.c
+++ b/src/nm-config-data.c
@@ -30,6 +30,8 @@
#include "nm-core-internal.h"
#include "nm-keyfile-internal.h"
+/*****************************************************************************/
+
typedef struct {
char *group_name;
gboolean stop_match;
@@ -42,6 +44,33 @@ typedef struct {
} match_device;
} MatchSectionInfo;
+struct _NMGlobalDnsDomain {
+ char *name;
+ char **servers;
+ char **options;
+};
+
+struct _NMGlobalDnsConfig {
+ char **searches;
+ char **options;
+ GHashTable *domains;
+ char **domain_list;
+ gboolean internal;
+};
+
+/*****************************************************************************/
+
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_CONFIG_MAIN_FILE,
+ PROP_CONFIG_DESCRIPTION,
+ PROP_KEYFILE_USER,
+ PROP_KEYFILE_INTERN,
+ PROP_CONNECTIVITY_URI,
+ PROP_CONNECTIVITY_INTERVAL,
+ PROP_CONNECTIVITY_RESPONSE,
+ PROP_NO_AUTO_DEFAULT,
+);
+
typedef struct {
char *config_main_file;
char *config_description;
@@ -82,40 +111,20 @@ typedef struct {
char *value_cached;
} NMConfigDataPrivate;
-struct _NMGlobalDnsDomain {
- char *name;
- char **servers;
- char **options;
-};
-
-struct _NMGlobalDnsConfig {
- char **searches;
- char **options;
- GHashTable *domains;
- char **domain_list;
- gboolean internal;
+struct _NMConfigData {
+ GObject parent;
+ NMConfigDataPrivate _priv;
};
-enum {
- PROP_0,
- PROP_CONFIG_MAIN_FILE,
- PROP_CONFIG_DESCRIPTION,
- PROP_KEYFILE_USER,
- PROP_KEYFILE_INTERN,
- PROP_CONNECTIVITY_URI,
- PROP_CONNECTIVITY_INTERVAL,
- PROP_CONNECTIVITY_RESPONSE,
- PROP_NO_AUTO_DEFAULT,
-
- LAST_PROP
+struct _NMConfigDataClass {
+ GObjectClass parent;
};
-
G_DEFINE_TYPE (NMConfigData, nm_config_data, G_TYPE_OBJECT)
-#define NM_CONFIG_DATA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_CONFIG_DATA, NMConfigDataPrivate))
+#define NM_CONFIG_DATA_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMConfigData, NM_IS_CONFIG_DATA)
-/************************************************************************/
+/*****************************************************************************/
#define _HAS_PREFIX(str, prefix) \
({ \
@@ -123,7 +132,7 @@ G_DEFINE_TYPE (NMConfigData, nm_config_data, G_TYPE_OBJECT)
g_str_has_prefix ( _str, ""prefix"") && _str[NM_STRLEN(prefix)] != '\0'; \
})
-/************************************************************************/
+/*****************************************************************************/
const char *
nm_config_data_get_config_main_file (const NMConfigData *self)
@@ -162,7 +171,7 @@ nm_config_data_get_value (const NMConfigData *self, const char *group, const cha
const char *nm_config_data_get_value_cached (const NMConfigData *self, const char *group, const char *key, NMConfigGetValueFlags flags)
{
- NMConfigDataPrivate *priv;
+ const NMConfigDataPrivate *priv;
g_return_val_if_fail (NM_IS_CONFIG_DATA (self), NULL);
g_return_val_if_fail (group && *group, NULL);
@@ -171,8 +180,8 @@ const char *nm_config_data_get_value_cached (const NMConfigData *self, const cha
priv = NM_CONFIG_DATA_GET_PRIVATE (self);
/* we modify @value_cached. In C++ jargon, the field is mutable. */
- g_free (priv->value_cached);
- priv->value_cached = nm_config_keyfile_get_value (priv->keyfile, group, key, flags);
+ g_free (((NMConfigDataPrivate *) priv)->value_cached);
+ ((NMConfigDataPrivate *) priv)->value_cached = nm_config_keyfile_get_value (priv->keyfile, group, key, flags);
return priv->value_cached;
}
@@ -243,7 +252,7 @@ nm_config_data_get_no_auto_default (const NMConfigData *self)
gboolean
nm_config_data_get_no_auto_default_for_device (const NMConfigData *self, NMDevice *device)
{
- NMConfigDataPrivate *priv;
+ const NMConfigDataPrivate *priv;
g_return_val_if_fail (NM_IS_CONFIG_DATA (self), FALSE);
g_return_val_if_fail (NM_IS_DEVICE (device), FALSE);
@@ -297,7 +306,7 @@ nm_config_data_get_assume_ipv6ll_only (const NMConfigData *self, NMDevice *devic
GKeyFile *
nm_config_data_clone_keyfile_intern (const NMConfigData *self)
{
- NMConfigDataPrivate *priv;
+ const NMConfigDataPrivate *priv;
GKeyFile *keyfile;
g_return_val_if_fail (NM_IS_CONFIG_DATA (self), FALSE);
@@ -328,7 +337,7 @@ _nm_config_data_get_keyfile_user (const NMConfigData *self)
return NM_CONFIG_DATA_GET_PRIVATE (self)->keyfile_user;
}
-/************************************************************************/
+/*****************************************************************************/
/**
* nm_config_data_get_groups:
@@ -373,7 +382,7 @@ nm_config_data_get_keys (const NMConfigData *self, const char *group)
gboolean
nm_config_data_is_intern_atomic_group (const NMConfigData *self, const char *group)
{
- NMConfigDataPrivate *priv;
+ const NMConfigDataPrivate *priv;
g_return_val_if_fail (NM_IS_CONFIG_DATA (self), FALSE);
g_return_val_if_fail (group && *group, FALSE);
@@ -391,7 +400,7 @@ nm_config_data_is_intern_atomic_group (const NMConfigData *self, const char *gro
return g_key_file_has_group (priv->keyfile, group);
}
-/************************************************************************/
+/*****************************************************************************/
static GKeyFile *
_merge_keyfiles (GKeyFile *keyfile_user, GKeyFile *keyfile_intern)
@@ -456,7 +465,7 @@ _merge_keyfiles (GKeyFile *keyfile_user, GKeyFile *keyfile_intern)
return keyfile;
}
-/************************************************************************/
+/*****************************************************************************/
static int
_nm_config_data_log_sort (const char **pa, const char **pb, gpointer dummy)
@@ -532,7 +541,7 @@ nm_config_data_log (const NMConfigData *self,
const char *key_prefix,
/* FILE* */ gpointer print_stream)
{
- NMConfigDataPrivate *priv;
+ const NMConfigDataPrivate *priv;
gs_strfreev char **groups = NULL;
gsize ngroups;
guint g, k;
@@ -595,7 +604,7 @@ nm_config_data_log (const NMConfigData *self,
#undef _LOG
}
-/************************************************************************/
+/*****************************************************************************/
const char *const *
nm_global_dns_config_get_searches (const NMGlobalDnsConfig *dns)
@@ -1081,7 +1090,7 @@ global_dns_equal (NMGlobalDnsConfig *old, NMGlobalDnsConfig *new)
return TRUE;
}
-/************************************************************************/
+/*****************************************************************************/
static const MatchSectionInfo *
_match_section_infos_lookup (const MatchSectionInfo *match_section_infos,
@@ -1127,7 +1136,7 @@ nm_config_data_get_device_config (const NMConfigData *self,
NMDevice *device,
gboolean *has_match)
{
- NMConfigDataPrivate *priv;
+ const NMConfigDataPrivate *priv;
const MatchSectionInfo *connection_info;
char *value = NULL;
@@ -1166,7 +1175,7 @@ nm_config_data_get_connection_default (const NMConfigData *self,
const char *property,
NMDevice *device)
{
- NMConfigDataPrivate *priv;
+ const NMConfigDataPrivate *priv;
char *value = NULL;
g_return_val_if_fail (self, NULL);
@@ -1261,7 +1270,7 @@ _match_section_infos_construct (GKeyFile *keyfile, const char *prefix)
return match_section_infos;
}
-/************************************************************************/
+/*****************************************************************************/
static gboolean
_slist_str_equals (GSList *a, GSList *b)
@@ -1318,7 +1327,7 @@ nm_config_data_diff (NMConfigData *old_data, NMConfigData *new_data)
return changes;
}
-/************************************************************************/
+/*****************************************************************************/
static void
get_property (GObject *object,
@@ -1409,47 +1418,7 @@ set_property (GObject *object,
}
}
-static void
-dispose (GObject *object)
-{
-}
-
-static void
-finalize (GObject *gobject)
-{
- NMConfigDataPrivate *priv = NM_CONFIG_DATA_GET_PRIVATE (gobject);
-
- g_free (priv->config_main_file);
- g_free (priv->config_description);
-
- g_free (priv->connectivity.uri);
- g_free (priv->connectivity.response);
-
- g_slist_free_full (priv->no_auto_default.specs, g_free);
- g_slist_free_full (priv->no_auto_default.specs_config, g_free);
- g_strfreev (priv->no_auto_default.arr);
-
- g_free (priv->dns_mode);
- g_free (priv->rc_manager);
-
- g_slist_free_full (priv->ignore_carrier, g_free);
- g_slist_free_full (priv->assume_ipv6ll_only, g_free);
-
- nm_global_dns_config_free (priv->global_dns);
-
- _match_section_infos_free (priv->connection_infos);
- _match_section_infos_free (priv->device_infos);
-
- g_key_file_unref (priv->keyfile);
- if (priv->keyfile_user)
- g_key_file_unref (priv->keyfile_user);
- if (priv->keyfile_intern)
- g_key_file_unref (priv->keyfile_intern);
-
- G_OBJECT_CLASS (nm_config_data_parent_class)->finalize (gobject);
-
- g_free (priv->value_cached);
-}
+/*****************************************************************************/
static void
nm_config_data_init (NMConfigData *self)
@@ -1513,7 +1482,7 @@ nm_config_data_new (const char *config_main_file,
NMConfigData *
nm_config_data_new_update_keyfile_intern (const NMConfigData *base, GKeyFile *keyfile_intern)
{
- NMConfigDataPrivate *priv = NM_CONFIG_DATA_GET_PRIVATE (base);
+ const NMConfigDataPrivate *priv = NM_CONFIG_DATA_GET_PRIVATE (base);
return g_object_new (NM_TYPE_CONFIG_DATA,
NM_CONFIG_DATA_CONFIG_MAIN_FILE, priv->config_main_file,
@@ -1528,7 +1497,7 @@ NMConfigData *
nm_config_data_new_update_no_auto_default (const NMConfigData *base,
const char *const*no_auto_default)
{
- NMConfigDataPrivate *priv = NM_CONFIG_DATA_GET_PRIVATE (base);
+ const NMConfigDataPrivate *priv = NM_CONFIG_DATA_GET_PRIVATE (base);
return g_object_new (NM_TYPE_CONFIG_DATA,
NM_CONFIG_DATA_CONFIG_MAIN_FILE, priv->config_main_file,
@@ -1540,78 +1509,104 @@ nm_config_data_new_update_no_auto_default (const NMConfigData *base,
}
static void
+finalize (GObject *gobject)
+{
+ NMConfigDataPrivate *priv = NM_CONFIG_DATA_GET_PRIVATE ((NMConfigData *) gobject);
+
+ g_free (priv->config_main_file);
+ g_free (priv->config_description);
+
+ g_free (priv->connectivity.uri);
+ g_free (priv->connectivity.response);
+
+ g_slist_free_full (priv->no_auto_default.specs, g_free);
+ g_slist_free_full (priv->no_auto_default.specs_config, g_free);
+ g_strfreev (priv->no_auto_default.arr);
+
+ g_free (priv->dns_mode);
+ g_free (priv->rc_manager);
+
+ g_slist_free_full (priv->ignore_carrier, g_free);
+ g_slist_free_full (priv->assume_ipv6ll_only, g_free);
+
+ nm_global_dns_config_free (priv->global_dns);
+
+ _match_section_infos_free (priv->connection_infos);
+ _match_section_infos_free (priv->device_infos);
+
+ g_key_file_unref (priv->keyfile);
+ if (priv->keyfile_user)
+ g_key_file_unref (priv->keyfile_user);
+ if (priv->keyfile_intern)
+ g_key_file_unref (priv->keyfile_intern);
+
+ G_OBJECT_CLASS (nm_config_data_parent_class)->finalize (gobject);
+
+ g_free (priv->value_cached);
+}
+
+static void
nm_config_data_class_init (NMConfigDataClass *config_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (config_class);
- g_type_class_add_private (config_class, sizeof (NMConfigDataPrivate));
-
object_class->constructed = constructed;
- object_class->dispose = dispose;
object_class->finalize = finalize;
object_class->get_property = get_property;
object_class->set_property = set_property;
- g_object_class_install_property
- (object_class, PROP_CONFIG_MAIN_FILE,
+ obj_properties[PROP_CONFIG_MAIN_FILE] =
g_param_spec_string (NM_CONFIG_DATA_CONFIG_MAIN_FILE, "", "",
NULL,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
- g_object_class_install_property
- (object_class, PROP_CONFIG_DESCRIPTION,
+ obj_properties[PROP_CONFIG_DESCRIPTION] =
g_param_spec_string (NM_CONFIG_DATA_CONFIG_DESCRIPTION, "", "",
NULL,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_KEYFILE_USER,
- g_param_spec_boxed (NM_CONFIG_DATA_KEYFILE_USER, "", "",
- G_TYPE_KEY_FILE,
- G_PARAM_WRITABLE |
- G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_KEYFILE_INTERN,
- g_param_spec_boxed (NM_CONFIG_DATA_KEYFILE_INTERN, "", "",
- G_TYPE_KEY_FILE,
- G_PARAM_WRITABLE |
- G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property
- (object_class, PROP_CONNECTIVITY_URI,
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_KEYFILE_USER] =
+ g_param_spec_boxed (NM_CONFIG_DATA_KEYFILE_USER, "", "",
+ G_TYPE_KEY_FILE,
+ G_PARAM_WRITABLE |
+ G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_KEYFILE_INTERN] =
+ g_param_spec_boxed (NM_CONFIG_DATA_KEYFILE_INTERN, "", "",
+ G_TYPE_KEY_FILE,
+ G_PARAM_WRITABLE |
+ G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_CONNECTIVITY_URI] =
g_param_spec_string (NM_CONFIG_DATA_CONNECTIVITY_URI, "", "",
NULL,
G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
- g_object_class_install_property
- (object_class, PROP_CONNECTIVITY_INTERVAL,
+ obj_properties[PROP_CONNECTIVITY_INTERVAL] =
g_param_spec_uint (NM_CONFIG_DATA_CONNECTIVITY_INTERVAL, "", "",
0, G_MAXUINT, 0,
G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
- g_object_class_install_property
- (object_class, PROP_CONNECTIVITY_RESPONSE,
+ obj_properties[PROP_CONNECTIVITY_RESPONSE] =
g_param_spec_string (NM_CONFIG_DATA_CONNECTIVITY_RESPONSE, "", "",
NULL,
G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
- g_object_class_install_property
- (object_class, PROP_NO_AUTO_DEFAULT,
+ obj_properties[PROP_NO_AUTO_DEFAULT] =
g_param_spec_boxed (NM_CONFIG_DATA_NO_AUTO_DEFAULT, "", "",
G_TYPE_STRV,
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
}
-
diff --git a/src/nm-config-data.h b/src/nm-config-data.h
index e63b45904e..712b32555d 100644
--- a/src/nm-config-data.h
+++ b/src/nm-config-data.h
@@ -28,7 +28,6 @@
#define NM_IS_CONFIG_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_CONFIG_DATA))
#define NM_CONFIG_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_CONFIG_DATA, NMConfigDataClass))
-
#define NM_CONFIG_DATA_CONFIG_MAIN_FILE "config-main-file"
#define NM_CONFIG_DATA_CONFIG_DESCRIPTION "config-description"
#define NM_CONFIG_DATA_KEYFILE_USER "keyfile-user"
@@ -128,13 +127,7 @@ typedef enum { /*< flags >*/
} NMConfigChangeFlags;
-struct _NMConfigData {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-} NMConfigDataClass;
+typedef struct _NMConfigDataClass NMConfigDataClass;
typedef struct _NMGlobalDnsConfig NMGlobalDnsConfig;
typedef struct _NMGlobalDnsDomain NMGlobalDnsDomain;
diff --git a/src/nm-config.c b/src/nm-config.c
index 8536a77fd5..0ef7fc2090 100644
--- a/src/nm-config.c
+++ b/src/nm-config.c
@@ -43,17 +43,6 @@
/*****************************************************************************/
-#define _NMLOG_PREFIX_NAME "config"
-#define _NMLOG_DOMAIN LOGD_CORE
-
-#define _NMLOG(level, ...) \
- nm_log (level, _NMLOG_DOMAIN, \
- "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- _NMLOG_PREFIX_NAME \
- _NM_UTILS_MACRO_REST(__VA_ARGS__))
-
-/*****************************************************************************/
-
struct NMConfigCmdLineOptions {
char *config_main_file;
char *intern_config_file;
@@ -77,6 +66,20 @@ typedef struct {
NMConfigState p;
} State;
+/*****************************************************************************/
+
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_CMD_LINE_OPTIONS,
+ PROP_ATOMIC_SECTION_PREFIXES,
+);
+
+enum {
+ SIGNAL_CONFIG_CHANGED,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
typedef struct {
NMConfigCmdLineOptions cli;
@@ -116,35 +119,39 @@ typedef struct {
State *state;
} NMConfigPrivate;
-enum {
- PROP_0,
- PROP_CMD_LINE_OPTIONS,
- PROP_ATOMIC_SECTION_PREFIXES,
- LAST_PROP,
+struct _NMConfig {
+ GObject parent;
+ NMConfigPrivate _priv;
};
-enum {
- SIGNAL_CONFIG_CHANGED,
-
- LAST_SIGNAL
+struct _NMConfigClass {
+ GObjectClass parent;
};
-static guint signals[LAST_SIGNAL] = { 0 };
-
static void nm_config_initable_iface_init (GInitableIface *iface);
G_DEFINE_TYPE_WITH_CODE (NMConfig, nm_config, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, nm_config_initable_iface_init);
)
+#define NM_CONFIG_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMConfig, NM_IS_CONFIG)
+
+/*****************************************************************************/
+
+#define _NMLOG_PREFIX_NAME "config"
+#define _NMLOG_DOMAIN LOGD_CORE
-#define NM_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_CONFIG, NMConfigPrivate))
+#define _NMLOG(level, ...) \
+ nm_log (level, _NMLOG_DOMAIN, \
+ "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ _NMLOG_PREFIX_NAME \
+ _NM_UTILS_MACRO_REST(__VA_ARGS__))
-/************************************************************************/
+/*****************************************************************************/
static void _set_config_data (NMConfig *self, NMConfigData *new_data, NMConfigChangeFlags reload_flags);
-/************************************************************************/
+/*****************************************************************************/
#define _HAS_PREFIX(str, prefix) \
({ \
@@ -152,7 +159,7 @@ static void _set_config_data (NMConfig *self, NMConfigData *new_data, NMConfigCh
g_str_has_prefix ( _str, ""prefix"") && _str[NM_STRLEN(prefix)] != '\0'; \
})
-/************************************************************************/
+/*****************************************************************************/
gint
nm_config_parse_boolean (const char *str,
@@ -162,7 +169,7 @@ nm_config_parse_boolean (const char *str,
}
gint
-nm_config_keyfile_get_boolean (GKeyFile *keyfile,
+nm_config_keyfile_get_boolean (const GKeyFile *keyfile,
const char *section,
const char *key,
gint default_value)
@@ -173,12 +180,12 @@ nm_config_keyfile_get_boolean (GKeyFile *keyfile,
g_return_val_if_fail (section != NULL, default_value);
g_return_val_if_fail (key != NULL, default_value);
- str = g_key_file_get_value (keyfile, section, key, NULL);
+ str = g_key_file_get_value ((GKeyFile *) keyfile, section, key, NULL);
return nm_config_parse_boolean (str, default_value);
}
char *
-nm_config_keyfile_get_value (GKeyFile *keyfile,
+nm_config_keyfile_get_value (const GKeyFile *keyfile,
const char *section,
const char *key,
NMConfigGetValueFlags flags)
@@ -186,9 +193,9 @@ nm_config_keyfile_get_value (GKeyFile *keyfile,
char *value;
if (NM_FLAGS_HAS (flags, NM_CONFIG_GET_VALUE_RAW))
- value = g_key_file_get_value (keyfile, section, key, NULL);
+ value = g_key_file_get_value ((GKeyFile *) keyfile, section, key, NULL);
else
- value = g_key_file_get_string (keyfile, section, key, NULL);
+ value = g_key_file_get_string ((GKeyFile *) keyfile, section, key, NULL);
if (!value)
return NULL;
@@ -238,7 +245,7 @@ nm_config_keyfile_set_string_list (GKeyFile *keyfile,
g_free (new_value);
}
-/************************************************************************/
+/*****************************************************************************/
NMConfigData *
nm_config_get_data (NMConfig *config)
@@ -327,7 +334,7 @@ nm_config_get_is_debug (NMConfig *config)
return NM_CONFIG_GET_PRIVATE (config)->cli.is_debug;
}
-/************************************************************************/
+/*****************************************************************************/
static char **
no_auto_default_from_file (const char *no_auto_default_file)
@@ -431,7 +438,7 @@ nm_config_set_no_auto_default_for_device (NMConfig *self, NMDevice *device)
_set_config_data (self, new_data, NM_CONFIG_CHANGE_CAUSE_NO_AUTO_DEFAULT);
}
-/************************************************************************/
+/*****************************************************************************/
static void
_nm_config_cmd_line_options_clear (NMConfigCmdLineOptions *cli)
@@ -520,7 +527,7 @@ nm_config_cmd_line_options_add_to_entries (NMConfigCmdLineOptions *cli,
}
}
-/************************************************************************/
+/*****************************************************************************/
GKeyFile *
nm_config_create_keyfile ()
@@ -1509,7 +1516,7 @@ intern_config_write (const char *filename,
return success;
}
-/************************************************************************/
+/*****************************************************************************/
GSList *
nm_config_get_match_spec (const GKeyFile *keyfile, const char *group, const char *key, gboolean *out_has_key)
@@ -1525,7 +1532,7 @@ nm_config_get_match_spec (const GKeyFile *keyfile, const char *group, const char
return nm_match_spec_split (value);
}
-/************************************************************************/
+/*****************************************************************************/
gboolean
nm_config_set_global_dns (NMConfig *self, NMGlobalDnsConfig *global_dns, GError **error)
@@ -2208,6 +2215,37 @@ nm_config_setup (const NMConfigCmdLineOptions *cli, char **atomic_section_prefix
return singleton_instance;
}
+/*****************************************************************************/
+
+static void
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
+{
+ NMConfig *self = NM_CONFIG (object);
+ NMConfigPrivate *priv = NM_CONFIG_GET_PRIVATE (self);
+ NMConfigCmdLineOptions *cli;
+
+ switch (prop_id) {
+ case PROP_CMD_LINE_OPTIONS:
+ /* construct only */
+ cli = g_value_get_pointer (value);
+ if (!cli)
+ _nm_config_cmd_line_options_clear (&priv->cli);
+ else
+ _nm_config_cmd_line_options_copy (cli, &priv->cli);
+ break;
+ case PROP_ATOMIC_SECTION_PREFIXES:
+ /* construct only */
+ priv->atomic_section_prefixes = g_strdupv (g_value_get_boxed (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
static gboolean
init_sync (GInitable *initable, GCancellable *cancellable, GError **error)
{
@@ -2306,6 +2344,16 @@ init_sync (GInitable *initable, GCancellable *cancellable, GError **error)
return TRUE;
}
+/*****************************************************************************/
+
+static void
+nm_config_init (NMConfig *config)
+{
+ NMConfigPrivate *priv = NM_CONFIG_GET_PRIVATE (config);
+
+ priv->auth_polkit = NM_CONFIG_DEFAULT_AUTH_POLKIT;
+}
+
NMConfig *
nm_config_new (const NMConfigCmdLineOptions *cli, char **atomic_section_prefixes, GError **error)
{
@@ -2318,17 +2366,9 @@ nm_config_new (const NMConfigCmdLineOptions *cli, char **atomic_section_prefixes
}
static void
-nm_config_init (NMConfig *config)
-{
- NMConfigPrivate *priv = NM_CONFIG_GET_PRIVATE (config);
-
- priv->auth_polkit = NM_CONFIG_DEFAULT_AUTH_POLKIT;
-}
-
-static void
finalize (GObject *gobject)
{
- NMConfigPrivate *priv = NM_CONFIG_GET_PRIVATE (gobject);
+ NMConfigPrivate *priv = NM_CONFIG_GET_PRIVATE ((NMConfig *) gobject);
state_free (priv->state);
@@ -2352,55 +2392,27 @@ finalize (GObject *gobject)
}
static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- NMConfig *self = NM_CONFIG (object);
- NMConfigPrivate *priv = NM_CONFIG_GET_PRIVATE (self);
- NMConfigCmdLineOptions *cli;
-
- switch (prop_id) {
- case PROP_CMD_LINE_OPTIONS:
- /* construct only */
- cli = g_value_get_pointer (value);
- if (!cli)
- _nm_config_cmd_line_options_clear (&priv->cli);
- else
- _nm_config_cmd_line_options_copy (cli, &priv->cli);
- break;
- case PROP_ATOMIC_SECTION_PREFIXES:
- /* construct only */
- priv->atomic_section_prefixes = g_strdupv (g_value_get_boxed (value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
nm_config_class_init (NMConfigClass *config_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (config_class);
- g_type_class_add_private (config_class, sizeof (NMConfigPrivate));
object_class->finalize = finalize;
object_class->set_property = set_property;
- g_object_class_install_property
- (object_class, PROP_CMD_LINE_OPTIONS,
+ obj_properties[PROP_CMD_LINE_OPTIONS] =
g_param_spec_pointer (NM_CONFIG_CMD_LINE_OPTIONS, "", "",
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
- g_object_class_install_property
- (object_class, PROP_ATOMIC_SECTION_PREFIXES,
+ obj_properties[PROP_ATOMIC_SECTION_PREFIXES] =
g_param_spec_boxed (NM_CONFIG_ATOMIC_SECTION_PREFIXES, "", "",
G_TYPE_STRV,
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
signals[SIGNAL_CONFIG_CHANGED] =
g_signal_new (NM_CONFIG_SIGNAL_CONFIG_CHANGED,
@@ -2426,4 +2438,3 @@ nm_config_initable_iface_init (GInitableIface *iface)
{
iface->init = init_sync;
}
-
diff --git a/src/nm-config.h b/src/nm-config.h
index 6ada27672d..1b80e96da8 100644
--- a/src/nm-config.h
+++ b/src/nm-config.h
@@ -100,13 +100,7 @@ typedef struct {
bool dirty;
} NMConfigState;
-struct _NMConfig {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-} NMConfigClass;
+typedef struct _NMConfigClass NMConfigClass;
GType nm_config_get_type (void);
@@ -160,11 +154,11 @@ void _nm_config_state_set (NMConfig *config,
gint nm_config_parse_boolean (const char *str, gint default_value);
GKeyFile *nm_config_create_keyfile (void);
-gint nm_config_keyfile_get_boolean (GKeyFile *keyfile,
+gint nm_config_keyfile_get_boolean (const GKeyFile *keyfile,
const char *section,
const char *key,
gint default_value);
-char *nm_config_keyfile_get_value (GKeyFile *keyfile,
+char *nm_config_keyfile_get_value (const GKeyFile *keyfile,
const char *section,
const char *key,
NMConfigGetValueFlags flags);
@@ -195,14 +189,14 @@ typedef enum {
NM_CONFIG_DEVICE_STATE_MANAGED_TYPE_MANAGED = 1,
} NMConfigDeviceStateManagedType;
-typedef struct {
+struct _NMConfigDeviceStateData {
int ifindex;
NMConfigDeviceStateManagedType managed;
/* the UUID of the last settings-connection active
* on the device. */
const char *connection_uuid;
-} NMConfigDeviceStateData;
+};
NMConfigDeviceStateData *nm_config_device_state_load (NMConfig *self,
int ifindex);
@@ -215,4 +209,3 @@ void nm_config_device_state_prune_unseen (NMConfig *self, GHashTable *seen_ifind
/*****************************************************************************/
#endif /* __NETWORKMANAGER_CONFIG_H__ */
-
diff --git a/src/nm-connectivity.c b/src/nm-connectivity.c
index 7cf3e70797..5d87621013 100644
--- a/src/nm-connectivity.c
+++ b/src/nm-connectivity.c
@@ -21,28 +21,25 @@
#include "nm-default.h"
+#include "nm-connectivity.h"
+
#include <string.h>
#if WITH_CONCHECK
#include <libsoup/soup.h>
#endif
-#include "nm-connectivity.h"
#include "nm-config.h"
#include "nm-dispatcher.h"
#include "NetworkManagerUtils.h"
-G_DEFINE_TYPE (NMConnectivity, nm_connectivity, G_TYPE_OBJECT)
-
-#define NM_CONNECTIVITY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_CONNECTIVITY, NMConnectivityPrivate))
+/*****************************************************************************/
-#define _NMLOG_DOMAIN LOGD_CONCHECK
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- nm_log ((level), (_NMLOG_DOMAIN), \
- "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- "connectivity: " \
- _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } G_STMT_END
+NM_GOBJECT_PROPERTIES_DEFINE (NMConnectivity,
+ PROP_URI,
+ PROP_INTERVAL,
+ PROP_RESPONSE,
+ PROP_STATE,
+);
typedef struct {
char *uri;
@@ -59,15 +56,31 @@ typedef struct {
NMConnectivityState state;
} NMConnectivityPrivate;
-enum {
- PROP_0,
- PROP_URI,
- PROP_INTERVAL,
- PROP_RESPONSE,
- PROP_STATE,
- LAST_PROP
+struct _NMConnectivity {
+ GObject parent;
+ NMConnectivityPrivate _priv;
};
+struct _NMConnectivityClass {
+ GObjectClass parent;
+};
+
+G_DEFINE_TYPE (NMConnectivity, nm_connectivity, G_TYPE_OBJECT)
+
+#define NM_CONNECTIVITY_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMConnectivity, NM_IS_CONNECTIVITY)
+
+/*****************************************************************************/
+
+#define _NMLOG_DOMAIN LOGD_CONCHECK
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ nm_log ((level), (_NMLOG_DOMAIN), \
+ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ "connectivity: " \
+ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } G_STMT_END
+
+/*****************************************************************************/
NMConnectivityState
nm_connectivity_get_state (NMConnectivity *connectivity)
@@ -96,7 +109,7 @@ update_state (NMConnectivity *self, NMConnectivityState state)
nm_connectivity_state_to_string (priv->state),
nm_connectivity_state_to_string (state));
priv->state = state;
- g_object_notify (G_OBJECT (self), NM_CONNECTIVITY_STATE);
+ _notify (self, PROP_STATE);
/* Notify dispatcher scripts of a connectivity state change */
nm_dispatcher_call_connectivity (DISPATCHER_ACTION_CONNECTIVITY_CHANGE, state);
@@ -329,18 +342,35 @@ nm_connectivity_check_finish (NMConnectivity *self,
return (NMConnectivityState) g_simple_async_result_get_op_res_gssize (simple);
}
-/**************************************************************************/
+/*****************************************************************************/
-NMConnectivity *
-nm_connectivity_new (const char *uri,
- guint interval,
- const char *response)
+static void
+get_property (GObject *object, guint property_id,
+ GValue *value, GParamSpec *pspec)
{
- return g_object_new (NM_TYPE_CONNECTIVITY,
- NM_CONNECTIVITY_URI, uri,
- NM_CONNECTIVITY_INTERVAL, interval,
- NM_CONNECTIVITY_RESPONSE, response,
- NULL);
+ NMConnectivity *self = NM_CONNECTIVITY (object);
+ NMConnectivityPrivate *priv = NM_CONNECTIVITY_GET_PRIVATE (self);
+
+ switch (property_id) {
+ case PROP_URI:
+ g_value_set_string (value, priv->uri);
+ break;
+ case PROP_INTERVAL:
+ g_value_set_uint (value, priv->interval);
+ break;
+ case PROP_RESPONSE:
+ if (priv->response)
+ g_value_set_string (value, priv->response);
+ else
+ g_value_set_static_string (value, NM_CONFIG_DEFAULT_CONNECTIVITY_RESPONSE);
+ break;
+ case PROP_STATE:
+ g_value_set_uint (value, priv->state);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
}
static void
@@ -403,35 +433,7 @@ set_property (GObject *object, guint property_id,
}
}
-static void
-get_property (GObject *object, guint property_id,
- GValue *value, GParamSpec *pspec)
-{
- NMConnectivity *self = NM_CONNECTIVITY (object);
- NMConnectivityPrivate *priv = NM_CONNECTIVITY_GET_PRIVATE (self);
-
- switch (property_id) {
- case PROP_URI:
- g_value_set_string (value, priv->uri);
- break;
- case PROP_INTERVAL:
- g_value_set_uint (value, priv->interval);
- break;
- case PROP_RESPONSE:
- if (priv->response)
- g_value_set_string (value, priv->response);
- else
- g_value_set_static_string (value, NM_CONFIG_DEFAULT_CONNECTIVITY_RESPONSE);
- break;
- case PROP_STATE:
- g_value_set_uint (value, priv->state);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
- break;
- }
-}
-
+/*****************************************************************************/
static void
nm_connectivity_init (NMConnectivity *self)
@@ -444,6 +446,17 @@ nm_connectivity_init (NMConnectivity *self)
priv->state = NM_CONNECTIVITY_NONE;
}
+NMConnectivity *
+nm_connectivity_new (const char *uri,
+ guint interval,
+ const char *response)
+{
+ return g_object_new (NM_TYPE_CONNECTIVITY,
+ NM_CONNECTIVITY_URI, uri,
+ NM_CONNECTIVITY_INTERVAL, interval,
+ NM_CONNECTIVITY_RESPONSE, response,
+ NULL);
+}
static void
dispose (GObject *object)
@@ -466,48 +479,42 @@ dispose (GObject *object)
G_OBJECT_CLASS (nm_connectivity_parent_class)->dispose (object);
}
-
static void
nm_connectivity_class_init (NMConnectivityClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMConnectivityPrivate));
- /* virtual methods */
object_class->set_property = set_property;
object_class->get_property = get_property;
object_class->dispose = dispose;
- /* properties */
- g_object_class_install_property
- (object_class, PROP_URI,
+ obj_properties[PROP_URI] =
g_param_spec_string (NM_CONNECTIVITY_URI, "", "",
NULL,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
- g_object_class_install_property
- (object_class, PROP_INTERVAL,
+ obj_properties[PROP_INTERVAL] =
g_param_spec_uint (NM_CONNECTIVITY_INTERVAL, "", "",
0, G_MAXUINT, NM_CONFIG_DEFAULT_CONNECTIVITY_INTERVAL,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
- g_object_class_install_property
- (object_class, PROP_RESPONSE,
+ obj_properties[PROP_RESPONSE] =
g_param_spec_string (NM_CONNECTIVITY_RESPONSE, "", "",
NM_CONFIG_DEFAULT_CONNECTIVITY_RESPONSE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
- g_object_class_install_property
- (object_class, PROP_STATE,
+ obj_properties[PROP_STATE] =
g_param_spec_uint (NM_CONNECTIVITY_STATE, "", "",
NM_CONNECTIVITY_UNKNOWN, NM_CONNECTIVITY_FULL, NM_CONNECTIVITY_UNKNOWN,
G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
}
diff --git a/src/nm-connectivity.h b/src/nm-connectivity.h
index 10fcef97af..6900bd0fa8 100644
--- a/src/nm-connectivity.h
+++ b/src/nm-connectivity.h
@@ -30,19 +30,12 @@
#define NM_IS_CONNECTIVITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_CONNECTIVITY))
#define NM_CONNECTIVITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_CONNECTIVITY, NMConnectivityClass))
-/* Properties */
#define NM_CONNECTIVITY_URI "uri"
#define NM_CONNECTIVITY_INTERVAL "interval"
#define NM_CONNECTIVITY_RESPONSE "response"
#define NM_CONNECTIVITY_STATE "state"
-struct _NMConnectivity {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-} NMConnectivityClass;
+typedef struct _NMConnectivityClass NMConnectivityClass;
GType nm_connectivity_get_type (void);
diff --git a/src/nm-core-utils.c b/src/nm-core-utils.c
index e85f9c38bf..00ab2d3800 100644
--- a/src/nm-core-utils.c
+++ b/src/nm-core-utils.c
@@ -520,7 +520,7 @@ fail:
return 0;
}
-/******************************************************************************************/
+/*****************************************************************************/
typedef struct {
pid_t pid;
@@ -1167,7 +1167,7 @@ nm_utils_find_helper(const char *progname, const char *try_first, GError **error
return nm_utils_file_search_in_paths (progname, try_first, NM_PATHS_DEFAULT, G_FILE_TEST_IS_EXECUTABLE, NULL, NULL, error);
}
-/******************************************************************************************/
+/*****************************************************************************/
/**
* nm_utils_read_link_absolute:
@@ -1201,7 +1201,7 @@ nm_utils_read_link_absolute (const char *link_file, GError **error)
return ln_abs;
}
-/******************************************************************************************/
+/*****************************************************************************/
#define MAC_TAG "mac:"
#define INTERFACE_NAME_TAG "interface-name:"
@@ -2083,7 +2083,7 @@ nm_utils_cmp_connection_by_autoconnect_priority (NMConnection **a, NMConnection
return 0;
}
-/**************************************************************************/
+/*****************************************************************************/
static gint64 monotonic_timestamp_offset_sec;
static int monotonic_timestamp_clock_mode = 0;
@@ -2652,7 +2652,7 @@ nm_utils_is_specific_hostname (const char *name)
return FALSE;
}
-/******************************************************************/
+/*****************************************************************************/
gboolean
nm_utils_machine_id_parse (const char *id_str, /*uuid_t*/ guchar *out_uuid)
diff --git a/src/nm-default-route-manager.c b/src/nm-default-route-manager.c
index 2fd2c7db47..c93e46fca2 100644
--- a/src/nm-default-route-manager.c
+++ b/src/nm-default-route-manager.c
@@ -21,16 +21,23 @@
#include "nm-default.h"
+#include "nm-default-route-manager.h"
+
#include <string.h>
-#include "nm-default-route-manager.h"
#include "nm-device.h"
#include "nm-vpn-connection.h"
#include "nm-platform.h"
#include "nm-manager.h"
#include "nm-ip4-config.h"
#include "nm-ip6-config.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
+
+/*****************************************************************************/
+
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_PLATFORM,
+);
typedef struct {
GPtrArray *entries_ip4;
@@ -54,16 +61,23 @@ typedef struct {
NMPlatform *platform;
} NMDefaultRouteManagerPrivate;
-#define NM_DEFAULT_ROUTE_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEFAULT_ROUTE_MANAGER, NMDefaultRouteManagerPrivate))
+struct _NMDefaultRouteManager {
+ GObject parent;
+ NMDefaultRouteManagerPrivate _priv;
+};
+
+struct _NMDefaultRouteManagerClass {
+ GObjectClass parent;
+};
G_DEFINE_TYPE (NMDefaultRouteManager, nm_default_route_manager, G_TYPE_OBJECT)
-NM_GOBJECT_PROPERTIES_DEFINE_BASE (
- PROP_PLATFORM,
-);
+#define NM_DEFAULT_ROUTE_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDefaultRouteManager, NM_IS_DEFAULT_ROUTE_MANAGER)
NM_DEFINE_SINGLETON_GETTER (NMDefaultRouteManager, nm_default_route_manager_get, NM_TYPE_DEFAULT_ROUTE_MANAGER);
+/*****************************************************************************/
+
#define _NMLOG_PREFIX_NAME "default-route"
#undef _NMLOG_ENABLED
#define _NMLOG_ENABLED(level, addr_family) \
@@ -127,11 +141,11 @@ NM_DEFINE_SINGLETON_GETTER (NMDefaultRouteManager, nm_default_route_manager_get,
} \
} G_STMT_END
-/***********************************************************************************/
+/*****************************************************************************/
static void _resync_idle_cancel (NMDefaultRouteManager *self);
-/***********************************************************************************/
+/*****************************************************************************/
typedef struct {
union {
@@ -695,7 +709,7 @@ _entry_at_idx_remove (const VTableIP *vtable, NMDefaultRouteManager *self, guint
_entry_free (entry);
}
-/***********************************************************************************/
+/*****************************************************************************/
static void
_ipx_update_default_route (const VTableIP *vtable, NMDefaultRouteManager *self, gpointer source)
@@ -888,7 +902,7 @@ nm_default_route_manager_ip6_update_default_route (NMDefaultRouteManager *self,
_ipx_update_default_route (&vtable_ip6, self, source);
}
-/***********************************************************************************/
+/*****************************************************************************/
static gboolean
_ipx_connection_has_default_route (const VTableIP *vtable, NMDefaultRouteManager *self, NMConnection *connection, gboolean *out_is_never_default)
@@ -947,7 +961,7 @@ nm_default_route_manager_ip6_connection_has_default_route (NMDefaultRouteManager
return _ipx_connection_has_default_route (&vtable_ip6, self, connection, out_is_never_default);
}
-/***********************************************************************************/
+/*****************************************************************************/
static NMDevice *
_ipx_get_best_device (const VTableIP *vtable, NMDefaultRouteManager *self, const GSList *devices)
@@ -1085,7 +1099,7 @@ nm_default_route_manager_ip6_get_best_device (NMDefaultRouteManager *self, const
return _ipx_get_best_activating_device (&vtable_ip6, self, devices, preferred_device);
}
-/***********************************************************************************/
+/*****************************************************************************/
static gpointer
_ipx_get_best_config (const VTableIP *vtable,
@@ -1218,7 +1232,7 @@ nm_default_route_manager_ip6_get_best_config (NMDefaultRouteManager *self,
out_vpn);
}
-/***********************************************************************************/
+/*****************************************************************************/
static GPtrArray *
_v4_get_entries (NMDefaultRouteManagerPrivate *priv)
@@ -1242,7 +1256,7 @@ static const VTableIP vtable_ip6 = {
.get_entries = _v6_get_entries,
};
-/***********************************************************************************/
+/*****************************************************************************/
static gboolean
_resync_idle_now (NMDefaultRouteManager *self)
@@ -1374,7 +1388,7 @@ _platform_changed_cb (NMPlatform *platform,
}
}
-/***********************************************************************************/
+/*****************************************************************************/
static void
set_property (GObject *object, guint prop_id,
@@ -1397,6 +1411,8 @@ set_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
static void
nm_default_route_manager_init (NMDefaultRouteManager *self)
{
@@ -1464,9 +1480,6 @@ nm_default_route_manager_class_init (NMDefaultRouteManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMDefaultRouteManagerPrivate));
-
- /* virtual methods */
object_class->constructed = constructed;
object_class->dispose = dispose;
object_class->set_property = set_property;
@@ -1477,7 +1490,6 @@ nm_default_route_manager_class_init (NMDefaultRouteManagerClass *klass)
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS);
- g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
}
-
diff --git a/src/nm-default-route-manager.h b/src/nm-default-route-manager.h
index 30f130a476..bd5e873295 100644
--- a/src/nm-default-route-manager.h
+++ b/src/nm-default-route-manager.h
@@ -32,13 +32,7 @@
#define NM_DEFAULT_ROUTE_MANAGER_PLATFORM "platform"
-struct _NMDefaultRouteManager {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-} NMDefaultRouteManagerClass;
+typedef struct _NMDefaultRouteManagerClass NMDefaultRouteManagerClass;
GType nm_default_route_manager_get_type (void);
@@ -68,4 +62,3 @@ NMIP6Config *nm_default_route_manager_ip6_get_best_config (NMDefaultRouteManager
NMVpnConnection **out_vpn);
#endif /* NM_DEFAULT_ROUTE_MANAGER_H */
-
diff --git a/src/nm-dhcp4-config.c b/src/nm-dhcp4-config.c
index 26c6ab0b43..00aee8fafb 100644
--- a/src/nm-dhcp4-config.c
+++ b/src/nm-dhcp4-config.c
@@ -20,36 +20,40 @@
#include "nm-default.h"
+#include "nm-dhcp4-config.h"
+
#include <string.h>
#include "nm-dbus-interface.h"
-#include "nm-dhcp4-config.h"
#include "nm-utils.h"
+#include "nm-exported-object.h"
#include "nmdbus-dhcp4-config.h"
-G_DEFINE_TYPE (NMDhcp4Config, nm_dhcp4_config, NM_TYPE_EXPORTED_OBJECT)
+/*****************************************************************************/
-#define NM_DHCP4_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP4_CONFIG, NMDhcp4ConfigPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE (NMDhcp4Config,
+ PROP_OPTIONS,
+);
typedef struct {
GVariant *options;
} NMDhcp4ConfigPrivate;
+struct _NMDhcp4Config {
+ NMExportedObject parent;
+ NMDhcp4ConfigPrivate _priv;
+};
-enum {
- PROP_0,
- PROP_OPTIONS,
-
- LAST_PROP
+struct _NMDhcp4ConfigClass {
+ NMExportedObjectClass parent;
};
+G_DEFINE_TYPE (NMDhcp4Config, nm_dhcp4_config, NM_TYPE_EXPORTED_OBJECT)
-NMDhcp4Config *
-nm_dhcp4_config_new (void)
-{
- return NM_DHCP4_CONFIG (g_object_new (NM_TYPE_DHCP4_CONFIG, NULL));
-}
+#define NM_DHCP4_CONFIG_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDhcp4Config, NM_IS_DHCP4_CONFIG)
+
+/*****************************************************************************/
void
nm_dhcp4_config_set_options (NMDhcp4Config *self,
@@ -72,7 +76,7 @@ nm_dhcp4_config_set_options (NMDhcp4Config *self,
priv->options = g_variant_builder_end (&builder);
g_variant_ref_sink (priv->options);
- g_object_notify (G_OBJECT (self), NM_DHCP4_CONFIG_OPTIONS);
+ _notify (self, PROP_OPTIONS);
}
const char *
@@ -98,6 +102,26 @@ nm_dhcp4_config_get_options (NMDhcp4Config *self)
return g_variant_ref (NM_DHCP4_CONFIG_GET_PRIVATE (self)->options);
}
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ NMDhcp4ConfigPrivate *priv = NM_DHCP4_CONFIG_GET_PRIVATE ((NMDhcp4Config *) object);
+
+ switch (prop_id) {
+ case PROP_OPTIONS:
+ g_value_set_variant (value, priv->options);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
static void
nm_dhcp4_config_init (NMDhcp4Config *self)
{
@@ -107,10 +131,16 @@ nm_dhcp4_config_init (NMDhcp4Config *self)
g_variant_ref_sink (priv->options);
}
+NMDhcp4Config *
+nm_dhcp4_config_new (void)
+{
+ return NM_DHCP4_CONFIG (g_object_new (NM_TYPE_DHCP4_CONFIG, NULL));
+}
+
static void
finalize (GObject *object)
{
- NMDhcp4ConfigPrivate *priv = NM_DHCP4_CONFIG_GET_PRIVATE (object);
+ NMDhcp4ConfigPrivate *priv = NM_DHCP4_CONFIG_GET_PRIVATE ((NMDhcp4Config *) object);
g_variant_unref (priv->options);
@@ -118,44 +148,25 @@ finalize (GObject *object)
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMDhcp4ConfigPrivate *priv = NM_DHCP4_CONFIG_GET_PRIVATE (object);
-
- switch (prop_id) {
- case PROP_OPTIONS:
- g_value_set_variant (value, priv->options);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
nm_dhcp4_config_class_init (NMDhcp4ConfigClass *config_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (config_class);
NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (config_class);
- g_type_class_add_private (config_class, sizeof (NMDhcp4ConfigPrivate));
+ object_class->get_property = get_property;
+ object_class->finalize = finalize;
exported_object_class->export_path = NM_DBUS_PATH "/DHCP4Config/%u";
exported_object_class->export_on_construction = TRUE;
- /* virtual methods */
- object_class->get_property = get_property;
- object_class->finalize = finalize;
+ obj_properties[PROP_OPTIONS] =
+ g_param_spec_variant (NM_DHCP4_CONFIG_OPTIONS, "", "",
+ G_VARIANT_TYPE ("a{sv}"),
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
- /* properties */
- g_object_class_install_property
- (object_class, PROP_OPTIONS,
- g_param_spec_variant (NM_DHCP4_CONFIG_OPTIONS, "", "",
- G_VARIANT_TYPE ("a{sv}"),
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (config_class),
NMDBUS_TYPE_DHCP4_CONFIG_SKELETON,
diff --git a/src/nm-dhcp4-config.h b/src/nm-dhcp4-config.h
index 080e28deff..7fdf0653e3 100644
--- a/src/nm-dhcp4-config.h
+++ b/src/nm-dhcp4-config.h
@@ -21,8 +21,6 @@
#ifndef __NETWORKMANAGER_DHCP4_CONFIG_H__
#define __NETWORKMANAGER_DHCP4_CONFIG_H__
-#include "nm-exported-object.h"
-
#define NM_TYPE_DHCP4_CONFIG (nm_dhcp4_config_get_type ())
#define NM_DHCP4_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DHCP4_CONFIG, NMDhcp4Config))
#define NM_DHCP4_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DHCP4_CONFIG, NMDhcp4ConfigClass))
@@ -30,17 +28,10 @@
#define NM_IS_DHCP4_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DHCP4_CONFIG))
#define NM_DHCP4_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DHCP4_CONFIG, NMDhcp4ConfigClass))
-struct _NMDhcp4Config {
- NMExportedObject parent;
-};
-
-typedef struct {
- NMExportedObjectClass parent;
-
-} NMDhcp4ConfigClass;
-
#define NM_DHCP4_CONFIG_OPTIONS "options"
+typedef struct _NMDhcp4ConfigClass NMDhcp4ConfigClass;
+
GType nm_dhcp4_config_get_type (void);
NMDhcp4Config *nm_dhcp4_config_new (void);
diff --git a/src/nm-dhcp6-config.c b/src/nm-dhcp6-config.c
index 4311ee985e..2d878cde5b 100644
--- a/src/nm-dhcp6-config.c
+++ b/src/nm-dhcp6-config.c
@@ -20,36 +20,40 @@
#include "nm-default.h"
+#include "nm-dhcp6-config.h"
+
#include <string.h>
#include "nm-dbus-interface.h"
-#include "nm-dhcp6-config.h"
#include "nm-utils.h"
+#include "nm-exported-object.h"
#include "nmdbus-dhcp6-config.h"
-G_DEFINE_TYPE (NMDhcp6Config, nm_dhcp6_config, NM_TYPE_EXPORTED_OBJECT)
+/*****************************************************************************/
-#define NM_DHCP6_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP6_CONFIG, NMDhcp6ConfigPrivate))
+NM_GOBJECT_PROPERTIES_DEFINE (NMDhcp6Config,
+ PROP_OPTIONS,
+);
typedef struct {
GVariant *options;
} NMDhcp6ConfigPrivate;
+struct _NMDhcp6Config {
+ NMExportedObject parent;
+ NMDhcp6ConfigPrivate _priv;
+};
-enum {
- PROP_0,
- PROP_OPTIONS,
-
- LAST_PROP
+struct _NMDhcp6ConfigClass {
+ NMExportedObjectClass parent;
};
+G_DEFINE_TYPE (NMDhcp6Config, nm_dhcp6_config, NM_TYPE_EXPORTED_OBJECT)
-NMDhcp6Config *
-nm_dhcp6_config_new (void)
-{
- return NM_DHCP6_CONFIG (g_object_new (NM_TYPE_DHCP6_CONFIG, NULL));
-}
+#define NM_DHCP6_CONFIG_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMDhcp6Config, NM_IS_DHCP6_CONFIG)
+
+/*****************************************************************************/
void
nm_dhcp6_config_set_options (NMDhcp6Config *self,
@@ -72,7 +76,7 @@ nm_dhcp6_config_set_options (NMDhcp6Config *self,
priv->options = g_variant_builder_end (&builder);
g_variant_ref_sink (priv->options);
- g_object_notify (G_OBJECT (self), NM_DHCP6_CONFIG_OPTIONS);
+ _notify (self, PROP_OPTIONS);
}
const char *
@@ -98,6 +102,24 @@ nm_dhcp6_config_get_options (NMDhcp6Config *self)
return g_variant_ref (NM_DHCP6_CONFIG_GET_PRIVATE (self)->options);
}
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ NMDhcp6ConfigPrivate *priv = NM_DHCP6_CONFIG_GET_PRIVATE ((NMDhcp6Config *) object);
+
+ switch (prop_id) {
+ case PROP_OPTIONS:
+ g_value_set_variant (value, priv->options);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
static void
nm_dhcp6_config_init (NMDhcp6Config *self)
{
@@ -107,10 +129,16 @@ nm_dhcp6_config_init (NMDhcp6Config *self)
g_variant_ref_sink (priv->options);
}
+NMDhcp6Config *
+nm_dhcp6_config_new (void)
+{
+ return NM_DHCP6_CONFIG (g_object_new (NM_TYPE_DHCP6_CONFIG, NULL));
+}
+
static void
finalize (GObject *object)
{
- NMDhcp6ConfigPrivate *priv = NM_DHCP6_CONFIG_GET_PRIVATE (object);
+ NMDhcp6ConfigPrivate *priv = NM_DHCP6_CONFIG_GET_PRIVATE ((NMDhcp6Config *) object);
g_variant_unref (priv->options);
@@ -118,44 +146,25 @@ finalize (GObject *object)
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMDhcp6ConfigPrivate *priv = NM_DHCP6_CONFIG_GET_PRIVATE (object);
-
- switch (prop_id) {
- case PROP_OPTIONS:
- g_value_set_variant (value, priv->options);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
nm_dhcp6_config_class_init (NMDhcp6ConfigClass *config_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (config_class);
NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (config_class);
- g_type_class_add_private (config_class, sizeof (NMDhcp6ConfigPrivate));
+ object_class->get_property = get_property;
+ object_class->finalize = finalize;
exported_object_class->export_path = NM_DBUS_PATH "/DHCP6Config/%u";
exported_object_class->export_on_construction = TRUE;
- /* virtual methods */
- object_class->get_property = get_property;
- object_class->finalize = finalize;
+ obj_properties[PROP_OPTIONS] =
+ g_param_spec_variant (NM_DHCP6_CONFIG_OPTIONS, "", "",
+ G_VARIANT_TYPE ("a{sv}"),
+ NULL,
+ G_PARAM_READABLE |
+ G_PARAM_STATIC_STRINGS);
- /* properties */
- g_object_class_install_property
- (object_class, PROP_OPTIONS,
- g_param_spec_variant (NM_DHCP6_CONFIG_OPTIONS, "", "",
- G_VARIANT_TYPE ("a{sv}"),
- NULL,
- G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (config_class),
NMDBUS_TYPE_DHCP6_CONFIG_SKELETON,
diff --git a/src/nm-dhcp6-config.h b/src/nm-dhcp6-config.h
index c018d97f0c..6241845afa 100644
--- a/src/nm-dhcp6-config.h
+++ b/src/nm-dhcp6-config.h
@@ -21,8 +21,6 @@
#ifndef __NETWORKMANAGER_DHCP6_CONFIG_H__
#define __NETWORKMANAGER_DHCP6_CONFIG_H__
-#include "nm-exported-object.h"
-
#define NM_TYPE_DHCP6_CONFIG (nm_dhcp6_config_get_type ())
#define NM_DHCP6_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DHCP6_CONFIG, NMDhcp6Config))
#define NM_DHCP6_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DHCP6_CONFIG, NMDhcp6ConfigClass))
@@ -30,17 +28,10 @@
#define NM_IS_DHCP6_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DHCP6_CONFIG))
#define NM_DHCP6_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DHCP6_CONFIG, NMDhcp6ConfigClass))
-struct _NMDhcp6Config {
- NMExportedObject parent;
-};
-
-typedef struct {
- NMExportedObjectClass parent;
-
-} NMDhcp6ConfigClass;
-
#define NM_DHCP6_CONFIG_OPTIONS "options"
+typedef struct _NMDhcp6ConfigClass NMDhcp6ConfigClass;
+
GType nm_dhcp6_config_get_type (void);
NMDhcp6Config *nm_dhcp6_config_new (void);
diff --git a/src/nm-exported-object.c b/src/nm-exported-object.c
index 32b5ec05dd..d3c3d1fdc3 100644
--- a/src/nm-exported-object.c
+++ b/src/nm-exported-object.c
@@ -37,15 +37,13 @@
static gboolean quitting = FALSE;
-G_DEFINE_ABSTRACT_TYPE (NMExportedObject, nm_exported_object, G_TYPE_DBUS_OBJECT_SKELETON);
-
typedef struct {
GDBusInterfaceSkeleton *interface;
guint property_changed_signal_id;
GHashTable *pending_notifies;
} InterfaceData;
-typedef struct {
+typedef struct _NMExportedObjectPrivate {
NMBusManager *bus_mgr;
char *path;
@@ -59,7 +57,11 @@ typedef struct {
#endif
} NMExportedObjectPrivate;
-#define NM_EXPORTED_OBJECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_EXPORTED_OBJECT, NMExportedObjectPrivate))
+G_DEFINE_ABSTRACT_TYPE (NMExportedObject, nm_exported_object, G_TYPE_DBUS_OBJECT_SKELETON);
+
+#define NM_EXPORTED_OBJECT_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR (self, NMExportedObject, NM_IS_EXPORTED_OBJECT)
+
+/*****************************************************************************/
typedef struct {
GHashTable *properties;
@@ -800,7 +802,7 @@ _sort_pending_notifies (gconstpointer a, gconstpointer b, gpointer user_da
static gboolean
idle_emit_properties_changed (gpointer self)
{
- NMExportedObjectPrivate *priv = NM_EXPORTED_OBJECT_GET_PRIVATE (self);
+ NMExportedObjectPrivate *priv = NM_EXPORTED_OBJECT_GET_PRIVATE (NM_EXPORTED_OBJECT (self));
guint k;
priv->notify_idle_id = 0;
@@ -969,6 +971,10 @@ vtype_found:
static void
nm_exported_object_init (NMExportedObject *self)
{
+ NMExportedObjectPrivate *priv;
+
+ priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_EXPORTED_OBJECT, NMExportedObjectPrivate);
+ self->_priv = priv;
}
static void
@@ -979,7 +985,7 @@ constructed (GObject *object)
G_OBJECT_CLASS (nm_exported_object_parent_class)->constructed (object);
#ifdef _ASSERT_NO_EARLY_EXPORT
- NM_EXPORTED_OBJECT_GET_PRIVATE (object)->_constructed = TRUE;
+ NM_EXPORTED_OBJECT_GET_PRIVATE (NM_EXPORTED_OBJECT (object))->_constructed = TRUE;
#endif
klass = NM_EXPORTED_OBJECT_GET_CLASS (object);
@@ -989,9 +995,9 @@ constructed (GObject *object)
}
static void
-nm_exported_object_dispose (GObject *object)
+dispose (GObject *object)
{
- NMExportedObjectPrivate *priv = NM_EXPORTED_OBJECT_GET_PRIVATE (object);
+ NMExportedObjectPrivate *priv = NM_EXPORTED_OBJECT_GET_PRIVATE (NM_EXPORTED_OBJECT (object));
/* Objects should have already been unexported by their owner, unless
* we are quitting, where many objects stick around until exit.
@@ -1018,7 +1024,5 @@ nm_exported_object_class_init (NMExportedObjectClass *klass)
object_class->constructed = constructed;
object_class->notify = nm_exported_object_notify;
- object_class->dispose = nm_exported_object_dispose;
+ object_class->dispose = dispose;
}
-
-
diff --git a/src/nm-exported-object.h b/src/nm-exported-object.h
index 7036e0d032..75f9c59a6d 100644
--- a/src/nm-exported-object.h
+++ b/src/nm-exported-object.h
@@ -47,8 +47,11 @@ void nm_exported_object_skeleton_release (GDBusInterfaceSkeleton *interface);
#define NM_IS_EXPORTED_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_EXPORTED_OBJECT))
#define NM_EXPORTED_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_EXPORTED_OBJECT, NMExportedObjectClass))
+struct _NMExportedObjectPrivate;
+
struct _NMExportedObject {
GDBusObjectSkeleton parent;
+ struct _NMExportedObjectPrivate *_priv;
};
typedef struct {
diff --git a/src/nm-firewall-manager.c b/src/nm-firewall-manager.c
index f1d0170b03..5ba3d23e34 100644
--- a/src/nm-firewall-manager.c
+++ b/src/nm-firewall-manager.c
@@ -26,19 +26,19 @@
#include "NetworkManagerUtils.h"
-#define NM_FIREWALL_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_FIREWALL_MANAGER, \
- NMFirewallManagerPrivate))
+/*****************************************************************************/
-G_DEFINE_TYPE (NMFirewallManager, nm_firewall_manager, G_TYPE_OBJECT)
+NM_GOBJECT_PROPERTIES_DEFINE (NMFirewallManager,
+ PROP_AVAILABLE,
+);
-/* Properties */
enum {
- PROP_0 = 0,
- PROP_AVAILABLE,
- LAST_PROP
+ STARTED,
+ LAST_SIGNAL
};
+static guint signals[LAST_SIGNAL] = { 0 };
+
typedef struct {
GDBusProxy * proxy;
gboolean running;
@@ -46,17 +46,24 @@ typedef struct {
GHashTable *pending_calls;
} NMFirewallManagerPrivate;
-enum {
- STARTED,
+struct _NMFirewallManager {
+ GObject parent;
+ NMFirewallManagerPrivate _priv;
+};
- LAST_SIGNAL
+struct _NMFirewallManagerClass {
+ GObjectClass parent;
};
-static guint signals[LAST_SIGNAL] = { 0 };
+G_DEFINE_TYPE (NMFirewallManager, nm_firewall_manager, G_TYPE_OBJECT)
+
+#define NM_FIREWALL_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMFirewallManager, NM_IS_FIREWALL_MANAGER)
+
+/*****************************************************************************/
NM_DEFINE_SINGLETON_GETTER (NMFirewallManager, nm_firewall_manager_get, NM_TYPE_FIREWALL_MANAGER);
-/********************************************************************/
+/*****************************************************************************/
typedef enum {
CB_INFO_OPS_ADD = 1,
@@ -89,7 +96,7 @@ struct _NMFirewallManagerCallId {
};
typedef struct _NMFirewallManagerCallId CBInfo;
-/********************************************************************/
+/*****************************************************************************/
static const char *
_ops_type_to_string (CBInfoOpsType ops_type)
@@ -131,7 +138,7 @@ _ops_type_to_string (CBInfoOpsType ops_type)
} \
} G_STMT_END
-/********************************************************************/
+/*****************************************************************************/
static gboolean
_cb_info_is_idle (CBInfo *info)
@@ -396,7 +403,7 @@ nm_firewall_manager_cancel_call (NMFirewallManagerCallId call)
}
}
-/*******************************************************************/
+/*****************************************************************************/
static void
set_running (NMFirewallManager *self, gboolean now_running)
@@ -406,7 +413,7 @@ set_running (NMFirewallManager *self, gboolean now_running)
priv->running = now_running;
if (old_running != priv->running)
- g_object_notify (G_OBJECT (self), NM_FIREWALL_MANAGER_AVAILABLE);
+ _notify (self, PROP_AVAILABLE);
}
static void
@@ -428,7 +435,22 @@ name_owner_changed (GObject *object,
}
}
-/*******************************************************************/
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+{
+ switch (prop_id) {
+ case PROP_AVAILABLE:
+ g_value_set_boolean (value, NM_FIREWALL_MANAGER_GET_PRIVATE ((NMFirewallManager *) object)->running);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
static void
nm_firewall_manager_init (NMFirewallManager * self)
@@ -456,32 +478,18 @@ constructed (GObject *object)
FIREWALL_DBUS_PATH,
FIREWALL_DBUS_INTERFACE_ZONE,
NULL, &error);
- if (priv->proxy) {
+ if (priv->proxy) {
g_signal_connect (priv->proxy, "notify::g-name-owner",
- G_CALLBACK (name_owner_changed), self);
+ G_CALLBACK (name_owner_changed), self);
owner = g_dbus_proxy_get_name_owner (priv->proxy);
priv->running = (owner != NULL);
- } else {
- _LOGW (NULL, "could not connect to system D-Bus (%s)", error->message);
- }
+ } else
+ _LOGW (NULL, "could not connect to system D-Bus (%s)", error->message);
_LOGD (NULL, "firewall constructed (%srunning)", priv->running ? "" : "not");
}
static void
-get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
-{
- switch (prop_id) {
- case PROP_AVAILABLE:
- g_value_set_boolean (value, NM_FIREWALL_MANAGER_GET_PRIVATE (object)->running);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
dispose (GObject *object)
{
NMFirewallManager *self = NM_FIREWALL_MANAGER (object);
@@ -497,7 +505,6 @@ dispose (GObject *object)
g_clear_object (&priv->proxy);
- /* Chain up to the parent class */
G_OBJECT_CLASS (nm_firewall_manager_parent_class)->dispose (object);
}
@@ -506,27 +513,24 @@ nm_firewall_manager_class_init (NMFirewallManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMFirewallManagerPrivate));
-
object_class->constructed = constructed;
object_class->get_property = get_property;
object_class->dispose = dispose;
- g_object_class_install_property
- (object_class, PROP_AVAILABLE,
+ obj_properties[PROP_AVAILABLE] =
g_param_spec_boolean (NM_FIREWALL_MANAGER_AVAILABLE, "", "",
FALSE,
G_PARAM_READABLE |
- G_PARAM_STATIC_STRINGS));
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
signals[STARTED] =
g_signal_new (NM_FIREWALL_MANAGER_STARTED,
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMFirewallManagerClass, started),
+ 0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
-
}
-
diff --git a/src/nm-firewall-manager.h b/src/nm-firewall-manager.h
index 92fac8e2fc..a00ee451e7 100644
--- a/src/nm-firewall-manager.h
+++ b/src/nm-firewall-manager.h
@@ -26,30 +26,21 @@
#define FIREWALL_DBUS_INTERFACE "org.fedoraproject.FirewallD1"
#define FIREWALL_DBUS_INTERFACE_ZONE "org.fedoraproject.FirewallD1.zone"
-#define NM_TYPE_FIREWALL_MANAGER (nm_firewall_manager_get_type ())
-#define NM_FIREWALL_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_FIREWALL_MANAGER, NMFirewallManager))
-#define NM_FIREWALL_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_FIREWALL_MANAGER, NMFirewallManagerClass))
-#define NM_IS_FIREWALL_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_FIREWALL_MANAGER))
-#define NM_IS_FIREWALL_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_FIREWALL_MANAGER))
-#define NM_FIREWALL_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_FIREWALL_MANAGER, NMFirewallManagerClass))
+#define NM_TYPE_FIREWALL_MANAGER (nm_firewall_manager_get_type ())
+#define NM_FIREWALL_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_FIREWALL_MANAGER, NMFirewallManager))
+#define NM_FIREWALL_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_FIREWALL_MANAGER, NMFirewallManagerClass))
+#define NM_IS_FIREWALL_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_FIREWALL_MANAGER))
+#define NM_IS_FIREWALL_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_FIREWALL_MANAGER))
+#define NM_FIREWALL_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_FIREWALL_MANAGER, NMFirewallManagerClass))
#define NM_FIREWALL_MANAGER_AVAILABLE "available"
#define NM_FIREWALL_MANAGER_STARTED "started"
-struct _NMFirewallManagerCallId;
typedef struct _NMFirewallManagerCallId *NMFirewallManagerCallId;
-typedef struct {
- GObject parent;
-} NMFirewallManager;
-
-typedef struct {
- GObjectClass parent;
-
- /* Signals */
- void (*started) (NMFirewallManager *manager);
-} NMFirewallManagerClass;
+typedef struct _NMFirewallManager NMFirewallManager;
+typedef struct _NMFirewallManagerClass NMFirewallManagerClass;
GType nm_firewall_manager_get_type (void);
diff --git a/src/nm-iface-helper.c b/src/nm-iface-helper.c
index b864530473..3d270fa4df 100644
--- a/src/nm-iface-helper.c
+++ b/src/nm-iface-helper.c
@@ -519,7 +519,7 @@ main (int argc, char *argv[])
exit (0);
}
-/*******************************************************/
+/*****************************************************************************/
/* Stub functions */
void
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
index a4d4361248..da3b796c21 100644
--- a/src/nm-ip4-config.c
+++ b/src/nm-ip4-config.c
@@ -104,7 +104,7 @@ nm_ip4_config_get_ifindex (const NMIP4Config *config)
return NM_IP4_CONFIG_GET_PRIVATE (config)->ifindex;
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
_ipv4_is_zeronet (in_addr_t network)
@@ -113,7 +113,7 @@ _ipv4_is_zeronet (in_addr_t network)
return (network & htonl(0xff000000)) == htonl(0x00000000);
}
-/******************************************************************/
+/*****************************************************************************/
/**
* nm_ip4_config_capture_resolv_conf():
@@ -650,7 +650,7 @@ nm_ip4_config_create_setting (const NMIP4Config *config)
return NM_SETTING (s_ip4);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_merge (NMIP4Config *dst, const NMIP4Config *src, NMIPConfigMergeFlags merge_flags)
@@ -745,7 +745,7 @@ nm_ip4_config_merge (NMIP4Config *dst, const NMIP4Config *src, NMIPConfigMergeFl
g_object_thaw_notify (G_OBJECT (dst));
}
-/*******************************************************************************/
+/*****************************************************************************/
static int
_addresses_get_index (const NMIP4Config *self, const NMPlatformIP4Address *addr)
@@ -868,7 +868,7 @@ _wins_get_index (const NMIP4Config *self, guint32 wins_server)
return -1;
}
-/*******************************************************************************/
+/*****************************************************************************/
/**
* nm_ip4_config_subtract:
@@ -1388,7 +1388,7 @@ nm_ip4_config_destination_is_direct (const NMIP4Config *config, guint32 network,
return FALSE;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_set_never_default (NMIP4Config *config, gboolean never_default)
@@ -1464,7 +1464,7 @@ nm_ip4_config_get_route_metric (const NMIP4Config *config)
return priv->route_metric;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_reset_addresses (NMIP4Config *config)
@@ -1570,7 +1570,7 @@ nm_ip4_config_address_exists (const NMIP4Config *config,
return _addresses_get_index (config, needle) >= 0;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_reset_routes (NMIP4Config *config)
@@ -1685,7 +1685,7 @@ nm_ip4_config_get_direct_route_for_host (const NMIP4Config *config, guint32 host
return best_route;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_reset_nameservers (NMIP4Config *config)
@@ -1741,7 +1741,7 @@ nm_ip4_config_get_nameserver (const NMIP4Config *config, guint i)
return g_array_index (priv->nameservers, guint32, i);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_reset_domains (NMIP4Config *config)
@@ -1798,7 +1798,7 @@ nm_ip4_config_get_domain (const NMIP4Config *config, guint i)
return g_ptr_array_index (priv->domains, i);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_reset_searches (NMIP4Config *config)
@@ -1870,7 +1870,7 @@ nm_ip4_config_get_search (const NMIP4Config *config, guint i)
return g_ptr_array_index (priv->searches, i);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_reset_dns_options (NMIP4Config *config)
@@ -1927,7 +1927,7 @@ nm_ip4_config_get_dns_option (const NMIP4Config *config, guint i)
return g_ptr_array_index (priv->dns_options, i);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_set_dns_priority (NMIP4Config *config, gint priority)
@@ -1948,7 +1948,7 @@ nm_ip4_config_get_dns_priority (const NMIP4Config *config)
return priv->dns_priority;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_set_mss (NMIP4Config *config, guint32 mss)
@@ -1966,7 +1966,7 @@ nm_ip4_config_get_mss (const NMIP4Config *config)
return priv->mss;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_reset_nis_servers (NMIP4Config *config)
@@ -2032,7 +2032,7 @@ nm_ip4_config_get_nis_domain (const NMIP4Config *config)
return priv->nis_domain;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_reset_wins (NMIP4Config *config)
@@ -2088,7 +2088,7 @@ nm_ip4_config_get_wins (const NMIP4Config *config, guint i)
return g_array_index (priv->wins, guint32, i);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_set_mtu (NMIP4Config *config, guint32 mtu, NMIPConfigSource source)
@@ -2118,7 +2118,7 @@ nm_ip4_config_get_mtu_source (const NMIP4Config *config)
return priv->mtu_source;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip4_config_set_metered (NMIP4Config *config, gboolean metered)
@@ -2136,7 +2136,7 @@ nm_ip4_config_get_metered (const NMIP4Config *config)
return priv->metered;
}
-/******************************************************************/
+/*****************************************************************************/
static inline void
hash_u32 (GChecksum *sum, guint32 n)
@@ -2243,7 +2243,7 @@ nm_ip4_config_equal (const NMIP4Config *a, const NMIP4Config *b)
return equal;
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_ip4_config_init (NMIP4Config *config)
diff --git a/src/nm-ip4-config.h b/src/nm-ip4-config.h
index f302630a0c..ffcdc9b356 100644
--- a/src/nm-ip4-config.h
+++ b/src/nm-ip4-config.h
@@ -163,7 +163,7 @@ gboolean nm_ip4_config_get_metered (const NMIP4Config *config);
void nm_ip4_config_hash (const NMIP4Config *config, GChecksum *sum, gboolean dns_only);
gboolean nm_ip4_config_equal (const NMIP4Config *a, const NMIP4Config *b);
-/******************************************************/
+/*****************************************************************************/
/* Testing-only functions */
gboolean nm_ip4_config_capture_resolv_conf (GArray *nameservers, GPtrArray *dns_options,
diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c
index 8002d61a0a..31643c8ed0 100644
--- a/src/nm-ip6-config.c
+++ b/src/nm-ip6-config.c
@@ -104,7 +104,7 @@ nm_ip6_config_get_ifindex (const NMIP6Config *config)
return NM_IP6_CONFIG_GET_PRIVATE (config)->ifindex;
}
-/******************************************************************/
+/*****************************************************************************/
/**
* nm_ip6_config_capture_resolv_conf():
@@ -639,7 +639,7 @@ nm_ip6_config_create_setting (const NMIP6Config *config)
return NM_SETTING (s_ip6);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_merge (NMIP6Config *dst, const NMIP6Config *src, NMIPConfigMergeFlags merge_flags)
@@ -730,7 +730,7 @@ nm_ip6_config_destination_is_direct (const NMIP6Config *config, const struct in6
return FALSE;
}
-/*******************************************************************************/
+/*****************************************************************************/
static int
_addresses_get_index (const NMIP6Config *self, const NMPlatformIP6Address *addr)
@@ -822,7 +822,7 @@ _dns_options_get_index (const NMIP6Config *self, const char *option)
return -1;
}
-/*******************************************************************************/
+/*****************************************************************************/
/**
* nm_ip6_config_subtract:
@@ -1222,7 +1222,7 @@ nm_ip6_config_dump (const NMIP6Config *config, const char *detail)
g_message (" n-dflt: %d", nm_ip6_config_get_never_default (config));
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_set_never_default (NMIP6Config *config, gboolean never_default)
@@ -1273,7 +1273,7 @@ nm_ip6_config_get_route_metric (const NMIP6Config *config)
return priv->route_metric;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_reset_addresses (NMIP6Config *config)
@@ -1443,7 +1443,7 @@ nm_ip6_config_has_any_dad_pending (const NMIP6Config *self,
return FALSE;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_reset_routes (NMIP6Config *config)
@@ -1586,7 +1586,7 @@ nm_ip6_config_get_subnet_for_host (const NMIP6Config *config, const struct in6_a
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_reset_nameservers (NMIP6Config *config)
@@ -1642,7 +1642,7 @@ nm_ip6_config_get_nameserver (const NMIP6Config *config, guint i)
return &g_array_index (priv->nameservers, struct in6_addr, i);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_reset_domains (NMIP6Config *config)
@@ -1699,7 +1699,7 @@ nm_ip6_config_get_domain (const NMIP6Config *config, guint i)
return g_ptr_array_index (priv->domains, i);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_reset_searches (NMIP6Config *config)
@@ -1771,7 +1771,7 @@ nm_ip6_config_get_search (const NMIP6Config *config, guint i)
return g_ptr_array_index (priv->searches, i);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_reset_dns_options (NMIP6Config *config)
@@ -1828,7 +1828,7 @@ nm_ip6_config_get_dns_option (const NMIP6Config *config, guint i)
return g_ptr_array_index (priv->dns_options, i);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_set_dns_priority (NMIP6Config *config, gint priority)
@@ -1849,7 +1849,7 @@ nm_ip6_config_get_dns_priority (const NMIP6Config *config)
return priv->dns_priority;
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_ip6_config_set_mss (NMIP6Config *config, guint32 mss)
@@ -1867,7 +1867,7 @@ nm_ip6_config_get_mss (const NMIP6Config *config)
return priv->mss;
}
-/******************************************************************/
+/*****************************************************************************/
static inline void
hash_u32 (GChecksum *sum, guint32 n)
@@ -1972,7 +1972,7 @@ nm_ip6_config_equal (const NMIP6Config *a, const NMIP6Config *b)
return equal;
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_ip6_config_init (NMIP6Config *config)
diff --git a/src/nm-ip6-config.h b/src/nm-ip6-config.h
index c3f8d9f879..bdcc277df2 100644
--- a/src/nm-ip6-config.h
+++ b/src/nm-ip6-config.h
@@ -142,7 +142,7 @@ guint32 nm_ip6_config_get_mss (const NMIP6Config *config);
void nm_ip6_config_hash (const NMIP6Config *config, GChecksum *sum, gboolean dns_only);
gboolean nm_ip6_config_equal (const NMIP6Config *a, const NMIP6Config *b);
-/******************************************************/
+/*****************************************************************************/
/* Testing-only functions */
gboolean nm_ip6_config_capture_resolv_conf (GArray *nameservers,
diff --git a/src/nm-logging.c b/src/nm-logging.c
index 6ecc160625..1dc9237ae2 100644
--- a/src/nm-logging.c
+++ b/src/nm-logging.c
@@ -159,11 +159,11 @@ G_STATIC_ASSERT (sizeof (NMLogDomain) >= sizeof (guint64));
#define LOGD_DHCP_STRING "DHCP"
#define LOGD_IP_STRING "IP"
-/************************************************************************/
+/*****************************************************************************/
static char *_domains_to_string (gboolean include_level_override);
-/************************************************************************/
+/*****************************************************************************/
static gboolean
match_log_level (const char *level,
@@ -617,7 +617,7 @@ _nm_log_impl (const char *file,
g_free (msg);
}
-/************************************************************************/
+/*****************************************************************************/
static void
nm_log_handler (const gchar *log_domain,
diff --git a/src/nm-manager.c b/src/nm-manager.c
index 9d536e358b..4c542a53d6 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -48,7 +48,7 @@
#include "nm-connectivity.h"
#include "nm-policy.h"
#include "nm-session-monitor.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-core-internal.h"
#include "nm-config.h"
#include "nm-audit-manager.h"
@@ -210,7 +210,7 @@ NM_GOBJECT_PROPERTIES_DEFINE (NMManager,
NM_DEFINE_SINGLETON_INSTANCE (NMManager);
-/************************************************************************/
+/*****************************************************************************/
#define _NMLOG_PREFIX_NAME "manager"
#define _NMLOG(level, domain, ...) \
@@ -232,7 +232,7 @@ NM_DEFINE_SINGLETON_INSTANCE (NMManager);
} \
} G_STMT_END
-/************************************************************************/
+/*****************************************************************************/
static void active_connection_state_changed (NMActiveConnection *active,
GParamSpec *pspec,
@@ -460,7 +460,7 @@ active_connection_get_by_path (NMManager *manager, const char *path)
return NULL;
}
-/************************************************************************/
+/*****************************************************************************/
static void
_config_changed_cb (NMConfig *config, NMConfigData *config_data, NMConfigChangeFlags changes, NMConfigData *old_data, NMManager *self)
@@ -573,7 +573,7 @@ impl_manager_reload (NMManager *self,
nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_RELOAD, TRUE);
}
-/************************************************************************/
+/*****************************************************************************/
NMDevice *
nm_manager_get_device_by_path (NMManager *manager, const char *path)
@@ -1017,7 +1017,7 @@ nm_manager_get_state (NMManager *manager)
return NM_MANAGER_GET_PRIVATE (manager)->state;
}
-/***************************/
+/*****************************************************************************/
static NMDevice *
find_parent_device_for_connection (NMManager *self, NMConnection *connection, NMDeviceFactory *cached_factory)
@@ -1363,9 +1363,9 @@ system_hostname_changed_cb (NMSettings *settings,
nm_dhcp_manager_set_default_hostname (nm_dhcp_manager_get (), priv->hostname);
}
-/*******************************************************************/
+/*****************************************************************************/
/* General NMManager stuff */
-/*******************************************************************/
+/*****************************************************************************/
static gboolean
radio_enabled_for_rstate (RadioState *rstate, gboolean check_changeable)
@@ -2025,7 +2025,7 @@ add_device (NMManager *self, NMDevice *device, GError **error)
return TRUE;
}
-/*******************************************************************/
+/*****************************************************************************/
static void
factory_device_added_cb (NMDeviceFactory *factory,
@@ -2079,7 +2079,7 @@ _register_device_factory (NMDeviceFactory *factory, gpointer user_data)
self);
}
-/*******************************************************************/
+/*****************************************************************************/
static void
platform_link_added (NMManager *self,
@@ -3450,7 +3450,7 @@ error:
return NULL;
}
-/***********************************************************************/
+/*****************************************************************************/
static void
_activation_auth_done (NMActiveConnection *active,
@@ -3584,7 +3584,7 @@ error:
g_dbus_method_invocation_take_error (context, error);
}
-/***********************************************************************/
+/*****************************************************************************/
typedef struct {
NMManager *manager;
@@ -3796,7 +3796,7 @@ error:
g_dbus_method_invocation_take_error (context, error);
}
-/***********************************************************************/
+/*****************************************************************************/
gboolean
nm_manager_deactivate_connection (NMManager *manager,
@@ -5171,7 +5171,7 @@ prop_filter (GDBusConnection *connection,
return NULL;
}
-/******************************************************************************/
+/*****************************************************************************/
static int
_set_prop_filter_free2 (gpointer user_data)
@@ -5218,7 +5218,7 @@ _set_prop_filter (NMManager *self, GDBusConnection *connection)
}
}
-/******************************************************************************/
+/*****************************************************************************/
static NMCheckpointManager *
_checkpoint_mgr_get (NMManager *self, gboolean create_as_needed)
@@ -5386,7 +5386,7 @@ impl_manager_checkpoint_rollback (NMManager *self,
nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_CHECKPOINT_ROLLBACK, TRUE);
}
-/******************************************************************************/
+/*****************************************************************************/
static void
auth_mgr_changed (NMAuthManager *auth_manager, gpointer user_data)
@@ -5529,7 +5529,7 @@ dbus_connection_changed_cb (NMBusManager *dbus_mgr,
_set_prop_filter (NM_MANAGER (user_data), connection);
}
-/**********************************************************************/
+/*****************************************************************************/
void
nm_manager_set_capability (NMManager *self,
@@ -5562,7 +5562,7 @@ nm_manager_set_capability (NMManager *self,
_notify (self, PROP_CAPABILITIES);
}
-/**********************************************************************/
+/*****************************************************************************/
NM_DEFINE_SINGLETON_REGISTER (NMManager);
@@ -5613,6 +5613,9 @@ constructed (GObject *object)
_set_prop_filter (self, nm_bus_manager_get_connection (priv->dbus_mgr));
priv->settings = nm_settings_new ();
+
+ nm_exported_object_export (NM_EXPORTED_OBJECT (priv->settings));
+
g_signal_connect (priv->settings, "notify::" NM_SETTINGS_STARTUP_COMPLETE,
G_CALLBACK (settings_startup_complete_changed), self);
g_signal_connect (priv->settings, "notify::" NM_SETTINGS_UNMANAGED_SPECS,
diff --git a/src/nm-multi-index.c b/src/nm-multi-index.c
index 6ae54a989b..6ae4c21fab 100644
--- a/src/nm-multi-index.c
+++ b/src/nm-multi-index.c
@@ -42,7 +42,7 @@ typedef struct {
GHashTable *index;
} ValuesData;
-/******************************************************************************************/
+/*****************************************************************************/
static void
_values_data_destroy (ValuesData *values_data)
@@ -99,7 +99,7 @@ _values_data_get_data (ValuesData *values_data,
NM_SET_OUT (out_data, values_data->values);
}
-/******************************************************************************************/
+/*****************************************************************************/
/**
* nm_multi_index_lookup():
@@ -237,7 +237,7 @@ nm_multi_index_iter_next (NMMultiIndexIter *iter,
return FALSE;
}
-/******************************************************************************************/
+/*****************************************************************************/
void
nm_multi_index_id_iter_init (NMMultiIndexIdIter *iter,
@@ -283,7 +283,7 @@ nm_multi_index_id_iter_next (NMMultiIndexIdIter *iter,
}
}
-/******************************************************************************************/
+/*****************************************************************************/
static gboolean
_do_add (NMMultiIndex *index,
@@ -430,7 +430,7 @@ nm_multi_index_move (NMMultiIndex *index,
}
}
-/******************************************************************************************/
+/*****************************************************************************/
guint
nm_multi_index_get_num_groups (const NMMultiIndex *index)
diff --git a/src/nm-policy.c b/src/nm-policy.c
index 682857d3de..ffe9203e7b 100644
--- a/src/nm-policy.c
+++ b/src/nm-policy.c
@@ -21,14 +21,15 @@
#include "nm-default.h"
+#include "nm-policy.h"
+
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <netdb.h>
-#include "nm-policy.h"
#include "NetworkManagerUtils.h"
-#include "nm-activation-request.h"
+#include "nm-act-request.h"
#include "nm-device.h"
#include "nm-default-route-manager.h"
#include "nm-setting-ip4-config.h"
@@ -47,19 +48,18 @@
#include "nm-dhcp4-config.h"
#include "nm-dhcp6-config.h"
-#define _NMLOG_PREFIX_NAME "policy"
-#define _NMLOG(level, domain, ...) \
- G_STMT_START { \
- nm_log ((level), (domain), \
- "%s" _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
- _NMLOG_PREFIX_NAME": " \
- _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
- } G_STMT_END
+/*****************************************************************************/
-typedef struct _NMPolicyPrivate NMPolicyPrivate;
+NM_GOBJECT_PROPERTIES_DEFINE (NMPolicy,
+ PROP_MANAGER,
+ PROP_SETTINGS,
+ PROP_DEFAULT_IP4_DEVICE,
+ PROP_DEFAULT_IP6_DEVICE,
+ PROP_ACTIVATING_IP4_DEVICE,
+ PROP_ACTIVATING_IP6_DEVICE,
+);
-struct _NMPolicyPrivate {
- NMPolicy *self;
+typedef struct {
NMManager *manager;
NMFirewallManager *firewall_manager;
GSList *pending_activation_checks;
@@ -88,28 +88,50 @@ struct _NMPolicyPrivate {
char *orig_hostname; /* hostname at NM start time */
char *cur_hostname; /* hostname we want to assign */
gboolean hostname_changed; /* TRUE if NM ever set the hostname */
+} NMPolicyPrivate;
+
+struct _NMPolicy {
+ GObject parent;
+ NMPolicyPrivate _priv;
};
-static NMPolicyPrivate *
-NM_POLICY_GET_PRIVATE(NMPolicy *self)
+struct _NMPolicyClass {
+ GObjectClass parent;
+};
+
+G_DEFINE_TYPE (NMPolicy, nm_policy, G_TYPE_OBJECT)
+
+#define NM_POLICY_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMPolicy, NM_IS_POLICY)
+
+static NMPolicy *
+_PRIV_TO_SELF (NMPolicyPrivate *priv)
{
+ NMPolicy *self;
+
+ nm_assert (priv);
+
+ self = (NMPolicy *) (((char *) priv) - G_STRUCT_OFFSET (NMPolicy, _priv));
+
nm_assert (NM_IS_POLICY (self));
- return self->priv;
+ return self;
}
-G_DEFINE_TYPE (NMPolicy, nm_policy, G_TYPE_OBJECT)
+/*****************************************************************************/
-NM_GOBJECT_PROPERTIES_DEFINE (NMPolicy,
- PROP_MANAGER,
- PROP_SETTINGS,
- PROP_DEFAULT_IP4_DEVICE,
- PROP_DEFAULT_IP6_DEVICE,
- PROP_ACTIVATING_IP4_DEVICE,
- PROP_ACTIVATING_IP6_DEVICE,
-);
+#define _NMLOG_PREFIX_NAME "policy"
+#define _NMLOG(level, domain, ...) \
+ G_STMT_START { \
+ nm_log ((level), (domain), \
+ "%s" _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
+ _NMLOG_PREFIX_NAME": " \
+ _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
+ } G_STMT_END
+
+/*****************************************************************************/
static void schedule_activate_all (NMPolicy *self);
+/*****************************************************************************/
static NMDevice *
get_best_ip4_device (NMPolicy *self, gboolean fully_activated)
@@ -852,7 +874,7 @@ static void
hostname_changed (NMManager *manager, GParamSpec *pspec, gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
update_system_hostname (self, NULL, NULL);
}
@@ -929,7 +951,7 @@ static void
sleeping_changed (NMManager *manager, GParamSpec *pspec, gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
gboolean sleeping = FALSE, enabled = FALSE;
g_object_get (G_OBJECT (manager), NM_MANAGER_SLEEPING, &sleeping, NULL);
@@ -1162,7 +1184,7 @@ device_state_changed (NMDevice *device,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
NMSettingsConnection *connection = nm_device_get_settings_connection (device);
@@ -1308,7 +1330,7 @@ device_ip4_config_changed (NMDevice *device,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
const char *ip_iface = nm_device_get_ip_iface (device);
nm_dns_manager_begin_updates (priv->dns_manager, __func__);
@@ -1343,7 +1365,7 @@ device_ip6_config_changed (NMDevice *device,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
const char *ip_iface = nm_device_get_ip_iface (device);
nm_dns_manager_begin_updates (priv->dns_manager, __func__);
@@ -1377,7 +1399,7 @@ device_autoconnect_changed (NMDevice *device,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
if (nm_device_autoconnect_allowed (device))
schedule_activate_check (self, device);
@@ -1387,7 +1409,7 @@ static void
device_recheck_auto_activate (NMDevice *device, gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
schedule_activate_check (self, device);
}
@@ -1417,7 +1439,7 @@ static void
device_added (NMManager *manager, NMDevice *device, gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
g_return_if_fail (NM_IS_POLICY (self));
@@ -1433,7 +1455,7 @@ static void
device_removed (NMManager *manager, NMDevice *device, gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
/* Clear any idle callbacks for this device */
clear_pending_activate_check (self, device);
@@ -1446,7 +1468,7 @@ device_removed (NMManager *manager, NMDevice *device, gpointer user_data)
*/
}
-/**************************************************************************/
+/*****************************************************************************/
static void
vpn_connection_activated (NMPolicy *self, NMVpnConnection *vpn)
@@ -1560,7 +1582,7 @@ active_connection_added (NMManager *manager,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
if (NM_IS_VPN_CONNECTION (active)) {
g_signal_connect (active, NM_VPN_CONNECTION_INTERNAL_STATE_CHANGED,
@@ -1582,7 +1604,7 @@ active_connection_removed (NMManager *manager,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
g_signal_handlers_disconnect_by_func (active,
vpn_connection_state_changed,
@@ -1595,7 +1617,7 @@ active_connection_removed (NMManager *manager,
self);
}
-/**************************************************************************/
+/*****************************************************************************/
static gboolean
schedule_activate_all_cb (gpointer user_data)
@@ -1629,7 +1651,7 @@ connection_added (NMSettings *settings,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
schedule_activate_all (self);
}
@@ -1687,7 +1709,7 @@ connection_updated (NMSettings *settings,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
const GSList *iter;
NMDevice *device = NULL;
@@ -1755,7 +1777,7 @@ connection_visibility_changed (NMSettings *settings,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
if (nm_settings_connection_is_visible (connection))
schedule_activate_all (self);
@@ -1769,7 +1791,7 @@ secret_agent_registered (NMSettings *settings,
gpointer user_data)
{
NMPolicyPrivate *priv = user_data;
- NMPolicy *self = priv->self;
+ NMPolicy *self = _PRIV_TO_SELF (priv);
/* The registered secret agent may provide some missing secrets. Thus we
* reset retries count here and schedule activation, so that the
@@ -1860,10 +1882,7 @@ set_property (GObject *object, guint prop_id,
static void
nm_policy_init (NMPolicy *self)
{
- NMPolicyPrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_POLICY, NMPolicyPrivate);
-
- self->priv = priv;
- priv->self = self;
+ NMPolicyPrivate *priv = NM_POLICY_GET_PRIVATE (self);
priv->devices = g_hash_table_new (NULL, NULL);
}
@@ -2000,8 +2019,6 @@ finalize (GObject *object)
g_hash_table_unref (priv->devices);
G_OBJECT_CLASS (nm_policy_parent_class)->finalize (object);
-
- priv->self = NULL;
}
static void
@@ -2009,8 +2026,6 @@ nm_policy_class_init (NMPolicyClass *policy_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (policy_class);
- g_type_class_add_private (policy_class, sizeof (NMPolicyPrivate));
-
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->constructed = constructed;
@@ -2049,5 +2064,6 @@ nm_policy_class_init (NMPolicyClass *policy_class)
NM_TYPE_DEVICE,
G_PARAM_READABLE |
G_PARAM_STATIC_STRINGS);
+
g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
}
diff --git a/src/nm-policy.h b/src/nm-policy.h
index ce900ba641..64cac4fe70 100644
--- a/src/nm-policy.h
+++ b/src/nm-policy.h
@@ -36,17 +36,7 @@
#define NM_POLICY_ACTIVATING_IP4_DEVICE "activating-ip4-device"
#define NM_POLICY_ACTIVATING_IP6_DEVICE "activating-ip6-device"
-struct _NMPolicyPrivate;
-
-struct _NMPolicy {
- GObject parent;
- struct _NMPolicyPrivate *priv;
-};
-
-typedef struct {
- GObjectClass parent;
-
-} NMPolicyClass;
+typedef struct _NMPolicyClass NMPolicyClass;
GType nm_policy_get_type (void);
diff --git a/src/nm-rfkill-manager.c b/src/nm-rfkill-manager.c
index 453a3b9bbb..14346c32a2 100644
--- a/src/nm-rfkill-manager.c
+++ b/src/nm-rfkill-manager.c
@@ -20,10 +20,19 @@
#include "nm-default.h"
+#include "nm-rfkill-manager.h"
+
#include <string.h>
#include <gudev/gudev.h>
-#include "nm-rfkill-manager.h"
+/*****************************************************************************/
+
+enum {
+ RFKILL_CHANGED,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
typedef struct {
GUdevClient *client;
@@ -31,21 +40,22 @@ typedef struct {
/* Authoritative rfkill state (RFKILL_* enum) */
RfKillState rfkill_states[RFKILL_TYPE_MAX];
GSList *killswitches;
-
} NMRfkillManagerPrivate;
-#define NM_RFKILL_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_RFKILL_MANAGER, NMRfkillManagerPrivate))
-
-G_DEFINE_TYPE (NMRfkillManager, nm_rfkill_manager, G_TYPE_OBJECT)
-
-enum {
- RFKILL_CHANGED,
+struct _NMRfkillManager {
+ GObject parent;
+ NMRfkillManagerPrivate _priv;
+};
- LAST_SIGNAL
+struct _NMRfkillManagerClass {
+ GObjectClass parent;
};
-static guint signals[LAST_SIGNAL] = { 0 };
+G_DEFINE_TYPE (NMRfkillManager, nm_rfkill_manager, G_TYPE_OBJECT)
+
+#define NM_RFKILL_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMRfkillManager, NM_IS_RFKILL_MANAGER)
+/*****************************************************************************/
typedef struct {
char *name;
@@ -149,12 +159,6 @@ killswitch_destroy (Killswitch *ks)
g_free (ks);
}
-NMRfkillManager *
-nm_rfkill_manager_new (void)
-{
- return NM_RFKILL_MANAGER (g_object_new (NM_TYPE_RFKILL_MANAGER, NULL));
-}
-
static RfKillState
sysfs_state_to_nm_state (gint sysfs_state)
{
@@ -358,6 +362,8 @@ handle_uevent (GUdevClient *client,
recheck_killswitches (self);
}
+/*****************************************************************************/
+
static void
nm_rfkill_manager_init (NMRfkillManager *self)
{
@@ -382,6 +388,12 @@ nm_rfkill_manager_init (NMRfkillManager *self)
recheck_killswitches (self);
}
+NMRfkillManager *
+nm_rfkill_manager_new (void)
+{
+ return NM_RFKILL_MANAGER (g_object_new (NM_TYPE_RFKILL_MANAGER, NULL));
+}
+
static void
dispose (GObject *object)
{
@@ -403,17 +415,13 @@ nm_rfkill_manager_class_init (NMRfkillManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMRfkillManagerPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
- /* Signals */
signals[RFKILL_CHANGED] =
- g_signal_new (NM_RFKILL_MANAGER_SIGNAL_RFKILL_CHANGED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMRfkillManagerClass, rfkill_changed),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
+ g_signal_new (NM_RFKILL_MANAGER_SIGNAL_RFKILL_CHANGED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
}
diff --git a/src/nm-rfkill-manager.h b/src/nm-rfkill-manager.h
index 3aca8f50b9..490c1ca28f 100644
--- a/src/nm-rfkill-manager.h
+++ b/src/nm-rfkill-manager.h
@@ -19,10 +19,8 @@
* Copyright (C) 2007 - 2013 Red Hat, Inc.
*/
-#ifndef __NETWORKMANAGER_RFKILL_MANAGER_H__
-#define __NETWORKMANAGER_RFKILL_MANAGER_H__
-
-#define NM_RFKILL_MANAGER_SIGNAL_RFKILL_CHANGED "rfkill-changed"
+#ifndef __NM_RFKILL_MANAGER_H__
+#define __NM_RFKILL_MANAGER_H__
typedef enum { /*< skip >*/
RFKILL_UNBLOCKED = 0,
@@ -42,7 +40,6 @@ typedef enum { /*< skip >*/
RFKILL_TYPE_MAX = RFKILL_TYPE_UNKNOWN
} RfKillType;
-
#define NM_TYPE_RFKILL_MANAGER (nm_rfkill_manager_get_type ())
#define NM_RFKILL_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_RFKILL_MANAGER, NMRfkillManager))
#define NM_RFKILL_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_RFKILL_MANAGER, NMRfkillManagerClass))
@@ -50,16 +47,9 @@ typedef enum { /*< skip >*/
#define NM_IS_RFKILL_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_RFKILL_MANAGER))
#define NM_RFKILL_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_RFKILL_MANAGER, NMRfkillManagerClass))
-struct _NMRfkillManager {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
+#define NM_RFKILL_MANAGER_SIGNAL_RFKILL_CHANGED "rfkill-changed"
- /* signals */
- void (*rfkill_changed) (NMRfkillManager *manager, RfKillType rtype, RfKillState state);
-} NMRfkillManagerClass;
+typedef struct _NMRfkillManagerClass NMRfkillManagerClass;
GType nm_rfkill_manager_get_type (void);
@@ -67,5 +57,4 @@ NMRfkillManager *nm_rfkill_manager_new (void);
RfKillState nm_rfkill_manager_get_rfkill_state (NMRfkillManager *manager, RfKillType rtype);
-#endif /* NM_RFKILL_MANAGER_H */
-
+#endif /* __NM_RFKILL_MANAGER_H__ */
diff --git a/src/nm-route-manager.c b/src/nm-route-manager.c
index 95113f8c84..8c97f911d0 100644
--- a/src/nm-route-manager.c
+++ b/src/nm-route-manager.c
@@ -20,9 +20,10 @@
#include "nm-default.h"
+#include "nm-route-manager.h"
+
#include <string.h>
-#include "nm-route-manager.h"
#include "nm-platform.h"
#include "nmp-object.h"
#include "nm-core-internal.h"
@@ -34,6 +35,8 @@
#define IP4_DEVICE_ROUTES_GC_INTERVAL_SEC (IP4_DEVICE_ROUTES_WAIT_TIME_NS * 2)
+/*****************************************************************************/
+
typedef struct {
guint len;
NMPlatformIPXRoute *entries[1];
@@ -58,6 +61,12 @@ typedef struct {
NMPObject *obj;
} IP4DeviceRoutePurgeEntry;
+/*****************************************************************************/
+
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_PLATFORM,
+);
+
typedef struct {
NMPlatform *platform;
@@ -69,17 +78,24 @@ typedef struct {
} ip4_device_routes;
} NMRouteManagerPrivate;
-#define NM_ROUTE_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_ROUTE_MANAGER, NMRouteManagerPrivate))
+struct _NMRouteManager {
+ GObject parent;
+ NMRouteManagerPrivate _priv;
+};
+
+struct _NMRouteManagerClass {
+ GObjectClass parent;
+};
G_DEFINE_TYPE (NMRouteManager, nm_route_manager, G_TYPE_OBJECT);
-NM_GOBJECT_PROPERTIES_DEFINE_BASE (
- PROP_PLATFORM,
-);
+#define NM_ROUTE_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMRouteManager, NM_IS_ROUTE_MANAGER)
+
+/*****************************************************************************/
NM_DEFINE_SINGLETON_GETTER (NMRouteManager, nm_route_manager_get, NM_TYPE_ROUTE_MANAGER);
-/*********************************************************************************************/
+/*****************************************************************************/
typedef struct {
const NMPlatformVTableRoute *vt;
@@ -112,7 +128,7 @@ static const VTableIP vtable_v4, vtable_v6;
return 1; \
} G_STMT_END
-/*********************************************************************************************/
+/*****************************************************************************/
#define _NMLOG_PREFIX_NAME "route-mgr"
#undef _NMLOG_ENABLED
@@ -144,11 +160,11 @@ static const VTableIP vtable_v4, vtable_v6;
} \
} G_STMT_END
-/*********************************************************************************************/
+/*****************************************************************************/
static gboolean _ip4_device_routes_cancel (NMRouteManager *self);
-/*********************************************************************************************/
+/*****************************************************************************/
#if NM_MORE_ASSERTS && !defined (G_DISABLE_ASSERT)
inline static void
@@ -202,7 +218,7 @@ ASSERT_route_index_valid (const VTableIP *vtable, const GArray *entries, const R
#define ASSERT_route_index_valid(vtable, entries, index, unique_ifindexes) G_STMT_START { (void) 0; } G_STMT_END
#endif
-/*********************************************************************************************/
+/*****************************************************************************/
static int
_v4_route_dest_cmp (const NMPlatformIP4Route *r1, const NMPlatformIP4Route *r2)
@@ -254,7 +270,7 @@ _v6_route_id_cmp (const NMPlatformIP6Route *r1, const NMPlatformIP6Route *r2)
return 0;
}
-/*********************************************************************************************/
+/*****************************************************************************/
static int
_route_index_create_sort (const NMPlatformIPXRoute **p1, const NMPlatformIPXRoute ** p2, const VTableIP *vtable)
@@ -340,7 +356,7 @@ _route_index_reverse_idx (const VTableIP *vtable, const RouteIndex *index, guint
return offset;
}
-/*********************************************************************************************/
+/*****************************************************************************/
static gboolean
_route_equals_ignoring_ifindex (const VTableIP *vtable, const NMPlatformIPXRoute *r1, const NMPlatformIPXRoute *r2, gint64 r2_metric)
@@ -431,7 +447,7 @@ _sort_indexes_cmp (guint *a, guint *b)
g_return_val_if_reached (0);
}
-/*********************************************************************************************/
+/*****************************************************************************/
static gboolean
_vx_route_sync (const VTableIP *vtable, NMRouteManager *self, int ifindex, const GArray *known_routes, gboolean ignore_kernel_routes, gboolean full_sync)
@@ -951,7 +967,7 @@ nm_route_manager_route_flush (NMRouteManager *self, int ifindex)
return success;
}
-/*********************************************************************************************/
+/*****************************************************************************/
static gboolean
_ip4_device_routes_entry_expired (const IP4DeviceRoutePurgeEntry *entry, gint64 now)
@@ -1126,7 +1142,7 @@ nm_route_manager_ip4_route_register_device_route_purge_list (NMRouteManager *sel
}
}
-/*********************************************************************************************/
+/*****************************************************************************/
static const VTableIP vtable_v4 = {
.vt = &nm_platform_vtable_route_v4,
@@ -1140,7 +1156,7 @@ static const VTableIP vtable_v6 = {
.route_id_cmp = (int (*) (const NMPlatformIPXRoute *, const NMPlatformIPXRoute *)) _v6_route_id_cmp,
};
-/*********************************************************************************************/
+/*****************************************************************************/
static void
set_property (GObject *object, guint prop_id,
@@ -1163,6 +1179,8 @@ set_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
static void
nm_route_manager_init (NMRouteManager *self)
{
@@ -1194,7 +1212,7 @@ static void
dispose (GObject *object)
{
NMRouteManager *self = NM_ROUTE_MANAGER (object);
- NMRouteManagerPrivate *priv = NM_ROUTE_MANAGER_GET_PRIVATE (object);
+ NMRouteManagerPrivate *priv = NM_ROUTE_MANAGER_GET_PRIVATE (self);
g_hash_table_remove_all (priv->ip4_device_routes.entries);
_ip4_device_routes_cancel (self);
@@ -1205,7 +1223,7 @@ dispose (GObject *object)
static void
finalize (GObject *object)
{
- NMRouteManagerPrivate *priv = NM_ROUTE_MANAGER_GET_PRIVATE (object);
+ NMRouteManagerPrivate *priv = NM_ROUTE_MANAGER_GET_PRIVATE ((NMRouteManager *) object);
g_array_free (priv->ip4_routes.entries, TRUE);
g_array_free (priv->ip6_routes.entries, TRUE);
@@ -1228,9 +1246,6 @@ nm_route_manager_class_init (NMRouteManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMRouteManagerPrivate));
-
- /* virtual methods */
object_class->set_property = set_property;
object_class->dispose = dispose;
object_class->finalize = finalize;
diff --git a/src/nm-route-manager.h b/src/nm-route-manager.h
index 8e2746d93e..d12f025603 100644
--- a/src/nm-route-manager.h
+++ b/src/nm-route-manager.h
@@ -18,8 +18,8 @@
* Copyright (C) 2015 Red Hat, Inc.
*/
-#ifndef __NETWORKMANAGER_ROUTE_MANAGER_H__
-#define __NETWORKMANAGER_ROUTE_MANAGER_H__
+#ifndef __NM_ROUTE_MANAGER_H__
+#define __NM_ROUTE_MANAGER_H__
#define NM_TYPE_ROUTE_MANAGER (nm_route_manager_get_type ())
#define NM_ROUTE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_ROUTE_MANAGER, NMRouteManager))
@@ -30,13 +30,7 @@
#define NM_ROUTE_MANAGER_PLATFORM "platform"
-struct _NMRouteManager {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-} NMRouteManagerClass;
+typedef struct _NMRouteManagerClass NMRouteManagerClass;
GType nm_route_manager_get_type (void);
@@ -49,4 +43,4 @@ void nm_route_manager_ip4_route_register_device_route_purge_list (NMRouteManager
NMRouteManager *nm_route_manager_get (void);
NMRouteManager *nm_route_manager_new (NMPlatform *platform);
-#endif /* NM_ROUTE_MANAGER_H */
+#endif /* __NM_ROUTE_MANAGER_H__ */
diff --git a/src/nm-session-monitor.c b/src/nm-session-monitor.c
index 279a888672..8f2955daa0 100644
--- a/src/nm-session-monitor.c
+++ b/src/nm-session-monitor.c
@@ -21,29 +21,30 @@
*/
#include "nm-default.h"
+#include "nm-session-monitor.h"
+
#include <pwd.h>
#include <errno.h>
#include <string.h>
#include <sys/stat.h>
-#include "nm-session-monitor.h"
-#include "NetworkManagerUtils.h"
-
#ifdef SESSION_TRACKING_SYSTEMD
#include <systemd/sd-login.h>
#endif
-/********************************************************************/
+#include "NetworkManagerUtils.h"
+
+/*****************************************************************************/
+
+enum {
+ CHANGED,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
-/* <internal>
- * SECTION:nm-session-monitor
- * @title: NMSessionMonitor
- * @short_description: Monitor sessions
- *
- * The #NMSessionMonitor class is a utility class to track and monitor sessions.
- */
struct _NMSessionMonitor {
- GObject parent_instance;
+ GObject parent;
#ifdef SESSION_TRACKING_SYSTEMD
struct {
@@ -62,21 +63,12 @@ struct _NMSessionMonitor {
};
struct _NMSessionMonitorClass {
- GObjectClass parent_class;
-
- void (*changed) (NMSessionMonitor *monitor);
+ GObjectClass parent;
};
G_DEFINE_TYPE (NMSessionMonitor, nm_session_monitor, G_TYPE_OBJECT);
-enum {
- CHANGED,
- LAST_SIGNAL,
-};
-
-static guint signals[LAST_SIGNAL] = { 0 };
-
-/********************************************************************/
+/*****************************************************************************/
#ifdef SESSION_TRACKING_SYSTEMD
static gboolean
@@ -136,7 +128,7 @@ st_sd_finalize (NMSessionMonitor *monitor)
}
#endif /* SESSION_TRACKING_SYSTEMD */
-/********************************************************************/
+/*****************************************************************************/
#ifdef SESSION_TRACKING_CONSOLEKIT
typedef struct {
@@ -274,7 +266,7 @@ ck_finalize (NMSessionMonitor *monitor)
}
#endif /* SESSION_TRACKING_CONSOLEKIT */
-/********************************************************************/
+/*****************************************************************************/
NM_DEFINE_SINGLETON_GETTER (NMSessionMonitor, nm_session_monitor_get, NM_TYPE_SESSION_MONITOR);
@@ -356,7 +348,7 @@ nm_session_monitor_session_exists (NMSessionMonitor *self,
return FALSE;
}
-/********************************************************************/
+/*****************************************************************************/
static void
nm_session_monitor_init (NMSessionMonitor *monitor)
@@ -371,7 +363,7 @@ nm_session_monitor_init (NMSessionMonitor *monitor)
}
static void
-nm_session_monitor_finalize (GObject *object)
+finalize (GObject *object)
{
#ifdef SESSION_TRACKING_SYSTEMD
st_sd_finalize (NM_SESSION_MONITOR (object));
@@ -381,8 +373,7 @@ nm_session_monitor_finalize (GObject *object)
ck_finalize (NM_SESSION_MONITOR (object));
#endif
- if (G_OBJECT_CLASS (nm_session_monitor_parent_class)->finalize != NULL)
- G_OBJECT_CLASS (nm_session_monitor_parent_class)->finalize (object);
+ G_OBJECT_CLASS (nm_session_monitor_parent_class)->finalize (object);
}
static void
@@ -390,7 +381,7 @@ nm_session_monitor_class_init (NMSessionMonitorClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = nm_session_monitor_finalize;
+ gobject_class->finalize = finalize;
/**
* NMSessionMonitor::changed:
@@ -399,12 +390,10 @@ nm_session_monitor_class_init (NMSessionMonitorClass *klass)
* Emitted when something changes.
*/
signals[CHANGED] = g_signal_new (NM_SESSION_MONITOR_CHANGED,
- NM_TYPE_SESSION_MONITOR,
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMSessionMonitorClass, changed),
- NULL, /* accumulator */
- NULL, /* accumulator data */
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE,
- 0);
+ NM_TYPE_SESSION_MONITOR,
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
}
diff --git a/src/nm-session-monitor.h b/src/nm-session-monitor.h
index 3751d7db4c..d3d10e98b2 100644
--- a/src/nm-session-monitor.h
+++ b/src/nm-session-monitor.h
@@ -30,19 +30,16 @@
#define NM_SESSION_MONITOR_CHANGED "changed"
-typedef struct _NMSessionMonitorClass NMSessionMonitorClass;
+typedef struct _NMSessionMonitorClass NMSessionMonitorClass;
-typedef void (*NMSessionCallback) (NMSessionMonitor *monitor, gpointer user_data);
-
-GType nm_session_monitor_get_type (void) G_GNUC_CONST;
+GType nm_session_monitor_get_type (void) G_GNUC_CONST;
NMSessionMonitor *nm_session_monitor_get (void);
-gboolean nm_session_monitor_uid_to_user (uid_t uid, const char **out_user);
-gboolean nm_session_monitor_user_to_uid (const char *user, uid_t *out_uid);
-gboolean nm_session_monitor_session_exists (NMSessionMonitor *self,
- uid_t uid,
- gboolean active);
+gboolean nm_session_monitor_uid_to_user (uid_t uid, const char **out_user);
+gboolean nm_session_monitor_user_to_uid (const char *user, uid_t *out_uid);
+gboolean nm_session_monitor_session_exists (NMSessionMonitor *self,
+ uid_t uid,
+ gboolean active);
#endif /* __NETWORKMANAGER_SESSION_MONITOR_H__ */
-
diff --git a/src/nm-sleep-monitor.c b/src/nm-sleep-monitor.c
index 13ce1be000..ccb99e76ed 100644
--- a/src/nm-sleep-monitor.c
+++ b/src/nm-sleep-monitor.c
@@ -64,8 +64,17 @@
#endif
+/*****************************************************************************/
+
+enum {
+ SLEEPING,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = {0};
+
struct _NMSleepMonitor {
- GObject parent_instance;
+ GObject parent;
GDBusProxy *proxy;
@@ -81,19 +90,11 @@ struct _NMSleepMonitor {
};
struct _NMSleepMonitorClass {
- GObjectClass parent_class;
+ GObjectClass parent;
};
-enum {
- SLEEPING,
- LAST_SIGNAL,
-};
-static guint signals[LAST_SIGNAL] = {0};
-
G_DEFINE_TYPE (NMSleepMonitor, nm_sleep_monitor, G_TYPE_OBJECT);
-static void sleep_signal (NMSleepMonitor *self, gboolean is_about_to_suspend);
-
/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_SUSPEND
@@ -107,6 +108,10 @@ static void sleep_signal (NMSleepMonitor *self, gboolean is_about_to_suspend);
/*****************************************************************************/
+static void sleep_signal (NMSleepMonitor *self, gboolean is_about_to_suspend);
+
+/*****************************************************************************/
+
#if USE_UPOWER
static void
@@ -337,6 +342,8 @@ on_proxy_acquired (GObject *object,
#endif
}
+/*****************************************************************************/
+
static void
nm_sleep_monitor_init (NMSleepMonitor *self)
{
diff --git a/src/nm-sleep-monitor.h b/src/nm-sleep-monitor.h
index d54aebbcf1..350f1eec76 100644
--- a/src/nm-sleep-monitor.h
+++ b/src/nm-sleep-monitor.h
@@ -29,10 +29,11 @@
#define NM_SLEEP_MONITOR_SLEEPING "sleeping"
-typedef struct _NMSleepMonitorClass NMSleepMonitorClass;
+typedef struct _NMSleepMonitorClass NMSleepMonitorClass;
-GType nm_sleep_monitor_get_type (void) G_GNUC_CONST;
-NMSleepMonitor *nm_sleep_monitor_new (void);
+GType nm_sleep_monitor_get_type (void) G_GNUC_CONST;
+
+NMSleepMonitor *nm_sleep_monitor_new (void);
typedef struct _NMSleepMonitorInhibitorHandle NMSleepMonitorInhibitorHandle;
diff --git a/src/nm-types.h b/src/nm-types.h
index 1fbf043e7a..8d8c02af61 100644
--- a/src/nm-types.h
+++ b/src/nm-types.h
@@ -51,6 +51,7 @@ typedef struct _NMRouteManager NMRouteManager;
typedef struct _NMSessionMonitor NMSessionMonitor;
typedef struct _NMSleepMonitor NMSleepMonitor;
typedef struct _NMLldpListener NMLldpListener;
+typedef struct _NMConfigDeviceStateData NMConfigDeviceStateData;
typedef enum {
/* In priority order; higher number == higher priority */
diff --git a/src/platform/nm-fake-platform.c b/src/platform/nm-fake-platform.c
index 8a4f69b69e..3726518bf5 100644
--- a/src/platform/nm-fake-platform.c
+++ b/src/platform/nm-fake-platform.c
@@ -36,7 +36,39 @@
#include "nm-test-utils-core.h"
-/*********************************************************************************************/
+/*****************************************************************************/
+
+typedef struct {
+ NMPlatformLink link;
+
+ char *udi;
+ NMPObject *lnk;
+ struct in6_addr ip6_lladdr;
+} NMFakePlatformLink;
+
+typedef struct {
+ GHashTable *options;
+ GArray *links;
+ GArray *ip4_addresses;
+ GArray *ip6_addresses;
+ GArray *ip4_routes;
+ GArray *ip6_routes;
+} NMFakePlatformPrivate;
+
+struct _NMFakePlatform {
+ NMPlatform parent;
+ NMFakePlatformPrivate _priv;
+};
+
+struct _NMFakePlatformClass {
+ NMPlatformClass parent;
+};
+
+G_DEFINE_TYPE (NMFakePlatform, nm_fake_platform, NM_TYPE_PLATFORM)
+
+#define NM_FAKE_PLATFORM_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMFakePlatform, NM_IS_FAKE_PLATFORM)
+
+/*****************************************************************************/
#define _NMLOG_PREFIX_NAME "platform-fake"
#define _NMLOG_DOMAIN LOGD_PLATFORM
@@ -62,30 +94,7 @@
} \
} G_STMT_END
-/*********************************************************************************************/
-
-typedef struct {
- GHashTable *options;
- GArray *links;
- GArray *ip4_addresses;
- GArray *ip6_addresses;
- GArray *ip4_routes;
- GArray *ip6_routes;
-} NMFakePlatformPrivate;
-
-typedef struct {
- NMPlatformLink link;
-
- char *udi;
- NMPObject *lnk;
- struct in6_addr ip6_lladdr;
-} NMFakePlatformLink;
-
-#define NM_FAKE_PLATFORM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_FAKE_PLATFORM, NMFakePlatformPrivate))
-
-G_DEFINE_TYPE (NMFakePlatform, nm_fake_platform, NM_TYPE_PLATFORM)
-
-/******************************************************************/
+/*****************************************************************************/
static void link_changed (NMPlatform *platform, NMFakePlatformLink *device, gboolean raise_signal);
@@ -99,7 +108,7 @@ static gboolean ip6_address_add (NMPlatform *platform,
guint flags);
static gboolean ip6_address_delete (NMPlatform *platform, int ifindex, struct in6_addr addr, guint8 plen);
-/******************************************************************/
+/*****************************************************************************/
static gboolean
_ip4_address_equal_peer_net (in_addr_t peer1, in_addr_t peer2, guint8 plen)
@@ -107,12 +116,12 @@ _ip4_address_equal_peer_net (in_addr_t peer1, in_addr_t peer2, guint8 plen)
return ((peer1 ^ peer2) & nm_utils_ip4_prefix_to_netmask (plen)) == 0;
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
sysctl_set (NMPlatform *platform, const char *path, const char *value)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
g_hash_table_insert (priv->options, g_strdup (path), g_strdup (value));
@@ -122,7 +131,7 @@ sysctl_set (NMPlatform *platform, const char *path, const char *value)
static char *
sysctl_get (NMPlatform *platform, const char *path)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
return g_strdup (g_hash_table_lookup (priv->options, path));
}
@@ -186,7 +195,7 @@ link_init (NMFakePlatformLink *device, int ifindex, int type, const char *name)
static NMFakePlatformLink *
link_get (NMPlatform *platform, int ifindex)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
NMFakePlatformLink *device;
if (ifindex >= priv->links->len)
@@ -204,7 +213,7 @@ not_found:
static GArray *
link_get_all (NMPlatform *platform)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
GArray *links = g_array_sized_new (TRUE, TRUE, sizeof (NMPlatformLink), priv->links->len);
int i;
@@ -226,7 +235,7 @@ _nm_platform_link_get (NMPlatform *platform, int ifindex)
static const NMPlatformLink *
_nm_platform_link_get_by_ifname (NMPlatform *platform, const char *ifname)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
guint i;
for (i = 0; i < priv->links->len; i++) {
@@ -243,7 +252,7 @@ _nm_platform_link_get_by_address (NMPlatform *platform,
gconstpointer address,
size_t length)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
guint i;
if ( length == 0
@@ -296,7 +305,7 @@ link_add (NMPlatform *platform,
size_t address_len,
const NMPlatformLink **out_link)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
NMFakePlatformLink device;
NMFakePlatformLink *new_device;
@@ -325,7 +334,7 @@ link_add (NMPlatform *platform,
static gboolean
link_delete (NMPlatform *platform, int ifindex)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
NMFakePlatformLink *device = link_get (platform, ifindex);
NMPlatformLink deleted_device;
int i;
@@ -378,7 +387,7 @@ link_get_type_name (NMPlatform *platform, int ifindex)
static void
link_changed (NMPlatform *platform, NMFakePlatformLink *device, gboolean raise_signal)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
int i;
if (raise_signal)
@@ -839,12 +848,12 @@ mesh_set_ssid (NMPlatform *platform, int ifindex, const guint8 *ssid, gsize len)
return FALSE;
}
-/******************************************************************/
+/*****************************************************************************/
static GArray *
ip4_address_get_all (NMPlatform *platform, int ifindex)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
GArray *addresses;
NMPlatformIP4Address *address;
int count = 0, i;
@@ -871,7 +880,7 @@ ip4_address_get_all (NMPlatform *platform, int ifindex)
static GArray *
ip6_address_get_all (NMPlatform *platform, int ifindex)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
GArray *addresses;
NMPlatformIP6Address *address;
int count = 0, i;
@@ -907,7 +916,7 @@ ip4_address_add (NMPlatform *platform,
guint32 flags,
const char *label)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
NMPlatformIP4Address address;
int i;
@@ -958,7 +967,7 @@ ip6_address_add (NMPlatform *platform,
guint32 preferred,
guint32 flags)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
NMPlatformIP6Address address;
int i;
@@ -998,7 +1007,7 @@ ip6_address_add (NMPlatform *platform,
static gboolean
ip4_address_delete (NMPlatform *platform, int ifindex, in_addr_t addr, guint8 plen, in_addr_t peer_address)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
int i;
for (i = 0; i < priv->ip4_addresses->len; i++) {
@@ -1023,7 +1032,7 @@ ip4_address_delete (NMPlatform *platform, int ifindex, in_addr_t addr, guint8 pl
static gboolean
ip6_address_delete (NMPlatform *platform, int ifindex, struct in6_addr addr, guint8 plen)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
int i;
for (i = 0; i < priv->ip6_addresses->len; i++) {
@@ -1047,7 +1056,7 @@ ip6_address_delete (NMPlatform *platform, int ifindex, struct in6_addr addr, gui
static const NMPlatformIP4Address *
ip4_address_get (NMPlatform *platform, int ifindex, in_addr_t addr, guint8 plen, in_addr_t peer_address)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
int i;
for (i = 0; i < priv->ip4_addresses->len; i++) {
@@ -1066,7 +1075,7 @@ ip4_address_get (NMPlatform *platform, int ifindex, in_addr_t addr, guint8 plen,
static const NMPlatformIP6Address *
ip6_address_get (NMPlatform *platform, int ifindex, struct in6_addr addr, guint8 plen)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
int i;
for (i = 0; i < priv->ip6_addresses->len; i++) {
@@ -1081,12 +1090,12 @@ ip6_address_get (NMPlatform *platform, int ifindex, struct in6_addr addr, guint8
return NULL;
}
-/******************************************************************/
+/*****************************************************************************/
static GArray *
ip4_route_get_all (NMPlatform *platform, int ifindex, NMPlatformGetRouteFlags flags)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
GArray *routes;
NMPlatformIP4Route *route;
guint i;
@@ -1116,7 +1125,7 @@ ip4_route_get_all (NMPlatform *platform, int ifindex, NMPlatformGetRouteFlags fl
static GArray *
ip6_route_get_all (NMPlatform *platform, int ifindex, NMPlatformGetRouteFlags flags)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
GArray *routes;
NMPlatformIP6Route *route;
guint i;
@@ -1146,7 +1155,7 @@ ip6_route_get_all (NMPlatform *platform, int ifindex, NMPlatformGetRouteFlags fl
static gboolean
ip4_route_delete (NMPlatform *platform, int ifindex, in_addr_t network, guint8 plen, guint32 metric)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
int i;
for (i = 0; i < priv->ip4_routes->len; i++) {
@@ -1170,7 +1179,7 @@ ip4_route_delete (NMPlatform *platform, int ifindex, in_addr_t network, guint8 p
static gboolean
ip6_route_delete (NMPlatform *platform, int ifindex, struct in6_addr network, guint8 plen, guint32 metric)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
int i;
metric = nm_utils_ip6_route_metric_normalize (metric);
@@ -1198,7 +1207,7 @@ ip4_route_add (NMPlatform *platform, int ifindex, NMIPConfigSource source,
in_addr_t network, guint8 plen, in_addr_t gateway,
in_addr_t pref_src, guint32 metric, guint32 mss)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
NMPlatformIP4Route route;
guint i;
guint8 scope;
@@ -1266,7 +1275,7 @@ ip6_route_add (NMPlatform *platform, int ifindex, NMIPConfigSource source,
struct in6_addr network, guint8 plen, struct in6_addr gateway,
guint32 metric, guint32 mss)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
NMPlatformIP6Route route;
guint i;
@@ -1330,7 +1339,7 @@ ip6_route_add (NMPlatform *platform, int ifindex, NMIPConfigSource source,
static const NMPlatformIP4Route *
ip4_route_get (NMPlatform *platform, int ifindex, in_addr_t network, guint8 plen, guint32 metric)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
int i;
for (i = 0; i < priv->ip4_routes->len; i++) {
@@ -1349,7 +1358,7 @@ ip4_route_get (NMPlatform *platform, int ifindex, in_addr_t network, guint8 plen
static const NMPlatformIP6Route *
ip6_route_get (NMPlatform *platform, int ifindex, struct in6_addr network, guint8 plen, guint32 metric)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (platform);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) platform);
int i;
metric = nm_utils_ip6_route_metric_normalize (metric);
@@ -1367,7 +1376,7 @@ ip6_route_get (NMPlatform *platform, int ifindex, struct in6_addr network, guint
return NULL;
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_fake_platform_init (NMFakePlatform *fake_platform)
@@ -1404,9 +1413,9 @@ nm_fake_platform_setup (void)
}
static void
-nm_fake_platform_finalize (GObject *object)
+finalize (GObject *object)
{
- NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE (object);
+ NMFakePlatformPrivate *priv = NM_FAKE_PLATFORM_GET_PRIVATE ((NMFakePlatform *) object);
int i;
g_hash_table_unref (priv->options);
@@ -1431,10 +1440,7 @@ nm_fake_platform_class_init (NMFakePlatformClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMPlatformClass *platform_class = NM_PLATFORM_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMFakePlatformPrivate));
-
- /* virtual methods */
- object_class->finalize = nm_fake_platform_finalize;
+ object_class->finalize = finalize;
platform_class->sysctl_set = sysctl_set;
platform_class->sysctl_get = sysctl_get;
diff --git a/src/platform/nm-fake-platform.h b/src/platform/nm-fake-platform.h
index 53a2ff1a6a..8f42d11a40 100644
--- a/src/platform/nm-fake-platform.h
+++ b/src/platform/nm-fake-platform.h
@@ -30,17 +30,8 @@
#define NM_IS_FAKE_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_FAKE_PLATFORM))
#define NM_FAKE_PLATFORM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_FAKE_PLATFORM, NMFakePlatformClass))
-/******************************************************************/
-
-typedef struct {
- NMPlatform parent;
-} NMFakePlatform;
-
-typedef struct {
- NMPlatformClass parent;
-} NMFakePlatformClass;
-
-/******************************************************************/
+typedef struct _NMFakePlatform NMFakePlatform;
+typedef struct _NMFakePlatformClass NMFakePlatformClass;
GType nm_fake_platform_get_type (void);
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index cedc220a75..9a22f02910 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -62,11 +62,11 @@
/* nm-internal error codes for libnl. Make sure they don't overlap. */
#define _NLE_NM_NOBUFS 500
-/*********************************************************************************************/
+/*****************************************************************************/
#define IFQDISCSIZ 32
-/*********************************************************************************************/
+/*****************************************************************************/
#ifndef IFLA_PROMISCUITY
#define IFLA_PROMISCUITY 30
@@ -114,7 +114,7 @@
#define IP6_FLOWINFO_TCLASS_SHIFT 20
#define IP6_FLOWINFO_FLOWLABEL_MASK 0x000FFFFF
-/*********************************************************************************************/
+/*****************************************************************************/
#define _NMLOG_PREFIX_NAME "platform-linux"
#define _NMLOG_DOMAIN LOGD_PLATFORM
@@ -550,7 +550,7 @@ _addrtime_get_lifetimes (guint32 timestamp,
*out_preferred = preferred;
}
-/******************************************************************/
+/*****************************************************************************/
static const NMPObject *
_lookup_cached_link (const NMPCache *cache, int ifindex, gboolean *completed_from_cache, const NMPObject **link_cached)
@@ -571,7 +571,7 @@ _lookup_cached_link (const NMPCache *cache, int ifindex, gboolean *completed_fro
return *link_cached;
}
-/******************************************************************/
+/*****************************************************************************/
#define DEVTYPE_PREFIX "DEVTYPE="
@@ -1975,7 +1975,7 @@ nmp_object_new_from_nl (NMPlatform *platform, const NMPCache *cache, struct nl_m
}
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
_nl_msg_new_link_set_afspec (struct nl_msg *msg,
@@ -2352,7 +2352,7 @@ nla_put_failure:
g_return_val_if_reached (NULL);
}
-/******************************************************************/
+/*****************************************************************************/
static int _support_kernel_extended_ifa_flags = -1;
@@ -2404,9 +2404,7 @@ typedef struct {
gint *out_refresh_all_in_progess;
} DelayedActionWaitForNlResponseData;
-typedef struct _NMLinuxPlatformPrivate NMLinuxPlatformPrivate;
-
-struct _NMLinuxPlatformPrivate {
+typedef struct {
struct nl_sock *nlh;
guint32 nlh_seq_next;
#ifdef NM_MORE_LOGGING
@@ -2441,18 +2439,27 @@ struct _NMLinuxPlatformPrivate {
GHashTable *prune_candidates;
GHashTable *wifi_data;
+} NMLinuxPlatformPrivate;
+
+struct _NMLinuxPlatform {
+ NMPlatform parent;
+ NMLinuxPlatformPrivate _priv;
};
+struct _NMLinuxPlatformClass {
+ NMPlatformClass parent;
+};
+
+G_DEFINE_TYPE (NMLinuxPlatform, nm_linux_platform, NM_TYPE_PLATFORM)
+
static inline NMLinuxPlatformPrivate *
NM_LINUX_PLATFORM_GET_PRIVATE (const void *self)
{
nm_assert (NM_IS_LINUX_PLATFORM (self));
- return ((NMLinuxPlatform *) self)->priv;
+ return &(((NMLinuxPlatform *) self)->_priv);
}
-G_DEFINE_TYPE (NMLinuxPlatform, nm_linux_platform, NM_TYPE_PLATFORM)
-
NMPlatform *
nm_linux_platform_new (gboolean netns_support)
{
@@ -2471,7 +2478,7 @@ nm_linux_platform_setup (void)
NULL);
}
-/******************************************************************/
+/*****************************************************************************/
static void
_assert_netns_current (NMPlatform *platform)
@@ -2703,7 +2710,7 @@ sysctl_get (NMPlatform *platform, const char *path)
return contents;
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
check_support_kernel_extended_ifa_flags (NMPlatform *platform)
@@ -2727,14 +2734,14 @@ process_events (NMPlatform *platform)
delayed_action_handle_all (platform, TRUE);
}
-/******************************************************************/
+/*****************************************************************************/
#define cache_lookup_all_objects(type, platform, obj_type, visible_only) \
((const type *const*) nmp_cache_lookup_multi (NM_LINUX_PLATFORM_GET_PRIVATE ((platform))->cache, \
nmp_cache_id_init_object_type (NMP_CACHE_ID_STATIC, (obj_type), (visible_only)), \
NULL))
-/******************************************************************/
+/*****************************************************************************/
static void
do_emit_signal (NMPlatform *platform, const NMPObject *obj, NMPCacheOpsType cache_op, gboolean was_visible)
@@ -2804,7 +2811,7 @@ do_emit_signal (NMPlatform *platform, const NMPObject *obj, NMPCacheOpsType cach
(NMPlatformSignalChangeType) cache_op);
}
-/******************************************************************/
+/*****************************************************************************/
_NM_UTILS_LOOKUP_DEFINE (static, delayed_action_refresh_from_object_type, NMPObjectType, DelayedActionType,
NM_UTILS_LOOKUP_DEFAULT_NM_ASSERT (DELAYED_ACTION_TYPE_NONE),
@@ -3163,7 +3170,7 @@ delayed_action_schedule_WAIT_FOR_NL_RESPONSE (NMPlatform *platform,
&data);
}
-/******************************************************************/
+/*****************************************************************************/
static void
cache_prune_candidates_record_all (NMPlatform *platform, NMPObjectType obj_type)
@@ -3509,7 +3516,7 @@ cache_post (NMPlatform *platform,
}
}
-/******************************************************************/
+/*****************************************************************************/
static int
_nl_send_auto_with_seq (NMPlatform *platform,
@@ -3771,7 +3778,7 @@ event_valid_msg (NMPlatform *platform, struct nl_msg *msg, gboolean handle_event
cache_prune_candidates_drop (platform, obj_cache);
}
-/******************************************************************/
+/*****************************************************************************/
static const NMPObject *
cache_lookup_link (NMPlatform *platform, int ifindex)
@@ -5224,7 +5231,7 @@ link_release (NMPlatform *platform, int master, int slave)
return link_enslave (platform, 0, slave);
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
_infiniband_partition_action (NMPlatform *platform,
@@ -5290,7 +5297,7 @@ infiniband_partition_delete (NMPlatform *platform, int parent, int p_key)
return _infiniband_partition_action (platform, INFINIBAND_ACTION_DELETE_CHILD, parent, p_key, NULL);
}
-/******************************************************************/
+/*****************************************************************************/
static WifiData *
wifi_get_wifi_data (NMPlatform *platform, int ifindex)
@@ -5421,7 +5428,7 @@ wifi_indicate_addressing_running (NMPlatform *platform, int ifindex, gboolean ru
wifi_utils_indicate_addressing_running (wifi_data, running);
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
link_can_assume (NMPlatform *platform, int ifindex)
@@ -5464,7 +5471,7 @@ link_can_assume (NMPlatform *platform, int ifindex)
return FALSE;
}
-/******************************************************************/
+/*****************************************************************************/
static guint32
mesh_get_channel (NMPlatform *platform, int ifindex)
@@ -5487,7 +5494,7 @@ mesh_set_ssid (NMPlatform *platform, int ifindex, const guint8 *ssid, gsize len)
return wifi_utils_set_mesh_ssid (wifi_data, ssid, len);
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
link_get_wake_on_lan (NMPlatform *platform, int ifindex)
@@ -5529,7 +5536,7 @@ link_get_driver_info (NMPlatform *platform,
out_fw_version);
}
-/******************************************************************/
+/*****************************************************************************/
static GArray *
ipx_address_get_all (NMPlatform *platform, int ifindex, NMPObjectType obj_type)
@@ -5694,7 +5701,7 @@ ip6_address_get (NMPlatform *platform, int ifindex, struct in6_addr addr, guint8
return NULL;
}
-/******************************************************************/
+/*****************************************************************************/
static GArray *
ipx_route_get_all (NMPlatform *platform, int ifindex, NMPObjectType obj_type, NMPlatformGetRouteFlags flags)
@@ -5909,7 +5916,7 @@ ip6_route_get (NMPlatform *platform, int ifindex, struct in6_addr network, guint
return NULL;
}
-/******************************************************************/
+/*****************************************************************************/
#define EVENT_CONDITIONS ((GIOCondition) (G_IO_IN | G_IO_PRI))
#define ERROR_CONDITIONS ((GIOCondition) (G_IO_ERR | G_IO_NVAL))
@@ -6236,7 +6243,7 @@ after_read:
}
}
-/******************************************************************/
+/*****************************************************************************/
static void
cache_update_link_udev (NMPlatform *platform, int ifindex, GUdevDevice *udev_device)
@@ -6352,19 +6359,17 @@ handle_udev_event (GUdevClient *client,
udev_device_removed (platform, udev_device);
}
-/******************************************************************/
+/*****************************************************************************/
static void
nm_linux_platform_init (NMLinuxPlatform *self)
{
- NMLinuxPlatformPrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_LINUX_PLATFORM, NMLinuxPlatformPrivate);
+ NMLinuxPlatformPrivate *priv = NM_LINUX_PLATFORM_GET_PRIVATE (self);
gboolean use_udev;
use_udev = nmp_netns_is_initial ()
&& access ("/sys", W_OK) == 0;
- self->priv = priv;
-
priv->nlh_seq_next = 1;
priv->cache = nmp_cache_new (use_udev);
priv->delayed_action.list_master_connected = g_ptr_array_new ();
@@ -6496,7 +6501,7 @@ dispose (GObject *object)
}
static void
-nm_linux_platform_finalize (GObject *object)
+finalize (GObject *object)
{
NMLinuxPlatformPrivate *priv = NM_LINUX_PLATFORM_GET_PRIVATE (object);
@@ -6506,7 +6511,6 @@ nm_linux_platform_finalize (GObject *object)
g_ptr_array_unref (priv->delayed_action.list_refresh_link);
g_array_unref (priv->delayed_action.list_wait_for_nl_response);
- /* Free netlink resources */
g_source_remove (priv->event_id);
g_io_channel_unref (priv->event_channel);
nl_socket_free (priv->nlh);
@@ -6521,20 +6525,15 @@ nm_linux_platform_finalize (GObject *object)
G_OBJECT_CLASS (nm_linux_platform_parent_class)->finalize (object);
}
-#define OVERRIDE(function) platform_class->function = function
-
static void
nm_linux_platform_class_init (NMLinuxPlatformClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMPlatformClass *platform_class = NM_PLATFORM_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMLinuxPlatformPrivate));
-
- /* virtual methods */
object_class->constructed = constructed;
object_class->dispose = dispose;
- object_class->finalize = nm_linux_platform_finalize;
+ object_class->finalize = finalize;
platform_class->sysctl_set = sysctl_set;
platform_class->sysctl_get = sysctl_get;
diff --git a/src/platform/nm-linux-platform.h b/src/platform/nm-linux-platform.h
index 3b2a440e52..b3272aae68 100644
--- a/src/platform/nm-linux-platform.h
+++ b/src/platform/nm-linux-platform.h
@@ -30,21 +30,8 @@
#define NM_IS_LINUX_PLATFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_LINUX_PLATFORM))
#define NM_LINUX_PLATFORM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_LINUX_PLATFORM, NMLinuxPlatformClass))
-/******************************************************************/
-
-struct _NMLinuxPlatformPrivate;
-
-typedef struct {
- NMPlatform parent;
-
- struct _NMLinuxPlatformPrivate *priv;
-} NMLinuxPlatform;
-
-typedef struct {
- NMPlatformClass parent;
-} NMLinuxPlatformClass;
-
-/******************************************************************/
+typedef struct _NMLinuxPlatform NMLinuxPlatform;
+typedef struct _NMLinuxPlatformClass NMLinuxPlatformClass;
GType nm_linux_platform_get_type (void);
diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c
index 9dace69984..342736cf0f 100644
--- a/src/platform/nm-platform.c
+++ b/src/platform/nm-platform.c
@@ -80,10 +80,6 @@ G_STATIC_ASSERT (G_STRUCT_OFFSET (NMPlatformIPRoute, network_ptr) == G_STRUCT_OF
/*****************************************************************************/
-#define NM_PLATFORM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_PLATFORM, NMPlatformPrivate))
-
-G_DEFINE_TYPE (NMPlatform, nm_platform, G_TYPE_OBJECT)
-
static guint signals[_NM_PLATFORM_SIGNAL_ID_LAST] = { 0 };
enum {
@@ -93,11 +89,15 @@ enum {
LAST_PROP,
};
-typedef struct {
- gboolean register_singleton;
+typedef struct _NMPlatformPrivate {
+ bool register_singleton:1;
} NMPlatformPrivate;
-/******************************************************************/
+G_DEFINE_TYPE (NMPlatform, nm_platform, G_TYPE_OBJECT)
+
+#define NM_PLATFORM_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR (self, NMPlatform, NM_IS_PLATFORM)
+
+/*****************************************************************************/
guint
_nm_platform_signal_id_get (NMPlatformSignalIdType signal_type)
@@ -109,7 +109,7 @@ _nm_platform_signal_id_get (NMPlatformSignalIdType signal_type)
return signals[signal_type];
}
-/******************************************************************/
+/*****************************************************************************/
/* Singleton NMPlatform subclass instance and cached class object */
NM_DEFINE_SINGLETON_INSTANCE (NMPlatform);
@@ -184,7 +184,7 @@ nm_platform_try_get (void)
return singleton_instance;
}
-/******************************************************************/
+/*****************************************************************************/
/**
* _nm_platform_error_to_string:
@@ -209,7 +209,7 @@ NM_UTILS_LOOKUP_STR_DEFINE (_nm_platform_error_to_string, NMPlatformError,
NM_UTILS_LOOKUP_ITEM_IGNORE (_NM_PLATFORM_ERROR_MININT),
);
-/******************************************************************/
+/*****************************************************************************/
gboolean
nm_platform_check_support_kernel_extended_ifa_flags (NMPlatform *self)
@@ -254,7 +254,7 @@ nm_platform_process_events (NMPlatform *self)
klass->process_events (self);
}
-/******************************************************************/
+/*****************************************************************************/
/**
* nm_platform_sysctl_set:
@@ -386,7 +386,7 @@ nm_platform_sysctl_get_int_checked (NMPlatform *self, const char *path, guint ba
return ret;
}
-/******************************************************************/
+/*****************************************************************************/
static int
_link_get_all_presort (gconstpointer p_a,
@@ -1764,7 +1764,7 @@ nm_platform_sysctl_slave_get_option (NMPlatform *self, int ifindex, const char *
return link_get_option (self, ifindex, slave_category (self, ifindex), option);
}
-/******************************************************************************/
+/*****************************************************************************/
gboolean
nm_platform_link_vlan_change (NMPlatform *self,
@@ -2467,7 +2467,7 @@ _to_string_ifa_flags (guint32 ifa_flags, char *buf, gsize size)
return buf;
}
-/******************************************************************/
+/*****************************************************************************/
gboolean
nm_platform_ethtool_set_wake_on_lan (NMPlatform *self, const char *ifname, NMSettingWiredWakeOnLan wol, const char *wol_password)
@@ -2493,7 +2493,7 @@ nm_platform_ethtool_get_link_speed (NMPlatform *self, const char *ifname, guint3
return nmp_utils_ethtool_get_link_speed (ifname, out_speed);
}
-/******************************************************************/
+/*****************************************************************************/
void
nm_platform_ip4_address_set_addr (NMPlatformIP4Address *addr, in_addr_t address, guint8 plen)
@@ -2838,7 +2838,7 @@ nm_platform_address_flush (NMPlatform *self, int ifindex)
&& nm_platform_ip6_address_sync (self, ifindex, NULL, FALSE);
}
-/******************************************************************/
+/*****************************************************************************/
GArray *
nm_platform_ip4_route_get_all (NMPlatform *self, int ifindex, NMPlatformGetRouteFlags flags)
@@ -2986,7 +2986,7 @@ nm_platform_ip6_route_get (NMPlatform *self, int ifindex, struct in6_addr networ
return klass->ip6_route_get (self, ifindex, network, plen, metric);
}
-/******************************************************************/
+/*****************************************************************************/
const char *
nm_platform_vlan_qos_mapping_to_string (const char *name,
@@ -4083,7 +4083,7 @@ log_ip6_route (NMPlatform *self, NMPObjectType obj_type, int ifindex, NMPlatform
_LOGD ("signal: route 6 %7s: %s", nm_platform_signal_change_type_to_string (change_type), nm_platform_ip6_route_to_string (route, NULL, 0));
}
-/******************************************************************/
+/*****************************************************************************/
NMPNetns *
nm_platform_netns_get (NMPlatform *self)
@@ -4108,7 +4108,7 @@ nm_platform_netns_push (NMPlatform *platform, NMPNetns **netns)
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
_vtr_v4_route_add (NMPlatform *self, int ifindex, const NMPlatformIPXRoute *route, gint64 metric)
@@ -4175,7 +4175,7 @@ _vtr_v6_route_delete_default (NMPlatform *self, int ifindex, guint32 metric)
return nm_platform_ip6_route_delete (self, ifindex, in6addr_any, 0, metric);
}
-/******************************************************************/
+/*****************************************************************************/
const NMPlatformVTableRoute nm_platform_vtable_route_v4 = {
.is_ip4 = TRUE,
@@ -4203,7 +4203,7 @@ const NMPlatformVTableRoute nm_platform_vtable_route_v6 = {
.metric_normalize = nm_utils_ip6_route_metric_normalize,
};
-/******************************************************************/
+/*****************************************************************************/
static void
set_property (GObject *object, guint prop_id,
@@ -4246,8 +4246,9 @@ constructed (GObject *object)
}
static void
-nm_platform_init (NMPlatform *object)
+nm_platform_init (NMPlatform *self)
{
+ self->_priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_PLATFORM, NMPlatformPrivate);
}
static void
diff --git a/src/platform/nm-platform.h b/src/platform/nm-platform.h
index fc6965e904..1773586937 100644
--- a/src/platform/nm-platform.h
+++ b/src/platform/nm-platform.h
@@ -42,12 +42,12 @@
#define NM_PLATFORM_NETNS_SUPPORT_DEFAULT FALSE
-/******************************************************************/
+/*****************************************************************************/
#define NM_PLATFORM_NETNS_SUPPORT "netns-support"
#define NM_PLATFORM_REGISTER_SINGLETON "register-singleton"
-/******************************************************************/
+/*****************************************************************************/
/* workaround for older libnl version, that does not define these flags. */
#ifndef IFA_F_MANAGETEMPADDR
@@ -481,12 +481,14 @@ typedef struct {
bool multi_queue:1;
} NMPlatformTunProperties;
-/******************************************************************/
+/*****************************************************************************/
+
+struct _NMPlatformPrivate;
struct _NMPlatform {
GObject parent;
-
NMPNetns *_netns;
+ struct _NMPlatformPrivate *_priv;
};
typedef struct {
@@ -672,7 +674,7 @@ typedef struct {
const char *nm_platform_signal_change_type_to_string (NMPlatformSignalChangeType change_type);
-/******************************************************************/
+/*****************************************************************************/
GType nm_platform_get_type (void);
@@ -682,7 +684,7 @@ NMPlatform *nm_platform_try_get (void);
#define NM_PLATFORM_GET (nm_platform_get ())
-/******************************************************************/
+/*****************************************************************************/
/**
* nm_platform_route_scope_inv:
diff --git a/src/platform/nmp-netns.c b/src/platform/nmp-netns.c
index 26295855d8..f3704f0313 100644
--- a/src/platform/nmp-netns.c
+++ b/src/platform/nmp-netns.c
@@ -63,7 +63,7 @@ __ns_types_to_str (int ns_types, int ns_types_already_set, char *buf, gsize len)
#define _ns_types_to_str(ns_types, ns_types_already_set, buf) \
__ns_types_to_str (ns_types, ns_types_already_set, buf, sizeof (buf))
-/*********************************************************************************************/
+/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_PLATFORM
#define _NMLOG_PREFIX_NAME "netns"
@@ -83,20 +83,33 @@ __ns_types_to_str (int ns_types, int ns_types_already_set, char *buf, gsize len)
} \
} G_STMT_END
-/*********************************************************************************************/
+/*****************************************************************************/
NM_GOBJECT_PROPERTIES_DEFINE_BASE (
PROP_FD_NET,
PROP_FD_MNT,
);
-typedef struct _NMPNetnsPrivate NMPNetnsPrivate;
-
-struct _NMPNetnsPrivate {
+typedef struct {
int fd_net;
int fd_mnt;
+} NMPNetnsPrivate;
+
+struct _NMPNetns {
+ GObject parent;
+ NMPNetnsPrivate _priv;
};
+struct _NMPNetnsClass {
+ GObjectClass parent;
+};
+
+G_DEFINE_TYPE (NMPNetns, nmp_netns, G_TYPE_OBJECT);
+
+#define NMP_NETNS_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMPNetns, NMP_IS_NETNS)
+
+/*****************************************************************************/
+
typedef struct {
NMPNetns *netns;
int count;
@@ -106,7 +119,7 @@ typedef struct {
static void _stack_push (NMPNetns *netns, int ns_types);
static NMPNetns *_netns_new (GError **error);
-/*********************************************************************************************/
+/*****************************************************************************/
static GArray *netns_stack = NULL;
@@ -262,13 +275,7 @@ _stack_size (void)
return netns_stack->len;
}
-/*********************************************************************************************/
-
-G_DEFINE_TYPE (NMPNetns, nmp_netns, G_TYPE_OBJECT);
-
-#define NMP_NETNS_GET_PRIVATE(o) ((o)->priv)
-
-/*********************************************************************************************/
+/*****************************************************************************/
static NMPNetns *
_netns_new (GError **error)
@@ -311,10 +318,11 @@ _setns (NMPNetns *self, int type)
{
char buf[100];
int fd;
+ NMPNetnsPrivate *priv = NMP_NETNS_GET_PRIVATE (self);
nm_assert (NM_IN_SET (type, _CLONE_NS_ALL_V));
- fd = (type == CLONE_NEWNET) ? self->priv->fd_net : self->priv->fd_mnt;
+ fd = (type == CLONE_NEWNET) ? priv->fd_net : priv->fd_mnt;
_LOGt (self, "set netns(%s, %d)", _ns_types_to_str (type, 0, buf), fd);
@@ -390,14 +398,14 @@ _netns_switch_pop (NMPNetns *self, int ns_types)
return success;
}
-/*********************************************************************************************/
+/*****************************************************************************/
int
nmp_netns_get_fd_net (NMPNetns *self)
{
g_return_val_if_fail (NMP_IS_NETNS (self), 0);
- return self->priv->fd_net;
+ return NMP_NETNS_GET_PRIVATE (self)->fd_net;
}
int
@@ -405,10 +413,10 @@ nmp_netns_get_fd_mnt (NMPNetns *self)
{
g_return_val_if_fail (NMP_IS_NETNS (self), 0);
- return self->priv->fd_mnt;
+ return NMP_NETNS_GET_PRIVATE (self)->fd_mnt;
}
-/*********************************************************************************************/
+/*****************************************************************************/
static gboolean
_nmp_netns_push_type (NMPNetns *self, int ns_types)
@@ -579,7 +587,7 @@ nmp_netns_is_initial (void)
return nmp_netns_get_current () == nmp_netns_get_initial ();
}
-/*********************************************************************************************/
+/*****************************************************************************/
gboolean
nmp_netns_bind_to_path (NMPNetns *self, const char *filename, int *out_fd)
@@ -657,24 +665,25 @@ nmp_netns_bind_to_path_destroy (NMPNetns *self, const char *filename)
return TRUE;
}
-/******************************************************************************/
+/*****************************************************************************/
static void
set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec)
{
NMPNetns *self = NMP_NETNS (object);
+ NMPNetnsPrivate *priv = NMP_NETNS_GET_PRIVATE (self);
switch (prop_id) {
case PROP_FD_NET:
/* construct only */
- self->priv->fd_net = g_value_get_int (value);
- g_return_if_fail (self->priv->fd_net > 0);
+ priv->fd_net = g_value_get_int (value);
+ g_return_if_fail (priv->fd_net > 0);
break;
case PROP_FD_MNT:
/* construct only */
- self->priv->fd_mnt = g_value_get_int (value);
- g_return_if_fail (self->priv->fd_mnt > 0);
+ priv->fd_mnt = g_value_get_int (value);
+ g_return_if_fail (priv->fd_mnt > 0);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -685,22 +694,22 @@ set_property (GObject *object, guint prop_id,
static void
nmp_netns_init (NMPNetns *self)
{
- self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NMP_TYPE_NETNS, NMPNetnsPrivate);
}
static void
dispose (GObject *object)
{
NMPNetns *self = NMP_NETNS (object);
+ NMPNetnsPrivate *priv = NMP_NETNS_GET_PRIVATE (self);
- if (self->priv->fd_net > 0) {
- close (self->priv->fd_net);
- self->priv->fd_net = 0;
+ if (priv->fd_net > 0) {
+ close (priv->fd_net);
+ priv->fd_net = 0;
}
- if (self->priv->fd_mnt > 0) {
- close (self->priv->fd_mnt);
- self->priv->fd_mnt = 0;
+ if (priv->fd_mnt > 0) {
+ close (priv->fd_mnt);
+ priv->fd_mnt = 0;
}
G_OBJECT_CLASS (nmp_netns_parent_class)->dispose (object);
@@ -711,8 +720,6 @@ nmp_netns_class_init (NMPNetnsClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMPNetnsPrivate));
-
object_class->set_property = set_property;
object_class->dispose = dispose;
diff --git a/src/platform/nmp-netns.h b/src/platform/nmp-netns.h
index 4eac07acf7..eb33f2ed64 100644
--- a/src/platform/nmp-netns.h
+++ b/src/platform/nmp-netns.h
@@ -33,16 +33,7 @@
#define NMP_NETNS_FD_NET "fd-net"
#define NMP_NETNS_FD_MNT "fd-mnt"
-struct _NMPNetnsPrivate;
-
-struct _NMPNetns {
- GObject parent;
- struct _NMPNetnsPrivate *priv;
-};
-
-typedef struct {
- GObjectClass parent;
-} NMPNetnsClass;
+typedef struct _NMPNetnsClass NMPNetnsClass;
GType nmp_netns_get_type (void);
diff --git a/src/platform/nmp-object.c b/src/platform/nmp-object.c
index 30a52c259b..0bcbe2afcf 100644
--- a/src/platform/nmp-object.c
+++ b/src/platform/nmp-object.c
@@ -29,7 +29,7 @@
#include "nm-core-utils.h"
#include "nm-platform-utils.h"
-/*********************************************************************************************/
+/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_PLATFORM
#define _NMLOG(level, obj, ...) \
@@ -51,7 +51,7 @@
* Disabled by default. */
#define _LOGr(...) G_STMT_START { if (FALSE) { _LOGt (__VA_ARGS__); } } G_STMT_END
-/*********************************************************************************************/
+/*****************************************************************************/
struct _NMPCache {
/* the cache contains only one hash table for all object types, and similarly
@@ -74,7 +74,7 @@ struct _NMPCache {
gboolean use_udev;
};
-/******************************************************************/
+/*****************************************************************************/
static inline guint
_id_hash_ip6_addr (const struct in6_addr *addr)
@@ -121,7 +121,7 @@ _vlan_xgress_qos_mappings_cpy (guint *dst_n_map,
}
}
-/******************************************************************/
+/*****************************************************************************/
static const char *
_link_get_driver (GUdevDevice *udev_device, const char *kind, const char *ifname)
@@ -196,7 +196,7 @@ _nmp_object_fixup_link_master_connected (NMPObject *obj, const NMPCache *cache)
obj->link.connected = !obj->link.connected;
}
-/******************************************************************/
+/*****************************************************************************/
const NMPClass *
nmp_class_from_type (NMPObjectType obj_type)
@@ -206,7 +206,7 @@ nmp_class_from_type (NMPObjectType obj_type)
return &_nmp_classes[obj_type - 1];
}
-/******************************************************************/
+/*****************************************************************************/
NMPObject *
nmp_object_ref (NMPObject *obj)
@@ -292,7 +292,7 @@ nmp_object_new_link (int ifindex)
return obj;
}
-/******************************************************************/
+/*****************************************************************************/
static const NMPObject *
_nmp_object_stackinit_from_class (NMPObject *obj, const NMPClass *klass)
@@ -415,7 +415,7 @@ _vt_cmd_obj_stackinit_id_ip6_route (NMPObject *obj, const NMPObject *src)
nmp_object_stackinit_id_ip6_route (obj, src->ip_route.ifindex, &src->ip6_route.network, src->ip_route.plen, src->ip_route.metric);
}
-/******************************************************************/
+/*****************************************************************************/
const char *
nmp_object_to_string (const NMPObject *obj, NMPObjectToStringMode to_string_mode, char *buf, gsize buf_size)
@@ -954,7 +954,7 @@ _vt_cmd_obj_is_visible_link (const NMPObject *obj)
&& obj->link.name[0];
}
-/******************************************************************/
+/*****************************************************************************/
#define _STRUCT_SIZE(struct_type, field) \
(G_STRUCT_OFFSET (struct_type, field) + sizeof (((struct_type *) NULL)->field))
@@ -1021,7 +1021,7 @@ nmp_cache_id_destroy (NMPCacheId *id)
g_slice_free1 (n, id);
}
-/******************************************************************/
+/*****************************************************************************/
NMPCacheId _nmp_cache_id_static;
@@ -1143,7 +1143,7 @@ nmp_cache_id_init_routes_by_destination_ip6 (NMPCacheId *id,
return id;
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
_nmp_object_init_cache_id (const NMPObject *obj, NMPCacheIdType id_type, NMPCacheId *id, const NMPCacheId **out_id)
@@ -1301,7 +1301,7 @@ _vt_cmd_obj_init_cache_id_ipx_route (const NMPObject *obj, NMPCacheIdType id_typ
return TRUE;
}
-/******************************************************************/
+/*****************************************************************************/
gboolean
nmp_cache_use_udev_get (const NMPCache *cache)
@@ -1311,7 +1311,7 @@ nmp_cache_use_udev_get (const NMPCache *cache)
return cache->use_udev;
}
-/******************************************************************/
+/*****************************************************************************/
/**
* nmp_cache_link_connected_needs_toggle:
@@ -1416,7 +1416,7 @@ nmp_cache_link_connected_needs_toggle_by_ifindex (const NMPCache *cache, int mas
return NULL;
}
-/******************************************************************/
+/*****************************************************************************/
const NMPlatformObject *const *
nmp_cache_lookup_multi (const NMPCache *cache, const NMPCacheId *cache_id, guint *out_len)
@@ -1581,7 +1581,7 @@ nmp_cache_lookup_all_to_hash (const NMPCache *cache,
return hash;
}
-/******************************************************************/
+/*****************************************************************************/
static void
_nmp_cache_update_cache (NMPCache *cache, NMPObject *obj, gboolean remove)
@@ -1993,7 +1993,7 @@ nmp_cache_update_link_master_connected (NMPCache *cache, int ifindex, NMPObject
return NMP_CACHE_OPS_UPDATED;
}
-/******************************************************************/
+/*****************************************************************************/
NMPCache *
nmp_cache_new (gboolean use_udev)
@@ -2034,7 +2034,7 @@ nmp_cache_free (NMPCache *cache)
g_free (cache);
}
-/******************************************************************/
+/*****************************************************************************/
void
ASSERT_nmp_cache_is_consistent (const NMPCache *cache)
@@ -2092,7 +2092,7 @@ ASSERT_nmp_cache_is_consistent (const NMPCache *cache)
}
#endif
}
-/******************************************************************/
+/*****************************************************************************/
const NMPClass _nmp_classes[NMP_OBJECT_TYPE_MAX] = {
[NMP_OBJECT_TYPE_LINK - 1] = {
diff --git a/src/platform/tests/test-common.h b/src/platform/tests/test-common.h
index 87fccee234..153592cf3c 100644
--- a/src/platform/tests/test-common.h
+++ b/src/platform/tests/test-common.h
@@ -12,7 +12,7 @@
#define DEVICE_NAME "nm-test-device"
-/*********************************************************************************************/
+/*****************************************************************************/
#define _NMLOG_PREFIX_NAME "platform-test"
#define _NMLOG_DOMAIN LOGD_PLATFORM
@@ -35,12 +35,12 @@
} \
} G_STMT_END
-/*********************************************************************************************/
+/*****************************************************************************/
gboolean nmtstp_is_root_test (void);
gboolean nmtstp_is_sysfs_writable (void);
-/******************************************************************************/
+/*****************************************************************************/
typedef struct _NMTstpNamespaceHandle NMTstpNamespaceHandle;
@@ -51,7 +51,7 @@ pid_t nmtstp_namespace_handle_get_pid (NMTstpNamespaceHandle *handle);
int nmtstp_namespace_get_fd_for_process (pid_t pid, const char *ns_name);
-/******************************************************************************/
+/*****************************************************************************/
typedef struct {
gulong handler_id;
diff --git a/src/platform/tests/test-general.c b/src/platform/tests/test-general.c
index f67f00892f..c67f2e0410 100644
--- a/src/platform/tests/test-general.c
+++ b/src/platform/tests/test-general.c
@@ -28,7 +28,7 @@
#include "nm-test-utils-core.h"
-/******************************************************************/
+/*****************************************************************************/
static void
test_init_linux_platform (void)
@@ -38,7 +38,7 @@ test_init_linux_platform (void)
platform = nm_linux_platform_new (NM_PLATFORM_NETNS_SUPPORT_DEFAULT);
}
-/******************************************************************/
+/*****************************************************************************/
static void
test_link_get_all (void)
@@ -51,7 +51,7 @@ test_link_get_all (void)
links = nm_platform_link_get_all (platform);
}
-/******************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/platform/tests/test-link.c b/src/platform/tests/test-link.c
index e242a71f11..8a784cf05e 100644
--- a/src/platform/tests/test-link.c
+++ b/src/platform/tests/test-link.c
@@ -1870,7 +1870,7 @@ again:
nmtstp_link_del (NULL, -1, ifindex_dummy0, IFACE_DUMMY0);
}
-/******************************************************************/
+/*****************************************************************************/
static void
_test_netns_setup (gpointer fixture, gconstpointer test_data)
@@ -1933,7 +1933,7 @@ _test_netns_check_skip (void)
return FALSE;
}
-/******************************************************************/
+/*****************************************************************************/
#define _sysctl_assert_eq(plat, path, value) \
G_STMT_START { \
diff --git a/src/platform/tests/test-nmp-object.c b/src/platform/tests/test-nmp-object.c
index 9d4f69de4c..ccc256ada7 100644
--- a/src/platform/tests/test-nmp-object.c
+++ b/src/platform/tests/test-nmp-object.c
@@ -28,7 +28,7 @@ struct {
GList *udev_devices;
} global;
-/******************************************************************/
+/*****************************************************************************/
static gboolean
_nmp_object_id_equal (const NMPObject *a, const NMPObject *b)
@@ -50,7 +50,7 @@ _nmp_object_equal (const NMPObject *a, const NMPObject *b)
}
#define nmp_object_equal _nmp_object_equal
-/******************************************************************/
+/*****************************************************************************/
static void
_assert_cache_multi_lookup_contains (const NMPCache *cache, const NMPCacheId *cache_id, const NMPObject *obj, gboolean contains)
@@ -85,7 +85,7 @@ _assert_cache_multi_lookup_contains (const NMPCache *cache, const NMPCacheId *ca
g_assert (!!contains == found);
}
-/******************************************************************/
+/*****************************************************************************/
typedef struct {
NMPCache *cache;
@@ -382,7 +382,7 @@ test_cache_link (void)
nmp_cache_free (cache);
}
-/******************************************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/platform/wifi/wifi-utils-wext.c b/src/platform/wifi/wifi-utils-wext.c
index af285b45c3..002ac6aae6 100644
--- a/src/platform/wifi/wifi-utils-wext.c
+++ b/src/platform/wifi/wifi-utils-wext.c
@@ -369,7 +369,7 @@ wifi_wext_get_qual (WifiData *data)
return wext_qual_to_percent (&stats.qual, &wext->max_qual);
}
-/*********************/
+/*****************************************************************************/
/* OLPC Mesh-only functions */
static guint32
@@ -441,7 +441,7 @@ wifi_wext_set_mesh_ssid (WifiData *data, const guint8 *ssid, gsize len)
return FALSE;
}
-/*********************/
+/*****************************************************************************/
static gboolean
wext_can_scan (WifiDataWext *wext)
diff --git a/src/platform/wifi/wifi-utils.c b/src/platform/wifi/wifi-utils.c
index b7fe86bbe1..de858e499a 100644
--- a/src/platform/wifi/wifi-utils.c
+++ b/src/platform/wifi/wifi-utils.c
@@ -53,7 +53,7 @@ wifi_data_free (WifiData *data)
g_free (data);
}
-/***************************************************************/
+/*****************************************************************************/
WifiData *
wifi_utils_init (const char *iface, int ifindex, gboolean check_scan)
diff --git a/src/ppp-manager/nm-ppp-manager.c b/src/ppp-manager/nm-ppp-manager.c
index a51f7cfa6c..0f0b9a5939 100644
--- a/src/ppp-manager/nm-ppp-manager.c
+++ b/src/ppp-manager/nm-ppp-manager.c
@@ -21,6 +21,8 @@
#include "nm-default.h"
+#include "nm-ppp-manager.h"
+
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>
@@ -28,7 +30,6 @@
#include <unistd.h>
#include <arpa/inet.h>
#include <stdlib.h>
-
#include <errno.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
@@ -43,28 +44,36 @@
#include <linux/if_ppp.h>
#include "NetworkManagerUtils.h"
-#include "nm-ppp-manager.h"
#include "nm-platform.h"
#include "nm-core-internal.h"
+#include "nm-act-request.h"
+#include "nm-ip4-config.h"
+#include "nm-ip6-config.h"
+#include "nm-pppd-plugin.h"
+#include "nm-ppp-status.h"
#include "nmdbus-ppp-manager.h"
-#define _NMLOG_DOMAIN LOGD_PPP
-#define _NMLOG_PREFIX_NAME "ppp-manager"
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- nm_log ((level), _NMLOG_DOMAIN, \
- "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- _NMLOG_PREFIX_NAME": " \
- _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } G_STMT_END
-
-static void _ppp_cleanup (NMPPPManager *manager);
-static void _ppp_kill (NMPPPManager *manager);
-
#define NM_PPPD_PLUGIN PPPD_PLUGIN_DIR "/nm-pppd-plugin.so"
#define PPP_MANAGER_SECRET_TRIES "ppp-manager-secret-tries"
+/*****************************************************************************/
+
+enum {
+ STATE_CHANGED,
+ IP4_CONFIG,
+ IP6_CONFIG,
+ STATS,
+
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_PARENT_IFACE,
+);
+
typedef struct {
GPid pid;
@@ -84,101 +93,37 @@ typedef struct {
guint monitor_id;
} NMPPPManagerPrivate;
-#define NM_PPP_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_PPP_MANAGER, NMPPPManagerPrivate))
-
-G_DEFINE_TYPE (NMPPPManager, nm_ppp_manager, NM_TYPE_EXPORTED_OBJECT)
-
-enum {
- STATE_CHANGED,
- IP4_CONFIG,
- IP6_CONFIG,
- STATS,
-
- LAST_SIGNAL
+struct _NMPPPManager {
+ NMExportedObject parent;
+ NMPPPManagerPrivate _priv;
};
-static guint signals[LAST_SIGNAL] = { 0 };
-
-enum {
- PROP_0,
- PROP_PARENT_IFACE,
- LAST_PROP
+struct _NMPPPManagerClass {
+ NMExportedObjectClass parent;
};
-static void
-nm_ppp_manager_init (NMPPPManager *manager)
-{
- NM_PPP_MANAGER_GET_PRIVATE (manager)->monitor_fd = -1;
-}
-
-static void
-dispose (GObject *object)
-{
- NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (object);
-
- _ppp_cleanup (NM_PPP_MANAGER (object));
- _ppp_kill (NM_PPP_MANAGER (object));
-
- g_clear_object (&priv->act_req);
-
- G_OBJECT_CLASS (nm_ppp_manager_parent_class)->dispose (object);
-}
-
-static void
-finalize (GObject *object)
-{
- NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (object);
-
- g_free (priv->ip_iface);
- g_free (priv->parent_iface);
-
- G_OBJECT_CLASS (nm_ppp_manager_parent_class)->finalize (object);
-}
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (object);
+G_DEFINE_TYPE (NMPPPManager, nm_ppp_manager, NM_TYPE_EXPORTED_OBJECT)
- switch (prop_id) {
- case PROP_PARENT_IFACE:
- g_free (priv->parent_iface);
- priv->parent_iface = g_value_dup_string (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
+#define NM_PPP_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMPPPManager, NM_IS_PPP_MANAGER)
-static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (object);
+/*****************************************************************************/
- switch (prop_id) {
- case PROP_PARENT_IFACE:
- g_value_set_string (value, priv->parent_iface);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
+#define _NMLOG_DOMAIN LOGD_PPP
+#define _NMLOG_PREFIX_NAME "ppp-manager"
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ nm_log ((level), _NMLOG_DOMAIN, \
+ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ _NMLOG_PREFIX_NAME": " \
+ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } G_STMT_END
-NMPPPManager *
-nm_ppp_manager_new (const char *iface)
-{
- g_return_val_if_fail (iface != NULL, NULL);
+/*****************************************************************************/
- return (NMPPPManager *) g_object_new (NM_TYPE_PPP_MANAGER,
- NM_PPP_MANAGER_PARENT_IFACE, iface,
- NULL);
-}
+static void _ppp_cleanup (NMPPPManager *manager);
+static void _ppp_kill (NMPPPManager *manager);
-/*******************************************/
+/*****************************************************************************/
static gboolean
monitor_cb (gpointer user_data)
@@ -224,7 +169,7 @@ monitor_stats (NMPPPManager *manager)
_LOGW ("could not monitor PPP stats: %s", strerror (errno));
}
-/*******************************************/
+/*****************************************************************************/
static void
remove_timeout_handler (NMPPPManager *manager)
@@ -587,79 +532,7 @@ impl_ppp_manager_set_ip6_config (NMPPPManager *manager,
g_dbus_method_invocation_return_value (context, NULL);
}
-static void
-nm_ppp_manager_class_init (NMPPPManagerClass *manager_class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (manager_class);
- NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (manager_class);
-
- g_type_class_add_private (manager_class, sizeof (NMPPPManagerPrivate));
-
- exported_object_class->export_path = NM_DBUS_PATH "/PPP";
- exported_object_class->export_on_construction = TRUE;
-
- object_class->dispose = dispose;
- object_class->finalize = finalize;
- object_class->get_property = get_property;
- object_class->set_property = set_property;
-
- /* Properties */
- g_object_class_install_property
- (object_class, PROP_PARENT_IFACE,
- g_param_spec_string (NM_PPP_MANAGER_PARENT_IFACE, "", "",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
- G_PARAM_STATIC_STRINGS));
-
- /* signals */
- signals[STATE_CHANGED] =
- g_signal_new (NM_PPP_MANAGER_STATE_CHANGED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMPPPManagerClass, state_changed),
- NULL, NULL, NULL,
- G_TYPE_NONE, 1,
- G_TYPE_UINT);
-
- signals[IP4_CONFIG] =
- g_signal_new ("ip4-config",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMPPPManagerClass, ip4_config),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2,
- G_TYPE_STRING,
- G_TYPE_OBJECT);
-
- signals[IP6_CONFIG] =
- g_signal_new ("ip6-config",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMPPPManagerClass, ip6_config),
- NULL, NULL, NULL,
- G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_OBJECT);
-
- signals[STATS] =
- g_signal_new ("stats",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMPPPManagerClass, stats),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2,
- G_TYPE_UINT, G_TYPE_UINT);
-
- nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (manager_class),
- NMDBUS_TYPE_PPP_MANAGER_SKELETON,
- "NeedSecrets", impl_ppp_manager_need_secrets,
- "SetIp4Config", impl_ppp_manager_set_ip4_config,
- "SetIp6Config", impl_ppp_manager_set_ip6_config,
- "SetState", impl_ppp_manager_set_state,
- NULL);
-}
-
-/*******************************************/
-
-
+/*****************************************************************************/
typedef struct {
GPtrArray *array;
@@ -714,7 +587,7 @@ nm_cmd_line_add_int (NMCmdLine *cmd, int i)
g_free (str);
}
-/*******************************************/
+/*****************************************************************************/
static void
ppp_exit_code (guint pppd_exit_status, GPid pid)
@@ -1148,7 +1021,7 @@ _ppp_cleanup (NMPPPManager *manager)
nm_clear_g_source (&priv->ppp_watch_id);
}
-/***********************************************************/
+/*****************************************************************************/
typedef struct {
NMPPPManager *manager;
@@ -1239,3 +1112,149 @@ nm_ppp_manager_stop (NMPPPManager *manager,
ctx);
priv->pid = 0;
}
+
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE ((NMPPPManager *) object);
+
+ switch (prop_id) {
+ case PROP_PARENT_IFACE:
+ g_value_set_string (value, priv->parent_iface);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
+{
+ NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE ((NMPPPManager *) object);
+
+ switch (prop_id) {
+ case PROP_PARENT_IFACE:
+ g_free (priv->parent_iface);
+ priv->parent_iface = g_value_dup_string (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
+static void
+nm_ppp_manager_init (NMPPPManager *manager)
+{
+ NM_PPP_MANAGER_GET_PRIVATE (manager)->monitor_fd = -1;
+}
+
+NMPPPManager *
+nm_ppp_manager_new (const char *iface)
+{
+ g_return_val_if_fail (iface != NULL, NULL);
+
+ return (NMPPPManager *) g_object_new (NM_TYPE_PPP_MANAGER,
+ NM_PPP_MANAGER_PARENT_IFACE, iface,
+ NULL);
+}
+
+static void
+dispose (GObject *object)
+{
+ NMPPPManager *self = (NMPPPManager *) object;
+ NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (self);
+
+ _ppp_cleanup (self);
+ _ppp_kill (self);
+
+ g_clear_object (&priv->act_req);
+
+ G_OBJECT_CLASS (nm_ppp_manager_parent_class)->dispose (object);
+}
+
+static void
+finalize (GObject *object)
+{
+ NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE ((NMPPPManager *) object);
+
+ g_free (priv->ip_iface);
+ g_free (priv->parent_iface);
+
+ G_OBJECT_CLASS (nm_ppp_manager_parent_class)->finalize (object);
+}
+
+static void
+nm_ppp_manager_class_init (NMPPPManagerClass *manager_class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (manager_class);
+ NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (manager_class);
+
+ object_class->dispose = dispose;
+ object_class->finalize = finalize;
+ object_class->get_property = get_property;
+ object_class->set_property = set_property;
+
+ exported_object_class->export_path = NM_DBUS_PATH "/PPP";
+ exported_object_class->export_on_construction = TRUE;
+
+ obj_properties[PROP_PARENT_IFACE] =
+ g_param_spec_string (NM_PPP_MANAGER_PARENT_IFACE, "", "",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
+
+ signals[STATE_CHANGED] =
+ g_signal_new (NM_PPP_MANAGER_STATE_CHANGED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1,
+ G_TYPE_UINT);
+
+ signals[IP4_CONFIG] =
+ g_signal_new ("ip4-config",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 2,
+ G_TYPE_STRING,
+ G_TYPE_OBJECT);
+
+ signals[IP6_CONFIG] =
+ g_signal_new ("ip6-config",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_OBJECT);
+
+ signals[STATS] =
+ g_signal_new ("stats",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 2,
+ G_TYPE_UINT, G_TYPE_UINT);
+
+ nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (manager_class),
+ NMDBUS_TYPE_PPP_MANAGER_SKELETON,
+ "NeedSecrets", impl_ppp_manager_need_secrets,
+ "SetIp4Config", impl_ppp_manager_set_ip4_config,
+ "SetIp6Config", impl_ppp_manager_set_ip6_config,
+ "SetState", impl_ppp_manager_set_state,
+ NULL);
+}
+
diff --git a/src/ppp-manager/nm-ppp-manager.h b/src/ppp-manager/nm-ppp-manager.h
index 188be84e4c..da1fdb5539 100644
--- a/src/ppp-manager/nm-ppp-manager.h
+++ b/src/ppp-manager/nm-ppp-manager.h
@@ -22,16 +22,6 @@
#ifndef __NETWORKMANAGER_PPP_MANAGER_H__
#define __NETWORKMANAGER_PPP_MANAGER_H__
-
-#include "nm-exported-object.h"
-#include "nm-ppp-status.h"
-#include "nm-activation-request.h"
-#include "nm-connection.h"
-#include "nm-ip4-config.h"
-#include "nm-ip6-config.h"
-#include "nm-pppd-plugin.h"
-#include "NetworkManagerUtils.h"
-
#define NM_TYPE_PPP_MANAGER (nm_ppp_manager_get_type ())
#define NM_PPP_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_PPP_MANAGER, NMPPPManager))
#define NM_PPP_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_PPP_MANAGER, NMPPPManagerClass))
@@ -41,25 +31,10 @@
#define NM_PPP_MANAGER_PARENT_IFACE "parent-iface"
-/* signals */
#define NM_PPP_MANAGER_STATE_CHANGED "state-changed"
-typedef struct {
- NMExportedObject parent;
-} NMPPPManager;
-
-typedef struct {
- NMExportedObjectClass parent;
-
- /* Signals */
- void (*state_changed) (NMPPPManager *manager, NMPPPStatus status);
- void (*ip4_config) (NMPPPManager *manager, const char *iface, NMIP4Config *config);
- void (*ip6_config) (NMPPPManager *manager,
- const char *iface,
- const NMUtilsIPv6IfaceId *iid,
- NMIP6Config *config);
- void (*stats) (NMPPPManager *manager, guint32 in_bytes, guint32 out_bytes);
-} NMPPPManagerClass;
+typedef struct _NMPPPManager NMPPPManager;
+typedef struct _NMPPPManagerClass NMPPPManagerClass;
GType nm_ppp_manager_get_type (void);
diff --git a/src/rdisc/nm-fake-rdisc.c b/src/rdisc/nm-fake-rdisc.c
index 46f2b08cf1..aee94a39be 100644
--- a/src/rdisc/nm-fake-rdisc.c
+++ b/src/rdisc/nm-fake-rdisc.c
@@ -20,14 +20,17 @@
#include "nm-default.h"
+#include "nm-fake-rdisc.h"
+
#include <string.h>
#include <arpa/inet.h>
-#include "nm-fake-rdisc.h"
#include "nm-rdisc-private.h"
#define _NMLOG_PREFIX_NAME "rdisc-fake"
+/*****************************************************************************/
+
typedef struct {
guint id;
guint when;
@@ -51,22 +54,33 @@ typedef struct {
NMRDiscPreference preference;
} FakePrefix;
+/*****************************************************************************/
+
+enum {
+ RS_SENT,
+ LAST_SIGNAL,
+};
+static guint signals[LAST_SIGNAL] = { 0 };
+
typedef struct {
guint receive_ra_id;
GSList *ras;
} NMFakeRDiscPrivate;
-#define NM_FAKE_RDISC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_FAKE_RDISC, NMFakeRDiscPrivate))
+struct _NMFakeRRDisc {
+ NMRDisc parent;
+ NMFakeRDiscPrivate _priv;
+};
+
+struct _NMFakeRRDiscClass {
+ NMRDiscClass parent;
+};
G_DEFINE_TYPE (NMFakeRDisc, nm_fake_rdisc, NM_TYPE_RDISC)
-enum {
- RS_SENT,
- LAST_SIGNAL
-};
-static guint signals[LAST_SIGNAL] = { 0 };
+#define NM_FAKE_RDISC_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMFakeRDisc, NM_IS_FAKE_RDISC)
-/******************************************************************/
+/*****************************************************************************/
static void
fake_ra_free (gpointer data)
@@ -218,7 +232,7 @@ nm_fake_rdisc_done (NMFakeRDisc *self)
return !NM_FAKE_RDISC_GET_PRIVATE (self)->ras;
}
-/******************************************************************/
+/*****************************************************************************/
static gboolean
send_rs (NMRDisc *rdisc, GError **error)
@@ -328,12 +342,12 @@ receive_ra (gpointer user_data)
static void
start (NMRDisc *rdisc)
{
- NMFakeRDiscPrivate *priv = NM_FAKE_RDISC_GET_PRIVATE (rdisc);
+ NMFakeRDiscPrivate *priv = NM_FAKE_RDISC_GET_PRIVATE ((NMFakeRDisc *) rdisc);
FakeRa *ra;
/* Queue up the first fake RA */
g_assert (priv->ras);
- ra = NM_FAKE_RDISC_GET_PRIVATE (rdisc)->ras->data;
+ ra = priv->ras->data;
g_assert (!priv->receive_ra_id);
priv->receive_ra_id = g_timeout_add_seconds (ra->when, receive_ra, rdisc);
@@ -346,7 +360,12 @@ nm_fake_rdisc_emit_new_ras (NMFakeRDisc *self)
start (NM_RDISC (self));
}
-/******************************************************************/
+/*****************************************************************************/
+
+static void
+nm_fake_rdisc_init (NMFakeRDisc *fake_rdisc)
+{
+}
NMRDisc *
nm_fake_rdisc_new (int ifindex, const char *ifname)
@@ -358,14 +377,9 @@ nm_fake_rdisc_new (int ifindex, const char *ifname)
}
static void
-nm_fake_rdisc_init (NMFakeRDisc *fake_rdisc)
-{
-}
-
-static void
dispose (GObject *object)
{
- NMFakeRDiscPrivate *priv = NM_FAKE_RDISC_GET_PRIVATE (object);
+ NMFakeRDiscPrivate *priv = NM_FAKE_RDISC_GET_PRIVATE ((NMFakeRDisc *) object);
nm_clear_g_source (&priv->receive_ra_id);
@@ -381,9 +395,8 @@ nm_fake_rdisc_class_init (NMFakeRDiscClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
NMRDiscClass *rdisc_class = NM_RDISC_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMFakeRDiscPrivate));
-
object_class->dispose = dispose;
+
rdisc_class->start = start;
rdisc_class->send_rs = send_rs;
diff --git a/src/rdisc/nm-fake-rdisc.h b/src/rdisc/nm-fake-rdisc.h
index 1082ba5ef1..5f6509568d 100644
--- a/src/rdisc/nm-fake-rdisc.h
+++ b/src/rdisc/nm-fake-rdisc.h
@@ -32,15 +32,8 @@
#define NM_FAKE_RDISC_RS_SENT "rs-sent"
-typedef struct {
- NMRDisc parent;
-} NMFakeRDisc;
-
-typedef struct {
- NMRDiscClass parent;
-} NMFakeRDiscClass;
-
-/******************************************************************/
+typedef struct _NMFakeRRDisc NMFakeRDisc;
+typedef struct _NMFakeRRDiscClass NMFakeRDiscClass;
GType nm_fake_rdisc_get_type (void);
diff --git a/src/rdisc/nm-rdisc-private.h b/src/rdisc/nm-rdisc-private.h
index abc5a399b9..cc2f1ae10d 100644
--- a/src/rdisc/nm-rdisc-private.h
+++ b/src/rdisc/nm-rdisc-private.h
@@ -44,7 +44,7 @@ gboolean nm_rdisc_add_route (NMRDisc *rdisc, const NMRDiscRoute *
gboolean nm_rdisc_add_dns_server (NMRDisc *rdisc, const NMRDiscDNSServer *new);
gboolean nm_rdisc_add_dns_domain (NMRDisc *rdisc, const NMRDiscDNSDomain *new);
-/*********************************************************************************************/
+/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_IP6
#define _NMLOG(level, ...) _LOG(level, _NMLOG_DOMAIN, rdisc, __VA_ARGS__)
@@ -72,6 +72,6 @@ gboolean nm_rdisc_add_dns_domain (NMRDisc *rdisc, const NMRDiscDNSDoma
} \
} G_STMT_END
-/*********************************************************************************************/
+/*****************************************************************************/
#endif /* __NETWORKMANAGER_RDISC_PRIVATE_H__ */
diff --git a/src/rdisc/nm-rdisc.c b/src/rdisc/nm-rdisc.c
index 3bc697504a..c7437a106c 100644
--- a/src/rdisc/nm-rdisc.c
+++ b/src/rdisc/nm-rdisc.c
@@ -423,7 +423,7 @@ nm_rdisc_add_dns_domain (NMRDisc *rdisc, const NMRDiscDNSDomain *new)
return !!new->lifetime;
}
-/******************************************************************/
+/*****************************************************************************/
/**
* nm_rdisc_set_iid:
@@ -857,7 +857,7 @@ nm_rdisc_ra_received (NMRDisc *rdisc, guint32 now, NMRDiscConfigMap changed)
check_timestamps (rdisc, now, changed);
}
-/******************************************************************/
+/*****************************************************************************/
static void
dns_domain_free (gpointer data)
diff --git a/src/settings/nm-agent-manager.c b/src/settings/nm-agent-manager.c
index 54ca2f55c5..fa5c59d54a 100644
--- a/src/settings/nm-agent-manager.c
+++ b/src/settings/nm-agent-manager.c
@@ -40,7 +40,47 @@
#include "nmdbus-agent-manager.h"
-NM_DEFINE_SINGLETON_INSTANCE (NMAgentManager);
+/*****************************************************************************/
+
+enum {
+ AGENT_REGISTERED,
+ LAST_SIGNAL,
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
+
+typedef struct {
+ NMAuthManager *auth_mgr;
+
+ /* Auth chains for checking agent permissions */
+ GSList *chains;
+
+ /* Hashed by owner name, not identifier, since two agents in different
+ * sessions can use the same identifier.
+ */
+ GHashTable *agents;
+
+ GHashTable *requests;
+} NMAgentManagerPrivate;
+
+struct _NMAgentManager {
+ NMExportedObject parent;
+ NMAgentManagerPrivate _priv;
+};
+
+struct _NMAgentManagerClass {
+ NMExportedObjectClass parent;
+};
+
+G_DEFINE_TYPE (NMAgentManager, nm_agent_manager, NM_TYPE_EXPORTED_OBJECT)
+
+#define NM_AGENT_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMAgentManager, NM_IS_AGENT_MANAGER)
+
+/*****************************************************************************/
+
+NM_DEFINE_SINGLETON_GETTER (NMAgentManager, nm_agent_manager_get, NM_TYPE_AGENT_MANAGER);
+
+/*****************************************************************************/
#define _NMLOG_PREFIX_NAME "agent-manager"
#define _NMLOG_DOMAIN LOGD_AGENTS
@@ -78,6 +118,24 @@ NM_DEFINE_SINGLETON_INSTANCE (NMAgentManager);
"/\"", (req)->con.get.setting_name, "\"", \
((req)->request_type == REQUEST_TYPE_CON_GET ? "/(none)" : _request_type_to_string ((req)->request_type, FALSE)))
+/*****************************************************************************/
+
+typedef struct _NMAgentManagerCallId Request;
+
+static void request_add_agent (Request *req, NMSecretAgent *agent);
+
+static void request_remove_agent (Request *req, NMSecretAgent *agent, GSList **pending_reqs);
+
+static void request_next_agent (Request *req);
+
+static void _con_get_request_start (Request *req);
+static void _con_save_request_start (Request *req);
+static void _con_del_request_start (Request *req);
+
+static gboolean _con_get_try_complete_early (Request *req);
+
+/*****************************************************************************/
+
typedef enum {
REQUEST_TYPE_INVALID,
REQUEST_TYPE_CON_GET,
@@ -96,49 +154,7 @@ _request_type_to_string (RequestType request_type, gboolean verbose)
}
}
-G_DEFINE_TYPE (NMAgentManager, nm_agent_manager, NM_TYPE_EXPORTED_OBJECT)
-
-#define NM_AGENT_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_AGENT_MANAGER, \
- NMAgentManagerPrivate))
-
-typedef struct {
- NMAuthManager *auth_mgr;
-
- /* Auth chains for checking agent permissions */
- GSList *chains;
-
- /* Hashed by owner name, not identifier, since two agents in different
- * sessions can use the same identifier.
- */
- GHashTable *agents;
-
- GHashTable *requests;
-} NMAgentManagerPrivate;
-
-enum {
- AGENT_REGISTERED,
-
- LAST_SIGNAL
-};
-static guint signals[LAST_SIGNAL] = { 0 };
-
-
-typedef struct _NMAgentManagerCallId Request;
-
-static void request_add_agent (Request *req, NMSecretAgent *agent);
-
-static void request_remove_agent (Request *req, NMSecretAgent *agent, GSList **pending_reqs);
-
-static void request_next_agent (Request *req);
-
-static void _con_get_request_start (Request *req);
-static void _con_save_request_start (Request *req);
-static void _con_del_request_start (Request *req);
-
-static gboolean _con_get_try_complete_early (Request *req);
-
-/*************************************************************/
+/*****************************************************************************/
static gboolean
remove_agent (NMAgentManager *self, const char *owner)
@@ -186,7 +202,7 @@ maybe_remove_agent_on_error (NMSecretAgent *agent,
remove_agent (nm_agent_manager_get (), nm_secret_agent_get_dbus_owner (agent));
}
-/*************************************************************/
+/*****************************************************************************/
static gboolean
validate_identifier (const char *identifier, GError **error)
@@ -433,7 +449,7 @@ done:
g_free (sender);
}
-/*************************************************************/
+/*****************************************************************************/
struct _NMAgentManagerCallId {
NMAgentManager *self;
@@ -582,7 +598,7 @@ req_complete_cancel (Request *req, gboolean is_disposing)
gs_free_error GError *error = NULL;
nm_assert (req && req->self);
- nm_assert (!g_hash_table_contains (NM_AGENT_MANAGER_GET_PRIVATE (req->self)->requests, req));
+ nm_assert (!g_hash_table_contains (req->self->_priv.requests, req));
nm_utils_error_set_cancelled (&error, is_disposing, "NMAgentManager");
req_complete_release (req, NULL, NULL, NULL, error);
@@ -815,7 +831,7 @@ out:
return FALSE;
}
-/*************************************************************/
+/*****************************************************************************/
static void
_con_get_request_done (NMSecretAgent *agent,
@@ -1263,7 +1279,7 @@ nm_agent_manager_cancel_secrets (NMAgentManager *self,
req_complete_cancel (request_id, FALSE);
}
-/*************************************************************/
+/*****************************************************************************/
static void
_con_save_request_done (NMSecretAgent *agent,
@@ -1352,7 +1368,7 @@ nm_agent_manager_save_secrets (NMAgentManager *self,
req->idle_id = g_idle_add (request_start, req);
}
-/*************************************************************/
+/*****************************************************************************/
static void
_con_del_request_done (NMSecretAgent *agent,
@@ -1440,7 +1456,7 @@ nm_agent_manager_delete_secrets (NMAgentManager *self,
req->idle_id = g_idle_add (request_start, req);
}
-/*************************************************************/
+/*****************************************************************************/
NMSecretAgent *
nm_agent_manager_get_agent_by_user (NMAgentManager *self, const char *username)
@@ -1458,7 +1474,7 @@ nm_agent_manager_get_agent_by_user (NMAgentManager *self, const char *username)
return NULL;
}
-/*************************************************************/
+/*****************************************************************************/
gboolean
nm_agent_manager_all_agents_have_capability (NMAgentManager *manager,
@@ -1484,7 +1500,7 @@ nm_agent_manager_all_agents_have_capability (NMAgentManager *manager,
return TRUE;
}
-/*************************************************************/
+/*****************************************************************************/
static void
agent_permissions_changed_done (NMAuthChain *chain,
@@ -1548,9 +1564,7 @@ authority_changed_cb (NMAuthManager *auth_manager, NMAgentManager *self)
}
}
-/*************************************************************/
-
-NM_DEFINE_SINGLETON_GETTER (NMAgentManager, nm_agent_manager_get, NM_TYPE_AGENT_MANAGER);
+/*****************************************************************************/
static void
nm_agent_manager_init (NMAgentManager *self)
@@ -1564,7 +1578,7 @@ nm_agent_manager_init (NMAgentManager *self)
static void
constructed (GObject *object)
{
- NMAgentManagerPrivate *priv = NM_AGENT_MANAGER_GET_PRIVATE (object);
+ NMAgentManagerPrivate *priv = NM_AGENT_MANAGER_GET_PRIVATE ((NMAgentManager *) object);
G_OBJECT_CLASS (nm_agent_manager_parent_class)->constructed (object);
@@ -1583,7 +1597,7 @@ constructed (GObject *object)
static void
dispose (GObject *object)
{
- NMAgentManagerPrivate *priv = NM_AGENT_MANAGER_GET_PRIVATE (object);
+ NMAgentManagerPrivate *priv = NM_AGENT_MANAGER_GET_PRIVATE ((NMAgentManager *) object);
if (priv->requests) {
GHashTableIter iter;
@@ -1626,24 +1640,20 @@ nm_agent_manager_class_init (NMAgentManagerClass *agent_manager_class)
GObjectClass *object_class = G_OBJECT_CLASS (agent_manager_class);
NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (agent_manager_class);
- g_type_class_add_private (agent_manager_class, sizeof (NMAgentManagerPrivate));
-
exported_object_class->export_path = NM_DBUS_PATH_AGENT_MANAGER;
- /* virtual methods */
object_class->constructed = constructed;
object_class->dispose = dispose;
- /* Signals */
signals[AGENT_REGISTERED] =
- g_signal_new ("agent-registered",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMAgentManagerClass, agent_registered),
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- G_TYPE_OBJECT);
+ g_signal_new ("agent-registered",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE, 1,
+ G_TYPE_OBJECT);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (agent_manager_class),
NMDBUS_TYPE_AGENT_MANAGER_SKELETON,
diff --git a/src/settings/nm-agent-manager.h b/src/settings/nm-agent-manager.h
index 8240a2b513..7f8126935f 100644
--- a/src/settings/nm-agent-manager.h
+++ b/src/settings/nm-agent-manager.h
@@ -33,19 +33,9 @@
#define NM_IS_AGENT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_AGENT_MANAGER))
#define NM_AGENT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_AGENT_MANAGER, NMAgentManagerClass))
-struct _NMAgentManagerCallId;
typedef struct _NMAgentManagerCallId *NMAgentManagerCallId;
-struct _NMAgentManager {
- NMExportedObject parent;
-};
-
-typedef struct {
- NMExportedObjectClass parent;
-
- /* Signals */
- void (*agent_registered) (NMAgentManager *agent_mgr, NMSecretAgent *agent);
-} NMAgentManagerClass;
+typedef struct _NMAgentManagerClass NMAgentManagerClass;
GType nm_agent_manager_get_type (void);
diff --git a/src/settings/nm-inotify-helper.c b/src/settings/nm-inotify-helper.c
index ce15246c5a..44a102b059 100644
--- a/src/settings/nm-inotify-helper.c
+++ b/src/settings/nm-inotify-helper.c
@@ -20,35 +20,51 @@
#include "nm-default.h"
+#include "nm-inotify-helper.h"
+
#include <unistd.h>
#include <string.h>
#include <sys/inotify.h>
#include <errno.h>
-#include "nm-inotify-helper.h"
#include "NetworkManagerUtils.h"
/* NOTE: this code should be killed once we depend on a new enough glib to
* include the patches from https://bugzilla.gnome.org/show_bug.cgi?id=532815
*/
-G_DEFINE_TYPE (NMInotifyHelper, nm_inotify_helper, G_TYPE_OBJECT)
+/*****************************************************************************/
-#define NM_INOTIFY_HELPER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_INOTIFY_HELPER, NMInotifyHelperPrivate))
+enum {
+ EVENT,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
typedef struct {
int ifd;
-
GHashTable *wd_refs;
} NMInotifyHelperPrivate;
-/* Signals */
-enum {
- EVENT,
- LAST_SIGNAL
+struct _NMInotifyHelper {
+ GObject parent;
+ NMInotifyHelperPrivate _priv;
};
-static guint signals[LAST_SIGNAL] = { 0 };
+struct _NMInotifyHelperClass {
+ GObjectClass parent;
+};
+
+G_DEFINE_TYPE (NMInotifyHelper, nm_inotify_helper, G_TYPE_OBJECT)
+
+#define NM_INOTIFY_HELPER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMInotifyHelper, NM_IS_INOTIFY_HELPER)
+
+/*****************************************************************************/
+
+NM_DEFINE_SINGLETON_GETTER (NMInotifyHelper, nm_inotify_helper_get, NM_TYPE_INOTIFY_HELPER);
+
+/*****************************************************************************/
int
nm_inotify_helper_add_watch (NMInotifyHelper *self, const char *path)
@@ -139,7 +155,7 @@ init_inotify (NMInotifyHelper *self)
/* Watch the inotify descriptor for file/directory change events */
channel = g_io_channel_unix_new (priv->ifd);
g_io_channel_set_flags (channel, G_IO_FLAG_NONBLOCK, NULL);
- g_io_channel_set_encoding (channel, NULL, NULL);
+ g_io_channel_set_encoding (channel, NULL, NULL);
source_id = g_io_add_watch (channel,
G_IO_IN | G_IO_ERR,
@@ -149,7 +165,7 @@ init_inotify (NMInotifyHelper *self)
return TRUE;
}
-NM_DEFINE_SINGLETON_GETTER (NMInotifyHelper, nm_inotify_helper_get, NM_TYPE_INOTIFY_HELPER);
+/*****************************************************************************/
static void
nm_inotify_helper_init (NMInotifyHelper *self)
@@ -170,7 +186,7 @@ constructed (GObject *object)
static void
finalize (GObject *object)
{
- NMInotifyHelperPrivate *priv = NM_INOTIFY_HELPER_GET_PRIVATE (object);
+ NMInotifyHelperPrivate *priv = NM_INOTIFY_HELPER_GET_PRIVATE ((NMInotifyHelper *) object);
if (priv->ifd >= 0)
close (priv->ifd);
@@ -185,19 +201,15 @@ nm_inotify_helper_class_init (NMInotifyHelperClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (klass, sizeof (NMInotifyHelperPrivate));
-
- /* Virtual methods */
object_class->constructed = constructed;
object_class->finalize = finalize;
- /* Signals */
signals[EVENT] =
- g_signal_new ("event",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMInotifyHelperClass, event),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_STRING);
+ g_signal_new ("event",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_STRING);
}
diff --git a/src/settings/nm-inotify-helper.h b/src/settings/nm-inotify-helper.h
index 2ac9376cd8..2715f3eec5 100644
--- a/src/settings/nm-inotify-helper.h
+++ b/src/settings/nm-inotify-helper.h
@@ -18,10 +18,8 @@
* (C) Copyright 2008 Red Hat, Inc.
*/
-#ifndef __INOTIFY_HELPER_H__
-#define __INOTIFY_HELPER_H__
-
-#include <sys/inotify.h>
+#ifndef __NM_INOTIFY_HELPER_H__
+#define __NM_INOTIFY_HELPER_H__
/* NOTE: this code should be killed once we depend on a new enough glib to
* include the patches from https://bugzilla.gnome.org/show_bug.cgi?id=532815
@@ -34,16 +32,8 @@
#define NM_IS_INOTIFY_HELPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_INOTIFY_HELPER))
#define NM_INOTIFY_HELPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_INOTIFY_HELPER, NMInotifyHelperClass))
-typedef struct {
- GObject parent;
-} NMInotifyHelper;
-
-typedef struct {
- GObjectClass parent;
-
- /* signals */
- void (* event) (NMInotifyHelper *helper, struct inotify_event *evt, const char *filename);
-} NMInotifyHelperClass;
+typedef struct _NMInotifyHelper NMInotifyHelper;
+typedef struct _NMInotifyHelperClass NMInotifyHelperClass;
GType nm_inotify_helper_get_type (void);
@@ -53,4 +43,4 @@ int nm_inotify_helper_add_watch (NMInotifyHelper *helper, const char *path);
void nm_inotify_helper_remove_watch (NMInotifyHelper *helper, int wd);
-#endif /* __INOTIFY_HELPER_H__ */
+#endif /* __NM_INOTIFY_HELPER_H__ */
diff --git a/src/settings/nm-secret-agent.c b/src/settings/nm-secret-agent.c
index 8bc88fd4d6..233bdaf29f 100644
--- a/src/settings/nm-secret-agent.c
+++ b/src/settings/nm-secret-agent.c
@@ -20,11 +20,12 @@
#include "nm-default.h"
+#include "nm-secret-agent.h"
+
#include <sys/types.h>
#include <pwd.h>
#include "nm-dbus-interface.h"
-#include "nm-secret-agent.h"
#include "nm-bus-manager.h"
#include "nm-auth-subject.h"
#include "nm-simple-connection.h"
@@ -32,31 +33,14 @@
#include "nmdbus-secret-agent.h"
-#define _NMLOG_PREFIX_NAME "secret-agent"
-#define _NMLOG_DOMAIN LOGD_AGENTS
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- if (nm_logging_enabled ((level), (_NMLOG_DOMAIN))) { \
- char __prefix[32]; \
- \
- if ((self)) \
- g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", ""_NMLOG_PREFIX_NAME"", (self)); \
- else \
- g_strlcpy (__prefix, _NMLOG_PREFIX_NAME, sizeof (__prefix)); \
- _nm_log ((level), (_NMLOG_DOMAIN), 0, \
- "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- __prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } \
- } G_STMT_END
-
-#define LOG_REQ_FMT "req[%p,%s,%s%s%s%s]"
-#define LOG_REQ_ARG(req) (req), (req)->dbus_command, NM_PRINT_FMT_QUOTE_STRING ((req)->path), ((req)->cancellable ? "" : " (cancelled)")
+/*****************************************************************************/
-G_DEFINE_TYPE (NMSecretAgent, nm_secret_agent, G_TYPE_OBJECT)
+enum {
+ DISCONNECTED,
-#define NM_SECRET_AGENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_SECRET_AGENT, \
- NMSecretAgentPrivate))
+ LAST_SIGNAL
+};
+static guint signals[LAST_SIGNAL] = { 0 };
typedef struct {
char *description;
@@ -77,14 +61,42 @@ typedef struct {
GHashTable *requests;
} NMSecretAgentPrivate;
-enum {
- DISCONNECTED,
+struct _NMSecretAgent {
+ GObject parent;
+ NMSecretAgentPrivate _priv;
+};
- LAST_SIGNAL
+struct _NMSecretAgentClass {
+ GObjectClass parent;
};
-static guint signals[LAST_SIGNAL] = { 0 };
-/*************************************************************/
+G_DEFINE_TYPE (NMSecretAgent, nm_secret_agent, G_TYPE_OBJECT)
+
+#define NM_SECRET_AGENT_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMSecretAgent, NM_IS_SECRET_AGENT)
+
+/*****************************************************************************/
+
+#define _NMLOG_PREFIX_NAME "secret-agent"
+#define _NMLOG_DOMAIN LOGD_AGENTS
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ if (nm_logging_enabled ((level), (_NMLOG_DOMAIN))) { \
+ char __prefix[32]; \
+ \
+ if ((self)) \
+ g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", ""_NMLOG_PREFIX_NAME"", (self)); \
+ else \
+ g_strlcpy (__prefix, _NMLOG_PREFIX_NAME, sizeof (__prefix)); \
+ _nm_log ((level), (_NMLOG_DOMAIN), 0, \
+ "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ __prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } \
+ } G_STMT_END
+
+#define LOG_REQ_FMT "req[%p,%s,%s%s%s%s]"
+#define LOG_REQ_ARG(req) (req), (req)->dbus_command, NM_PRINT_FMT_QUOTE_STRING ((req)->path), ((req)->cancellable ? "" : " (cancelled)")
+
+/*****************************************************************************/
struct _NMSecretAgentCallId {
NMSecretAgent *agent;
@@ -153,7 +165,7 @@ request_check_return (Request *r)
return TRUE;
}
-/*************************************************************/
+/*****************************************************************************/
static char *
_create_description (const char *dbus_owner, const char *identifier, gulong uid)
@@ -307,7 +319,7 @@ nm_secret_agent_has_permission (NMSecretAgent *agent, const char *permission)
return FALSE;
}
-/*************************************************************/
+/*****************************************************************************/
static void
get_callback (GObject *proxy,
@@ -378,7 +390,7 @@ nm_secret_agent_get_secrets (NMSecretAgent *self,
return r;
}
-/*************************************************************/
+/*****************************************************************************/
static void
cancel_done (GObject *proxy, GAsyncResult *result, gpointer user_data)
@@ -468,7 +480,7 @@ nm_secret_agent_cancel_secrets (NMSecretAgent *self, NMSecretAgentCallId call_id
do_cancel_secrets (self, r, FALSE);
}
-/*************************************************************/
+/*****************************************************************************/
static void
agent_save_cb (GObject *proxy,
@@ -521,7 +533,7 @@ nm_secret_agent_save_secrets (NMSecretAgent *self,
return r;
}
-/*************************************************************/
+/*****************************************************************************/
static void
agent_delete_cb (GObject *proxy,
@@ -574,7 +586,7 @@ nm_secret_agent_delete_secrets (NMSecretAgent *self,
return r;
}
-/*************************************************************/
+/*****************************************************************************/
static void
_on_disconnected_cleanup (NMSecretAgentPrivate *priv)
@@ -640,7 +652,7 @@ _on_disconnected_name_owner_changed (GDBusConnection *connection,
}
}
-/*************************************************************/
+/*****************************************************************************/
NMSecretAgent *
nm_secret_agent_new (GDBusMethodInvocation *context,
@@ -783,20 +795,16 @@ nm_secret_agent_class_init (NMSecretAgentClass *config_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (config_class);
- g_type_class_add_private (config_class, sizeof (NMSecretAgentPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
object_class->finalize = finalize;
- /* signals */
signals[DISCONNECTED] =
- g_signal_new (NM_SECRET_AGENT_DISCONNECTED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- G_STRUCT_OFFSET (NMSecretAgentClass, disconnected),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
+ g_signal_new (NM_SECRET_AGENT_DISCONNECTED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
}
diff --git a/src/settings/nm-secret-agent.h b/src/settings/nm-secret-agent.h
index 916623a7d6..0b6da136a4 100644
--- a/src/settings/nm-secret-agent.h
+++ b/src/settings/nm-secret-agent.h
@@ -32,15 +32,7 @@
#define NM_SECRET_AGENT_DISCONNECTED "disconnected"
-struct _NMSecretAgent {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-
- void (*disconnected) (NMSecretAgent *self);
-} NMSecretAgentClass;
+typedef struct _NMSecretAgentClass NMSecretAgentClass;
typedef struct _NMSecretAgentCallId *NMSecretAgentCallId;
diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c
index f22807d341..d373cb3ce1 100644
--- a/src/settings/nm-settings-connection.c
+++ b/src/settings/nm-settings-connection.c
@@ -40,38 +40,10 @@
#define SETTINGS_TIMESTAMPS_FILE NMSTATEDIR "/timestamps"
#define SETTINGS_SEEN_BSSIDS_FILE NMSTATEDIR "/seen-bssids"
-#define _NMLOG_DOMAIN LOGD_SETTINGS
-#define _NMLOG_PREFIX_NAME "settings-connection"
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- const NMLogLevel __level = (level); \
- \
- if (nm_logging_enabled (__level, _NMLOG_DOMAIN)) { \
- char __prefix[128]; \
- const char *__p_prefix = _NMLOG_PREFIX_NAME; \
- \
- if (self) { \
- const char *__uuid = nm_settings_connection_get_uuid (self); \
- \
- g_snprintf (__prefix, sizeof (__prefix), "%s[%p%s%s]", _NMLOG_PREFIX_NAME, self, __uuid ? "," : "", __uuid ? __uuid : ""); \
- __p_prefix = __prefix; \
- } \
- _nm_log (__level, _NMLOG_DOMAIN, 0, \
- "%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
- __p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
- } \
- } G_STMT_END
+/*****************************************************************************/
static void nm_settings_connection_connection_interface_init (NMConnectionInterface *iface);
-G_DEFINE_TYPE_WITH_CODE (NMSettingsConnection, nm_settings_connection, NM_TYPE_EXPORTED_OBJECT,
- G_IMPLEMENT_INTERFACE (NM_TYPE_CONNECTION, nm_settings_connection_connection_interface_init)
- )
-
-#define NM_SETTINGS_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_SETTINGS_CONNECTION, \
- NMSettingsConnectionPrivate))
-
NM_GOBJECT_PROPERTIES_DEFINE (NMSettingsConnection,
PROP_VISIBLE,
PROP_UNSAVED,
@@ -86,9 +58,10 @@ enum {
UPDATED_INTERNAL,
LAST_SIGNAL
};
+
static guint signals[LAST_SIGNAL] = { 0 };
-typedef struct {
+typedef struct _NMSettingsConnectionPrivate {
gboolean removed;
NMAgentManager *agent_mgr;
@@ -127,10 +100,39 @@ typedef struct {
NMDeviceStateReason autoconnect_blocked_reason;
char *filename;
-
} NMSettingsConnectionPrivate;
-/*******************************************************************/
+G_DEFINE_TYPE_WITH_CODE (NMSettingsConnection, nm_settings_connection, NM_TYPE_EXPORTED_OBJECT,
+ G_IMPLEMENT_INTERFACE (NM_TYPE_CONNECTION, nm_settings_connection_connection_interface_init)
+ )
+
+#define NM_SETTINGS_CONNECTION_GET_PRIVATE(self) _NM_GET_PRIVATE_PTR (self, NMSettingsConnection, NM_IS_SETTINGS_CONNECTION)
+
+/*****************************************************************************/
+
+#define _NMLOG_DOMAIN LOGD_SETTINGS
+#define _NMLOG_PREFIX_NAME "settings-connection"
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ const NMLogLevel __level = (level); \
+ \
+ if (nm_logging_enabled (__level, _NMLOG_DOMAIN)) { \
+ char __prefix[128]; \
+ const char *__p_prefix = _NMLOG_PREFIX_NAME; \
+ \
+ if (self) { \
+ const char *__uuid = nm_settings_connection_get_uuid (self); \
+ \
+ g_snprintf (__prefix, sizeof (__prefix), "%s[%p%s%s]", _NMLOG_PREFIX_NAME, self, __uuid ? "," : "", __uuid ? __uuid : ""); \
+ __p_prefix = __prefix; \
+ } \
+ _nm_log (__level, _NMLOG_DOMAIN, 0, \
+ "%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
+ __p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
+ } \
+ } G_STMT_END
+
+/*****************************************************************************/
static void
_emit_updated (NMSettingsConnection *self, gboolean by_user)
@@ -139,7 +141,7 @@ _emit_updated (NMSettingsConnection *self, gboolean by_user)
g_signal_emit (self, signals[UPDATED_INTERNAL], 0, by_user);
}
-/*******************************************************************/
+/*****************************************************************************/
gboolean
nm_settings_connection_has_unmodified_applied_connection (NMSettingsConnection *self,
@@ -155,7 +157,7 @@ nm_settings_connection_has_unmodified_applied_connection (NMSettingsConnection *
return nm_connection_compare (NM_CONNECTION (self), applied_connection, compare_flags);
}
-/**************************************************************/
+/*****************************************************************************/
/* Return TRUE to keep, FALSE to drop */
typedef gboolean (*ForEachSecretFunc) (NMSettingSecretFlags flags,
@@ -290,7 +292,7 @@ find_secret (NMConnection *self,
return data.found;
}
-/**************************************************************/
+/*****************************************************************************/
static void
set_visible (NMSettingsConnection *self, gboolean new_visible)
@@ -357,7 +359,7 @@ session_changed_cb (NMSessionMonitor *self, gpointer user_data)
nm_settings_connection_recheck_visibility (NM_SETTINGS_CONNECTION (user_data));
}
-/**************************************************************/
+/*****************************************************************************/
/* Return TRUE if any active user in the connection's ACL has the given
* permission without having to authorize for it via PolicyKit. Connections
@@ -408,7 +410,7 @@ nm_settings_connection_check_permission (NMSettingsConnection *self,
return FALSE;
}
-/**************************************************************/
+/*****************************************************************************/
static gboolean
secrets_filter_cb (NMSetting *setting,
@@ -759,7 +761,7 @@ do_delete (NMSettingsConnection *self,
g_object_unref (self);
}
-/**************************************************************/
+/*****************************************************************************/
typedef enum {
@@ -1933,7 +1935,7 @@ out_err:
g_dbus_method_invocation_take_error (context, error);
}
-/**************************************************************/
+/*****************************************************************************/
static void
dbus_get_agent_secrets_cb (NMSettingsConnection *self,
@@ -2084,7 +2086,7 @@ impl_settings_connection_clear_secrets (NMSettingsConnection *self,
}
}
-/**************************************************************/
+/*****************************************************************************/
void
nm_settings_connection_signal_remove (NMSettingsConnection *self)
@@ -2103,7 +2105,7 @@ nm_settings_connection_get_unsaved (NMSettingsConnection *self)
return NM_FLAGS_HAS (nm_settings_connection_get_flags (self), NM_SETTINGS_CONNECTION_FLAGS_UNSAVED);
}
-/**************************************************************/
+/*****************************************************************************/
NMSettingsConnectionFlags
nm_settings_connection_get_flags (NMSettingsConnection *self)
@@ -2149,7 +2151,7 @@ nm_settings_connection_set_flags_all (NMSettingsConnection *self, NMSettingsConn
return old_flags;
}
-/*************************************************************/
+/*****************************************************************************/
/**
* nm_settings_connection_get_timestamp:
@@ -2604,12 +2606,15 @@ nm_settings_connection_get_uuid (NMSettingsConnection *self)
return nm_connection_get_uuid (NM_CONNECTION (self));
}
-/**************************************************************/
+/*****************************************************************************/
static void
nm_settings_connection_init (NMSettingsConnection *self)
{
- NMSettingsConnectionPrivate *priv = NM_SETTINGS_CONNECTION_GET_PRIVATE (self);
+ NMSettingsConnectionPrivate *priv;
+
+ priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NM_TYPE_SETTINGS_CONNECTION, NMSettingsConnectionPrivate);
+ self->_priv = priv;
priv->visible = FALSE;
priv->ready = TRUE;
@@ -2748,7 +2753,6 @@ nm_settings_connection_class_init (NMSettingsConnectionClass *class)
exported_object_class->export_path = NM_DBUS_PATH_SETTINGS "/%u";
- /* Virtual methods */
object_class->constructed = constructed;
object_class->dispose = dispose;
object_class->get_property = get_property;
@@ -2759,7 +2763,6 @@ nm_settings_connection_class_init (NMSettingsConnectionClass *class)
class->delete = do_delete;
class->supports_secrets = supports_secrets;
- /* Properties */
obj_properties[PROP_VISIBLE] =
g_param_spec_boolean (NM_SETTINGS_CONNECTION_VISIBLE, "", "",
FALSE,
@@ -2794,7 +2797,6 @@ nm_settings_connection_class_init (NMSettingsConnectionClass *class)
g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
- /* Signals */
signals[UPDATED] =
g_signal_new (NM_SETTINGS_CONNECTION_UPDATED,
diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h
index 761203ead6..737ba7010b 100644
--- a/src/settings/nm-settings-connection.h
+++ b/src/settings/nm-settings-connection.h
@@ -95,8 +95,11 @@ typedef void (*NMSettingsConnectionDeleteFunc) (NMSettingsConnection *self,
GError *error,
gpointer user_data);
+struct _NMSettingsConnectionPrivate;
+
struct _NMSettingsConnection {
NMExportedObject parent;
+ struct _NMSettingsConnectionPrivate *_priv;
};
struct _NMSettingsConnectionClass {
diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c
index 7ea7530a4c..06d261af86 100644
--- a/src/settings/nm-settings.c
+++ b/src/settings/nm-settings.c
@@ -74,23 +74,14 @@
#include "nm-audit-manager.h"
#include "NetworkManagerUtils.h"
#include "nm-dispatcher.h"
+#include "nm-inotify-helper.h"
#include "nmdbus-settings.h"
-#define _NMLOG_DOMAIN LOGD_SETTINGS
-#define _NMLOG_PREFIX_NAME "settings"
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- nm_log ((level), _NMLOG_DOMAIN, \
- "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- _NMLOG_PREFIX_NAME": " \
- _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } G_STMT_END
+/*****************************************************************************/
-/* LINKER CRACKROCK */
#define EXPORT(sym) void * __export_##sym = &sym;
-#include "nm-inotify-helper.h"
EXPORT(nm_inotify_helper_get_type)
EXPORT(nm_inotify_helper_get)
EXPORT(nm_inotify_helper_add_watch)
@@ -99,7 +90,8 @@ EXPORT(nm_inotify_helper_remove_watch)
EXPORT(nm_settings_connection_get_type)
EXPORT(nm_settings_connection_replace_settings)
EXPORT(nm_settings_connection_replace_and_commit)
-/* END LINKER CRACKROCK */
+
+/*****************************************************************************/
#define HOSTNAMED_SERVICE_NAME "org.freedesktop.hostname1"
#define HOSTNAMED_SERVICE_PATH "/org/freedesktop/hostname1"
@@ -127,17 +119,27 @@ EXPORT(nm_settings_connection_replace_and_commit)
#define HOSTNAME_FILE HOSTNAME_FILE_DEFAULT
#endif
-static void claim_connection (NMSettings *self,
- NMSettingsConnection *connection);
+/*****************************************************************************/
-static void unmanaged_specs_changed (NMSettingsPlugin *config, gpointer user_data);
-static void unrecognized_specs_changed (NMSettingsPlugin *config, gpointer user_data);
+NM_GOBJECT_PROPERTIES_DEFINE (NMSettings,
+ PROP_UNMANAGED_SPECS,
+ PROP_HOSTNAME,
+ PROP_CAN_MODIFY,
+ PROP_CONNECTIONS,
+ PROP_STARTUP_COMPLETE,
+);
-static void connection_ready_changed (NMSettingsConnection *conn,
- GParamSpec *pspec,
- gpointer user_data);
+enum {
+ CONNECTION_ADDED,
+ CONNECTION_UPDATED,
+ CONNECTION_REMOVED,
+ CONNECTION_VISIBILITY_CHANGED,
+ AGENT_REGISTERED,
+ NEW_CONNECTION, /* exported, not used internally */
+ LAST_SIGNAL
+};
-G_DEFINE_TYPE (NMSettings, nm_settings, NM_TYPE_EXPORTED_OBJECT);
+static guint signals[LAST_SIGNAL] = { 0 };
typedef struct {
NMAgentManager *agent_mgr;
@@ -166,27 +168,44 @@ typedef struct {
} hostname;
} NMSettingsPrivate;
-#define NM_SETTINGS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTINGS, NMSettingsPrivate))
-
-enum {
- CONNECTION_ADDED,
- CONNECTION_UPDATED,
- CONNECTION_REMOVED,
- CONNECTION_VISIBILITY_CHANGED,
- AGENT_REGISTERED,
+struct _NMSettings {
+ NMExportedObject parent;
+ NMSettingsPrivate _priv;
+};
- NEW_CONNECTION, /* exported, not used internally */
- LAST_SIGNAL
+struct _NMSettingsClass {
+ NMExportedObjectClass parent;
};
-static guint signals[LAST_SIGNAL] = { 0 };
-NM_GOBJECT_PROPERTIES_DEFINE (NMSettings,
- PROP_UNMANAGED_SPECS,
- PROP_HOSTNAME,
- PROP_CAN_MODIFY,
- PROP_CONNECTIONS,
- PROP_STARTUP_COMPLETE,
-);
+G_DEFINE_TYPE (NMSettings, nm_settings, NM_TYPE_EXPORTED_OBJECT);
+
+#define NM_SETTINGS_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMSettings, NM_IS_SETTINGS)
+
+/*****************************************************************************/
+
+#define _NMLOG_DOMAIN LOGD_SETTINGS
+#define _NMLOG_PREFIX_NAME "settings"
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ nm_log ((level), _NMLOG_DOMAIN, \
+ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ _NMLOG_PREFIX_NAME": " \
+ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } G_STMT_END
+
+/*****************************************************************************/
+
+static void claim_connection (NMSettings *self,
+ NMSettingsConnection *connection);
+
+static void unmanaged_specs_changed (NMSettingsPlugin *config, gpointer user_data);
+static void unrecognized_specs_changed (NMSettingsPlugin *config, gpointer user_data);
+
+static void connection_ready_changed (NMSettingsConnection *conn,
+ GParamSpec *pspec,
+ gpointer user_data);
+
+/*****************************************************************************/
static void
check_startup_complete (NMSettings *self)
@@ -2069,7 +2088,7 @@ nm_settings_device_removed (NMSettings *self, NMDevice *device, gboolean quittin
}
}
-/***************************************************************/
+/*****************************************************************************/
/* GCompareFunc helper for sorting "best" connections.
* The function sorts connections in ascending timestamp order.
@@ -2170,7 +2189,7 @@ nm_settings_get_best_connections (NMSettings *self,
return g_slist_reverse (sorted);
}
-/***************************************************************/
+/*****************************************************************************/
gboolean
nm_settings_get_startup_complete (NMSettings *self)
@@ -2180,7 +2199,7 @@ nm_settings_get_startup_complete (NMSettings *self)
return priv->startup_complete;
}
-/***************************************************************/
+/*****************************************************************************/
static void
hostnamed_properties_changed (GDBusProxy *proxy,
@@ -2265,22 +2284,6 @@ setup_hostname_file_monitors (NMSettings *self)
hostname_maybe_changed (self);
}
-NMSettings *
-nm_settings_new (void)
-{
- NMSettings *self;
- NMSettingsPrivate *priv;
-
- self = g_object_new (NM_TYPE_SETTINGS, NULL);
-
- priv = NM_SETTINGS_GET_PRIVATE (self);
-
- priv->config = nm_config_get ();
-
- nm_exported_object_export (NM_EXPORTED_OBJECT (self));
- return self;
-}
-
gboolean
nm_settings_start (NMSettings *self, GError **error)
{
@@ -2330,6 +2333,57 @@ nm_settings_start (NMSettings *self, GError **error)
return TRUE;
}
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ NMSettings *self = NM_SETTINGS (object);
+ NMSettingsPrivate *priv = NM_SETTINGS_GET_PRIVATE (self);
+ const GSList *specs, *iter;
+ GHashTableIter citer;
+ GPtrArray *array;
+ const char *path;
+
+ switch (prop_id) {
+ case PROP_UNMANAGED_SPECS:
+ array = g_ptr_array_new ();
+ specs = nm_settings_get_unmanaged_specs (self);
+ for (iter = specs; iter; iter = g_slist_next (iter))
+ g_ptr_array_add (array, g_strdup (iter->data));
+ g_ptr_array_add (array, NULL);
+ g_value_take_boxed (value, (char **) g_ptr_array_free (array, FALSE));
+ break;
+ case PROP_HOSTNAME:
+ g_value_take_string (value, nm_settings_get_hostname (self));
+
+ /* Don't ever pass NULL through D-Bus */
+ if (!g_value_get_string (value))
+ g_value_set_static_string (value, "");
+ break;
+ case PROP_CAN_MODIFY:
+ g_value_set_boolean (value, !!get_plugin (self, NM_SETTINGS_PLUGIN_CAP_MODIFY_CONNECTIONS));
+ break;
+ case PROP_CONNECTIONS:
+ array = g_ptr_array_sized_new (g_hash_table_size (priv->connections) + 1);
+ g_hash_table_iter_init (&citer, priv->connections);
+ while (g_hash_table_iter_next (&citer, (gpointer) &path, NULL))
+ g_ptr_array_add (array, g_strdup (path));
+ g_ptr_array_add (array, NULL);
+ g_value_take_boxed (value, (char **) g_ptr_array_free (array, FALSE));
+ break;
+ case PROP_STARTUP_COMPLETE:
+ g_value_set_boolean (value, nm_settings_get_startup_complete (self));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
static void
nm_settings_init (NMSettings *self)
{
@@ -2344,9 +2398,17 @@ nm_settings_init (NMSettings *self)
*/
priv->agent_mgr = g_object_ref (nm_agent_manager_get ());
+ priv->config = g_object_ref (nm_config_get ());
+
g_signal_connect (priv->agent_mgr, "agent-registered", G_CALLBACK (secret_agent_registered), self);
}
+NMSettings *
+nm_settings_new (void)
+{
+ return g_object_new (NM_TYPE_SETTINGS, NULL);
+}
+
static void
dispose (GObject *object)
{
@@ -2401,54 +2463,9 @@ finalize (GObject *object)
g_slist_free_full (priv->plugins, g_object_unref);
- G_OBJECT_CLASS (nm_settings_parent_class)->finalize (object);
-}
-
-static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMSettings *self = NM_SETTINGS (object);
- NMSettingsPrivate *priv = NM_SETTINGS_GET_PRIVATE (self);
- const GSList *specs, *iter;
- GHashTableIter citer;
- GPtrArray *array;
- const char *path;
+ g_clear_object (&priv->config);
- switch (prop_id) {
- case PROP_UNMANAGED_SPECS:
- array = g_ptr_array_new ();
- specs = nm_settings_get_unmanaged_specs (self);
- for (iter = specs; iter; iter = g_slist_next (iter))
- g_ptr_array_add (array, g_strdup (iter->data));
- g_ptr_array_add (array, NULL);
- g_value_take_boxed (value, (char **) g_ptr_array_free (array, FALSE));
- break;
- case PROP_HOSTNAME:
- g_value_take_string (value, nm_settings_get_hostname (self));
-
- /* Don't ever pass NULL through D-Bus */
- if (!g_value_get_string (value))
- g_value_set_static_string (value, "");
- break;
- case PROP_CAN_MODIFY:
- g_value_set_boolean (value, !!get_plugin (self, NM_SETTINGS_PLUGIN_CAP_MODIFY_CONNECTIONS));
- break;
- case PROP_CONNECTIONS:
- array = g_ptr_array_sized_new (g_hash_table_size (priv->connections) + 1);
- g_hash_table_iter_init (&citer, priv->connections);
- while (g_hash_table_iter_next (&citer, (gpointer) &path, NULL))
- g_ptr_array_add (array, g_strdup (path));
- g_ptr_array_add (array, NULL);
- g_value_take_boxed (value, (char **) g_ptr_array_free (array, FALSE));
- break;
- case PROP_STARTUP_COMPLETE:
- g_value_set_boolean (value, nm_settings_get_startup_complete (self));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+ G_OBJECT_CLASS (nm_settings_parent_class)->finalize (object);
}
static void
@@ -2457,17 +2474,12 @@ nm_settings_class_init (NMSettingsClass *class)
GObjectClass *object_class = G_OBJECT_CLASS (class);
NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (class);
- g_type_class_add_private (class, sizeof (NMSettingsPrivate));
-
exported_object_class->export_path = NM_DBUS_PATH_SETTINGS;
- /* virtual methods */
object_class->get_property = get_property;
object_class->dispose = dispose;
object_class->finalize = finalize;
- /* properties */
-
obj_properties[PROP_UNMANAGED_SPECS] =
g_param_spec_boxed (NM_SETTINGS_UNMANAGED_SPECS, "", "",
G_TYPE_STRV,
@@ -2500,7 +2512,6 @@ nm_settings_class_init (NMSettingsClass *class)
g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
- /* signals */
signals[CONNECTION_ADDED] =
g_signal_new (NM_SETTINGS_SIGNAL_CONNECTION_ADDED,
G_OBJECT_CLASS_TYPE (object_class),
diff --git a/src/settings/nm-settings.h b/src/settings/nm-settings.h
index a0be42eef3..c8a7ebae0c 100644
--- a/src/settings/nm-settings.h
+++ b/src/settings/nm-settings.h
@@ -61,13 +61,7 @@ typedef gboolean (*NMConnectionFilterFunc) (NMSettings *settings,
NMConnection *connection,
gpointer func_data);
-struct _NMSettings {
- NMExportedObject parent_instance;
-};
-
-typedef struct {
- NMExportedObjectClass parent_class;
-} NMSettingsClass;
+typedef struct _NMSettingsClass NMSettingsClass;
typedef void (*NMSettingsSetHostnameCb) (const char *name, gboolean result, gpointer user_data);
diff --git a/src/settings/plugins/ibft/nm-ibft-connection.c b/src/settings/plugins/ibft/nm-ibft-connection.c
index 95495b5cab..24cfdc19ad 100644
--- a/src/settings/plugins/ibft/nm-ibft-connection.c
+++ b/src/settings/plugins/ibft/nm-ibft-connection.c
@@ -20,17 +20,34 @@
#include "nm-default.h"
+#include "nm-ibft-connection.h"
+
#include <string.h>
#include <net/ethernet.h>
#include <netinet/ether.h>
-
#include <glib/gstdio.h>
-#include "nm-ibft-connection.h"
#include "reader.h"
+/*****************************************************************************/
+
+struct _NMIbftConnection {
+ NMSettingsConnection parent;
+};
+
+struct _NMIbftConnectionClass {
+ NMSettingsConnectionClass parent;
+};
+
G_DEFINE_TYPE (NMIbftConnection, nm_ibft_connection, NM_TYPE_SETTINGS_CONNECTION)
+/*****************************************************************************/
+
+static void
+nm_ibft_connection_init (NMIbftConnection *connection)
+{
+}
+
NMIbftConnection *
nm_ibft_connection_new (const GPtrArray *block, GError **error)
{
@@ -53,13 +70,6 @@ nm_ibft_connection_new (const GPtrArray *block, GError **error)
return (NMIbftConnection *) object;
}
-/* GObject */
-
-static void
-nm_ibft_connection_init (NMIbftConnection *connection)
-{
-}
-
static void
nm_ibft_connection_class_init (NMIbftConnectionClass *ibft_connection_class)
{
diff --git a/src/settings/plugins/ibft/nm-ibft-connection.h b/src/settings/plugins/ibft/nm-ibft-connection.h
index a4ee17ac7c..95494095be 100644
--- a/src/settings/plugins/ibft/nm-ibft-connection.h
+++ b/src/settings/plugins/ibft/nm-ibft-connection.h
@@ -30,13 +30,8 @@
#define NM_IS_IBFT_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_IBFT_CONNECTION))
#define NM_IBFT_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_IBFT_CONNECTION, NMIbftConnectionClass))
-typedef struct {
- NMSettingsConnection parent;
-} NMIbftConnection;
-
-typedef struct {
- NMSettingsConnectionClass parent;
-} NMIbftConnectionClass;
+typedef struct _NMIbftConnection NMIbftConnection;
+typedef struct _NMIbftConnectionClass NMIbftConnectionClass;
GType nm_ibft_connection_get_type (void);
diff --git a/src/settings/plugins/ibft/plugin.c b/src/settings/plugins/ibft/plugin.c
index 6f9b8c82c9..c663e36110 100644
--- a/src/settings/plugins/ibft/plugin.c
+++ b/src/settings/plugins/ibft/plugin.c
@@ -20,38 +20,52 @@
#include "nm-default.h"
+#include "plugin.h"
+
#include <string.h>
#include <unistd.h>
#include <errno.h>
-
#include <gmodule.h>
#include "nm-setting-connection.h"
-
#include "nm-settings-plugin.h"
#include "NetworkManagerUtils.h"
-#include "plugin.h"
#include "reader.h"
#include "nm-ibft-connection.h"
+/*****************************************************************************/
+
+typedef struct {
+ GHashTable *connections; /* uuid::connection */
+ gboolean initialized;
+} SettingsPluginIbftPrivate;
+
+struct _SettingsPluginIbft {
+ GObject parent;
+ SettingsPluginIbftPrivate _priv;
+};
+
+struct _SettingsPluginIbftClass {
+ GObjectClass parent;
+};
+
static void settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface);
G_DEFINE_TYPE_EXTENDED (SettingsPluginIbft, settings_plugin_ibft, G_TYPE_OBJECT, 0,
G_IMPLEMENT_INTERFACE (NM_TYPE_SETTINGS_PLUGIN,
settings_plugin_interface_init))
-#define SETTINGS_PLUGIN_IBFT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SETTINGS_TYPE_PLUGIN_IBFT, SettingsPluginIbftPrivate))
+#define SETTINGS_PLUGIN_IBFT_GET_PRIVATE(self) _NM_GET_PRIVATE (self, SettingsPluginIbft, SETTINGS_IS_PLUGIN_IBFT)
-
-typedef struct {
- GHashTable *connections; /* uuid::connection */
- gboolean initialized;
-} SettingsPluginIbftPrivate;
+/*****************************************************************************/
static SettingsPluginIbft *settings_plugin_ibft_get (void);
+
NM_DEFINE_SINGLETON_GETTER (SettingsPluginIbft, settings_plugin_ibft_get, SETTINGS_TYPE_PLUGIN_IBFT);
+/*****************************************************************************/
+
static void
read_connections (SettingsPluginIbft *self)
{
@@ -104,6 +118,30 @@ get_connections (NMSettingsPlugin *config)
return list;
}
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ switch (prop_id) {
+ case NM_SETTINGS_PLUGIN_PROP_NAME:
+ g_value_set_string (value, "iBFT");
+ break;
+ case NM_SETTINGS_PLUGIN_PROP_INFO:
+ g_value_set_string (value, "(c) 2014 Red Hat, Inc. To report bugs please use the NetworkManager mailing list.");
+ break;
+ case NM_SETTINGS_PLUGIN_PROP_CAPABILITIES:
+ g_value_set_uint (value, NM_SETTINGS_PLUGIN_CAP_NONE);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
static void
init (NMSettingsPlugin *config)
{
@@ -132,42 +170,12 @@ dispose (GObject *object)
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- switch (prop_id) {
- case NM_SETTINGS_PLUGIN_PROP_NAME:
- g_value_set_string (value, "iBFT");
- break;
- case NM_SETTINGS_PLUGIN_PROP_INFO:
- g_value_set_string (value, "(c) 2014 Red Hat, Inc. To report bugs please use the NetworkManager mailing list.");
- break;
- case NM_SETTINGS_PLUGIN_PROP_CAPABILITIES:
- g_value_set_uint (value, NM_SETTINGS_PLUGIN_CAP_NONE);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-}
-
-static void
settings_plugin_ibft_class_init (SettingsPluginIbftClass *req_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (req_class);
- g_type_class_add_private (req_class, sizeof (SettingsPluginIbftPrivate));
-
object_class->dispose = dispose;
object_class->get_property = get_property;
- object_class->set_property = set_property;
g_object_class_override_property (object_class,
NM_SETTINGS_PLUGIN_PROP_NAME,
@@ -185,11 +193,12 @@ settings_plugin_ibft_class_init (SettingsPluginIbftClass *req_class)
static void
settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface)
{
- /* interface implementation */
plugin_iface->get_connections = get_connections;
plugin_iface->init = init;
}
+/*****************************************************************************/
+
G_MODULE_EXPORT GObject *
nm_settings_plugin_factory (void)
{
diff --git a/src/settings/plugins/ibft/plugin.h b/src/settings/plugins/ibft/plugin.h
index 4867e07daa..5c44a1c950 100644
--- a/src/settings/plugins/ibft/plugin.h
+++ b/src/settings/plugins/ibft/plugin.h
@@ -31,15 +31,7 @@
typedef struct _SettingsPluginIbft SettingsPluginIbft;
typedef struct _SettingsPluginIbftClass SettingsPluginIbftClass;
-struct _SettingsPluginIbft {
- GObject parent;
-};
-
-struct _SettingsPluginIbftClass {
- GObjectClass parent;
-};
-
GType settings_plugin_ibft_get_type (void);
-#endif /* _PLUGIN_H_ */
+#endif /* _PLUGIN_H_ */
diff --git a/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c b/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
index 184e95b2aa..09c585a9da 100644
--- a/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
+++ b/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.c
@@ -23,7 +23,7 @@
#include "nm-ifcfg-connection.h"
#include <string.h>
-
+#include <sys/inotify.h>
#include <glib/gstdio.h>
#include "nm-dbus-interface.h"
@@ -44,9 +44,19 @@
#include "nm-inotify-helper.h"
#include "utils.h"
-G_DEFINE_TYPE (NMIfcfgConnection, nm_ifcfg_connection, NM_TYPE_SETTINGS_CONNECTION)
+/*****************************************************************************/
+
+NM_GOBJECT_PROPERTIES_DEFINE_BASE (
+ PROP_UNMANAGED_SPEC,
+ PROP_UNRECOGNIZED_SPEC,
+);
-#define NM_IFCFG_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_IFCFG_CONNECTION, NMIfcfgConnectionPrivate))
+enum {
+ IFCFG_CHANGED,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL] = { 0 };
typedef struct {
gulong ih_event_id;
@@ -71,20 +81,20 @@ typedef struct {
NMInotifyHelper *inotify_helper;
} NMIfcfgConnectionPrivate;
-enum {
- PROP_0,
- PROP_UNMANAGED_SPEC,
- PROP_UNRECOGNIZED_SPEC,
- LAST_PROP
+struct _NMIfcfgConnection {
+ NMSettingsConnection parent;
+ NMIfcfgConnectionPrivate _priv;
};
-/* Signals */
-enum {
- IFCFG_CHANGED,
- LAST_SIGNAL
+struct _NMIfcfgConnectionClass {
+ NMSettingsConnectionClass parent;
};
-static guint signals[LAST_SIGNAL] = { 0 };
+G_DEFINE_TYPE (NMIfcfgConnection, nm_ifcfg_connection, NM_TYPE_SETTINGS_CONNECTION)
+
+#define NM_IFCFG_CONNECTION_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMIfcfgConnection, NM_IS_IFCFG_CONNECTION)
+
+/*****************************************************************************/
static NMInotifyHelper *
_get_inotify_helper (NMIfcfgConnectionPrivate *priv)
@@ -110,7 +120,7 @@ link_changed (NMPlatform *platform, NMPObjectType *obj_type, int ifindex, const
NMPlatformSignalChangeType change_type,
NMConnection *self)
{
- NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE (self);
+ NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE ((NMIfcfgConnection *) self);
const char *ifname;
ifname = nm_connection_get_interface_name (self);
@@ -211,63 +221,6 @@ files_changed_cb (NMInotifyHelper *ih,
g_signal_emit (self, signals[IFCFG_CHANGED], 0);
}
-NMIfcfgConnection *
-nm_ifcfg_connection_new (NMConnection *source,
- const char *full_path,
- GError **error,
- gboolean *out_ignore_error)
-{
- GObject *object;
- NMConnection *tmp;
- char *unhandled_spec = NULL;
- const char *unmanaged_spec = NULL, *unrecognized_spec = NULL;
- gboolean update_unsaved = TRUE;
-
- g_assert (source || full_path);
-
- if (out_ignore_error)
- *out_ignore_error = FALSE;
-
- /* If we're given a connection already, prefer that instead of re-reading */
- if (source)
- tmp = g_object_ref (source);
- else {
- tmp = connection_from_file (full_path,
- &unhandled_spec,
- error,
- out_ignore_error);
- if (!tmp)
- return NULL;
-
- /* If we just read the connection from disk, it's clearly not Unsaved */
- update_unsaved = FALSE;
- }
-
- if (unhandled_spec && g_str_has_prefix (unhandled_spec, "unmanaged:"))
- unmanaged_spec = unhandled_spec + strlen ("unmanaged:");
- else if (unhandled_spec && g_str_has_prefix (unhandled_spec, "unrecognized:"))
- unrecognized_spec = unhandled_spec + strlen ("unrecognized:");
-
- object = (GObject *) g_object_new (NM_TYPE_IFCFG_CONNECTION,
- NM_SETTINGS_CONNECTION_FILENAME, full_path,
- NM_IFCFG_CONNECTION_UNMANAGED_SPEC, unmanaged_spec,
- NM_IFCFG_CONNECTION_UNRECOGNIZED_SPEC, unrecognized_spec,
- NULL);
- /* Update our settings with what was read from the file */
- if (nm_settings_connection_replace_settings (NM_SETTINGS_CONNECTION (object),
- tmp,
- update_unsaved,
- NULL,
- error))
- nm_ifcfg_connection_check_devtimeout (NM_IFCFG_CONNECTION (object));
- else
- g_clear_object (&object);
-
- g_object_unref (tmp);
- g_free (unhandled_spec);
- return (NMIfcfgConnection *) object;
-}
-
static void
path_watch_stop (NMIfcfgConnection *self)
{
@@ -382,7 +335,7 @@ commit_changes (NMSettingsConnection *connection,
NMSettingsConnectionCommitFunc callback,
gpointer user_data)
{
- NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE (connection);
+ NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE ((NMIfcfgConnection *) connection);
GError *error = NULL;
NMConnection *reread;
gboolean same = FALSE, success = FALSE;
@@ -444,7 +397,7 @@ do_delete (NMSettingsConnection *connection,
NMSettingsConnectionDeleteFunc callback,
gpointer user_data)
{
- NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE (connection);
+ NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE ((NMIfcfgConnection *) connection);
const char *filename;
filename = nm_settings_connection_get_filename (connection);
@@ -461,27 +414,20 @@ do_delete (NMSettingsConnection *connection,
NM_SETTINGS_CONNECTION_CLASS (nm_ifcfg_connection_parent_class)->delete (connection, callback, user_data);
}
-/* GObject */
+/*****************************************************************************/
static void
-nm_ifcfg_connection_init (NMIfcfgConnection *connection)
-{
- g_signal_connect (connection, "notify::" NM_SETTINGS_CONNECTION_FILENAME,
- G_CALLBACK (filename_changed), NULL);
-}
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
{
- NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE (object);
+ NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE ((NMIfcfgConnection *) object);
switch (prop_id) {
case PROP_UNMANAGED_SPEC:
- priv->unmanaged_spec = g_value_dup_string (value);
+ g_value_set_string (value, priv->unmanaged_spec);
break;
case PROP_UNRECOGNIZED_SPEC:
- priv->unrecognized_spec = g_value_dup_string (value);
+ g_value_set_string (value, priv->unrecognized_spec);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -490,17 +436,17 @@ set_property (GObject *object, guint prop_id,
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
{
- NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE (object);
+ NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE ((NMIfcfgConnection *) object);
switch (prop_id) {
case PROP_UNMANAGED_SPEC:
- g_value_set_string (value, priv->unmanaged_spec);
+ priv->unmanaged_spec = g_value_dup_string (value);
break;
case PROP_UNRECOGNIZED_SPEC:
- g_value_set_string (value, priv->unrecognized_spec);
+ priv->unrecognized_spec = g_value_dup_string (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -508,10 +454,76 @@ get_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
+static void
+nm_ifcfg_connection_init (NMIfcfgConnection *connection)
+{
+ g_signal_connect (connection, "notify::" NM_SETTINGS_CONNECTION_FILENAME,
+ G_CALLBACK (filename_changed), NULL);
+}
+
+NMIfcfgConnection *
+nm_ifcfg_connection_new (NMConnection *source,
+ const char *full_path,
+ GError **error,
+ gboolean *out_ignore_error)
+{
+ GObject *object;
+ NMConnection *tmp;
+ char *unhandled_spec = NULL;
+ const char *unmanaged_spec = NULL, *unrecognized_spec = NULL;
+ gboolean update_unsaved = TRUE;
+
+ g_assert (source || full_path);
+
+ if (out_ignore_error)
+ *out_ignore_error = FALSE;
+
+ /* If we're given a connection already, prefer that instead of re-reading */
+ if (source)
+ tmp = g_object_ref (source);
+ else {
+ tmp = connection_from_file (full_path,
+ &unhandled_spec,
+ error,
+ out_ignore_error);
+ if (!tmp)
+ return NULL;
+
+ /* If we just read the connection from disk, it's clearly not Unsaved */
+ update_unsaved = FALSE;
+ }
+
+ if (unhandled_spec && g_str_has_prefix (unhandled_spec, "unmanaged:"))
+ unmanaged_spec = unhandled_spec + strlen ("unmanaged:");
+ else if (unhandled_spec && g_str_has_prefix (unhandled_spec, "unrecognized:"))
+ unrecognized_spec = unhandled_spec + strlen ("unrecognized:");
+
+ object = (GObject *) g_object_new (NM_TYPE_IFCFG_CONNECTION,
+ NM_SETTINGS_CONNECTION_FILENAME, full_path,
+ NM_IFCFG_CONNECTION_UNMANAGED_SPEC, unmanaged_spec,
+ NM_IFCFG_CONNECTION_UNRECOGNIZED_SPEC, unrecognized_spec,
+ NULL);
+ /* Update our settings with what was read from the file */
+ if (nm_settings_connection_replace_settings (NM_SETTINGS_CONNECTION (object),
+ tmp,
+ update_unsaved,
+ NULL,
+ error))
+ nm_ifcfg_connection_check_devtimeout (NM_IFCFG_CONNECTION (object));
+ else
+ g_clear_object (&object);
+
+ g_object_unref (tmp);
+ g_free (unhandled_spec);
+ return (NMIfcfgConnection *) object;
+}
+
static void
dispose (GObject *object)
{
- NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE (object);
+ NMIfcfgConnectionPrivate *priv = NM_IFCFG_CONNECTION_GET_PRIVATE ((NMIfcfgConnection *) object);
path_watch_stop (NM_IFCFG_CONNECTION (object));
@@ -532,36 +544,34 @@ nm_ifcfg_connection_class_init (NMIfcfgConnectionClass *ifcfg_connection_class)
GObjectClass *object_class = G_OBJECT_CLASS (ifcfg_connection_class);
NMSettingsConnectionClass *settings_class = NM_SETTINGS_CONNECTION_CLASS (ifcfg_connection_class);
- g_type_class_add_private (ifcfg_connection_class, sizeof (NMIfcfgConnectionPrivate));
-
- /* Virtual methods */
object_class->set_property = set_property;
object_class->get_property = get_property;
object_class->dispose = dispose;
+
settings_class->delete = do_delete;
settings_class->replace_and_commit = replace_and_commit;
settings_class->commit_changes = commit_changes;
- /* Properties */
- g_object_class_install_property
- (object_class, PROP_UNMANAGED_SPEC,
- g_param_spec_string (NM_IFCFG_CONNECTION_UNMANAGED_SPEC, "", "",
- NULL,
- G_PARAM_READWRITE |
- G_PARAM_STATIC_STRINGS));
- g_object_class_install_property
- (object_class, PROP_UNRECOGNIZED_SPEC,
- g_param_spec_string (NM_IFCFG_CONNECTION_UNRECOGNIZED_SPEC, "", "",
- NULL,
- G_PARAM_READWRITE |
- G_PARAM_STATIC_STRINGS));
+ obj_properties[PROP_UNMANAGED_SPEC] =
+ g_param_spec_string (NM_IFCFG_CONNECTION_UNMANAGED_SPEC, "", "",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_STRINGS);
+
+ obj_properties[PROP_UNRECOGNIZED_SPEC] =
+ g_param_spec_string (NM_IFCFG_CONNECTION_UNRECOGNIZED_SPEC, "", "",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_STATIC_STRINGS);
+
+ g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
signals[IFCFG_CHANGED] =
- g_signal_new ("ifcfg-changed",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- 0, NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
+ g_signal_new ("ifcfg-changed",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
}
diff --git a/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.h b/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.h
index 57db059b00..c706d2a20a 100644
--- a/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.h
+++ b/src/settings/plugins/ifcfg-rh/nm-ifcfg-connection.h
@@ -34,13 +34,8 @@
#define NM_IFCFG_CONNECTION_UNMANAGED_SPEC "unmanaged-spec"
#define NM_IFCFG_CONNECTION_UNRECOGNIZED_SPEC "unrecognized-spec"
-typedef struct {
- NMSettingsConnection parent;
-} NMIfcfgConnection;
-
-typedef struct {
- NMSettingsConnectionClass parent;
-} NMIfcfgConnectionClass;
+typedef struct _NMIfcfgConnection NMIfcfgConnection;
+typedef struct _NMIfcfgConnectionClass NMIfcfgConnectionClass;
GType nm_ifcfg_connection_get_type (void);
diff --git a/src/settings/plugins/ifcfg-rh/plugin.c b/src/settings/plugins/ifcfg-rh/plugin.c
index c2956d22b7..77bd32499f 100644
--- a/src/settings/plugins/ifcfg-rh/plugin.c
+++ b/src/settings/plugins/ifcfg-rh/plugin.c
@@ -30,15 +30,14 @@
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
-
#include <gmodule.h>
#include "nm-dbus-compat.h"
#include "nm-setting-connection.h"
-
#include "nm-settings-plugin.h"
#include "nm-config.h"
#include "NetworkManagerUtils.h"
+#include "nm-exported-object.h"
#include "nm-ifcfg-connection.h"
#include "shvar.h"
@@ -46,39 +45,13 @@
#include "reader.h"
#include "writer.h"
#include "utils.h"
-#include "nm-exported-object.h"
#include "nmdbus-ifcfg-rh.h"
#define IFCFGRH1_DBUS_SERVICE_NAME "com.redhat.ifcfgrh1"
#define IFCFGRH1_DBUS_OBJECT_PATH "/com/redhat/ifcfgrh1"
-#define _NMLOG_DOMAIN LOGD_SETTINGS
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- nm_log ((level), (_NMLOG_DOMAIN), \
- "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- "ifcfg-rh: " \
- _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } G_STMT_END
-
-
-static NMIfcfgConnection *update_connection (SettingsPluginIfcfg *plugin,
- NMConnection *source,
- const char *full_path,
- NMIfcfgConnection *connection,
- gboolean protect_existing_connection,
- GHashTable *protected_connections,
- GError **error);
-
-static void settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface);
-
-G_DEFINE_TYPE_EXTENDED (SettingsPluginIfcfg, settings_plugin_ifcfg, G_TYPE_OBJECT, 0,
- G_IMPLEMENT_INTERFACE (NM_TYPE_SETTINGS_PLUGIN,
- settings_plugin_interface_init))
-
-#define SETTINGS_PLUGIN_IFCFG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SETTINGS_TYPE_PLUGIN_IFCFG, SettingsPluginIfcfgPrivate))
-
+/*****************************************************************************/
typedef struct {
NMConfig *config;
@@ -97,9 +70,52 @@ typedef struct {
gulong ifcfg_monitor_id;
} SettingsPluginIfcfgPrivate;
+struct _SettingsPluginIfcfg {
+ GObject parent;
+ SettingsPluginIfcfgPrivate _priv;
+};
+
+struct _SettingsPluginIfcfgClass {
+ GObjectClass parent;
+};
+
+static void settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface);
+
+G_DEFINE_TYPE_EXTENDED (SettingsPluginIfcfg, settings_plugin_ifcfg, G_TYPE_OBJECT, 0,
+ G_IMPLEMENT_INTERFACE (NM_TYPE_SETTINGS_PLUGIN,
+ settings_plugin_interface_init))
+
+#define SETTINGS_PLUGIN_IFCFG_GET_PRIVATE(self) _NM_GET_PRIVATE (self, SettingsPluginIfcfg, SETTINGS_IS_PLUGIN_IFCFG)
+
+/*****************************************************************************/
+
static SettingsPluginIfcfg *settings_plugin_ifcfg_get (void);
+
NM_DEFINE_SINGLETON_GETTER (SettingsPluginIfcfg, settings_plugin_ifcfg_get, SETTINGS_TYPE_PLUGIN_IFCFG);
+/*****************************************************************************/
+
+#define _NMLOG_DOMAIN LOGD_SETTINGS
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ nm_log ((level), (_NMLOG_DOMAIN), \
+ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ "ifcfg-rh: " \
+ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } G_STMT_END
+
+/*****************************************************************************/
+
+static NMIfcfgConnection *update_connection (SettingsPluginIfcfg *plugin,
+ NMConnection *source,
+ const char *full_path,
+ NMIfcfgConnection *connection,
+ gboolean protect_existing_connection,
+ GHashTable *protected_connections,
+ GError **error);
+
+/*****************************************************************************/
+
static void
connection_ifcfg_changed (NMIfcfgConnection *connection, gpointer user_data)
{
@@ -124,7 +140,7 @@ connection_ifcfg_changed (NMIfcfgConnection *connection, gpointer user_data)
static void
connection_removed_cb (NMSettingsConnection *obj, gpointer user_data)
{
- g_hash_table_remove (SETTINGS_PLUGIN_IFCFG_GET_PRIVATE (user_data)->connections,
+ g_hash_table_remove (SETTINGS_PLUGIN_IFCFG_GET_PRIVATE ((SettingsPluginIfcfg *) user_data)->connections,
nm_connection_get_uuid (NM_CONNECTION (obj)));
}
@@ -616,7 +632,7 @@ static GSList *
get_unhandled_specs (NMSettingsPlugin *config,
const char *property)
{
- SettingsPluginIfcfgPrivate *priv = SETTINGS_PLUGIN_IFCFG_GET_PRIVATE (config);
+ SettingsPluginIfcfgPrivate *priv = SETTINGS_PLUGIN_IFCFG_GET_PRIVATE ((SettingsPluginIfcfg *) config);
GSList *list = NULL, *list_iter;
GHashTableIter iter;
gpointer connection;
@@ -944,6 +960,28 @@ config_changed_cb (NMConfig *config,
/*****************************************************************************/
static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ switch (prop_id) {
+ case NM_SETTINGS_PLUGIN_PROP_NAME:
+ g_value_set_string (value, IFCFG_PLUGIN_NAME);
+ break;
+ case NM_SETTINGS_PLUGIN_PROP_INFO:
+ g_value_set_string (value, IFCFG_PLUGIN_INFO);
+ break;
+ case NM_SETTINGS_PLUGIN_PROP_CAPABILITIES:
+ g_value_set_uint (value, NM_SETTINGS_PLUGIN_CAP_MODIFY_CONNECTIONS);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
+static void
init (NMSettingsPlugin *config)
{
}
@@ -951,7 +989,7 @@ init (NMSettingsPlugin *config)
static void
settings_plugin_ifcfg_init (SettingsPluginIfcfg *plugin)
{
- SettingsPluginIfcfgPrivate *priv = SETTINGS_PLUGIN_IFCFG_GET_PRIVATE (plugin);
+ SettingsPluginIfcfgPrivate *priv = SETTINGS_PLUGIN_IFCFG_GET_PRIVATE ((SettingsPluginIfcfg *) plugin);
priv->connections = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
}
@@ -1005,47 +1043,13 @@ dispose (GObject *object)
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- switch (prop_id) {
- case NM_SETTINGS_PLUGIN_PROP_NAME:
- g_value_set_string (value, IFCFG_PLUGIN_NAME);
- break;
- case NM_SETTINGS_PLUGIN_PROP_INFO:
- g_value_set_string (value, IFCFG_PLUGIN_INFO);
- break;
- case NM_SETTINGS_PLUGIN_PROP_CAPABILITIES:
- g_value_set_uint (value, NM_SETTINGS_PLUGIN_CAP_MODIFY_CONNECTIONS);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- switch (prop_id) {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
settings_plugin_ifcfg_class_init (SettingsPluginIfcfgClass *req_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (req_class);
- g_type_class_add_private (req_class, sizeof (SettingsPluginIfcfgPrivate));
-
object_class->constructed = constructed;
object_class->dispose = dispose;
object_class->get_property = get_property;
- object_class->set_property = set_property;
g_object_class_override_property (object_class,
NM_SETTINGS_PLUGIN_PROP_NAME,
@@ -1063,7 +1067,6 @@ settings_plugin_ifcfg_class_init (SettingsPluginIfcfgClass *req_class)
static void
settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface)
{
- /* interface implementation */
plugin_iface->get_connections = get_connections;
plugin_iface->add_connection = add_connection;
plugin_iface->load_connection = load_connection;
@@ -1073,6 +1076,8 @@ settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface)
plugin_iface->init = init;
}
+/*****************************************************************************/
+
G_MODULE_EXPORT GObject *
nm_settings_plugin_factory (void)
{
diff --git a/src/settings/plugins/ifcfg-rh/plugin.h b/src/settings/plugins/ifcfg-rh/plugin.h
index 74c4b00a04..d815cc5160 100644
--- a/src/settings/plugins/ifcfg-rh/plugin.h
+++ b/src/settings/plugins/ifcfg-rh/plugin.h
@@ -34,15 +34,6 @@
typedef struct _SettingsPluginIfcfg SettingsPluginIfcfg;
typedef struct _SettingsPluginIfcfgClass SettingsPluginIfcfgClass;
-struct _SettingsPluginIfcfg {
- GObject parent;
-};
-
-struct _SettingsPluginIfcfgClass {
- GObjectClass parent;
-};
-
GType settings_plugin_ifcfg_get_type (void);
#endif /* _PLUGIN_H_ */
-
diff --git a/src/settings/plugins/ifnet/nm-ifnet-connection.c b/src/settings/plugins/ifnet/nm-ifnet-connection.c
index b661b03efb..66a2f84893 100644
--- a/src/settings/plugins/ifnet/nm-ifnet-connection.c
+++ b/src/settings/plugins/ifnet/nm-ifnet-connection.c
@@ -21,6 +21,8 @@
#include "nm-default.h"
+#include "nm-ifnet-connection.h"
+
#include <string.h>
#include <glib/gstdio.h>
@@ -29,16 +31,14 @@
#include "nm-setting-wireless-security.h"
#include "nm-settings-connection.h"
#include "nm-settings-plugin.h"
-#include "nm-ifnet-connection.h"
+
#include "connection_parser.h"
#include "net_parser.h"
#include "net_utils.h"
#include "wpa_parser.h"
#include "plugin.h"
-G_DEFINE_TYPE (NMIfnetConnection, nm_ifnet_connection, NM_TYPE_SETTINGS_CONNECTION)
-
-#define NM_IFNET_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_IFNET_CONNECTION, NMIfnetConnectionPrivate))
+/*****************************************************************************/
enum {
IFNET_SETUP_MONITORS,
@@ -53,51 +53,20 @@ typedef struct {
NMSettingsPlugin *config;
} NMIfnetConnectionPrivate;
-NMIfnetConnection *
-nm_ifnet_connection_new (NMConnection *source, const char *conn_name)
-{
- NMConnection *tmp;
- GObject *object;
- GError *error = NULL;
- gboolean update_unsaved = TRUE;
-
- g_return_val_if_fail (source || conn_name, NULL);
-
- if (source)
- tmp = g_object_ref (source);
- else {
- tmp = ifnet_update_connection_from_config_block (conn_name, NULL, &error);
- if (!tmp) {
- nm_log_warn (LOGD_SETTINGS, "Could not read connection '%s': %s",
- conn_name, error->message);
- g_error_free (error);
- return NULL;
- }
+struct _NMIfnetConnection {
+ NMSettingsConnection parent;
+ NMIfnetConnectionPrivate _priv;
+};
- /* If we just read the connection from disk, it's clearly not Unsaved */
- update_unsaved = FALSE;
- }
+struct _NMIfnetConnectionClass {
+ NMSettingsConnectionClass parent;
+};
- object = (GObject *) g_object_new (NM_TYPE_IFNET_CONNECTION, NULL);
- g_assert (object);
- NM_IFNET_CONNECTION_GET_PRIVATE (object)->conn_name = g_strdup (conn_name);
- if (!nm_settings_connection_replace_settings (NM_SETTINGS_CONNECTION (object),
- tmp,
- update_unsaved,
- NULL,
- NULL)) {
- g_object_unref (object);
- return NULL;
- }
- g_object_unref (tmp);
+G_DEFINE_TYPE (NMIfnetConnection, nm_ifnet_connection, NM_TYPE_SETTINGS_CONNECTION)
- return NM_IFNET_CONNECTION (object);
-}
+#define NM_IFNET_CONNECTION_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMIfnetConnection, NM_IS_IFNET_CONNECTION)
-static void
-nm_ifnet_connection_init (NMIfnetConnection * connection)
-{
-}
+/*****************************************************************************/
const char *
nm_ifnet_connection_get_conn_name (NMIfnetConnection *connection)
@@ -112,7 +81,7 @@ commit_changes (NMSettingsConnection *connection,
gpointer user_data)
{
GError *error = NULL;
- NMIfnetConnectionPrivate *priv = NM_IFNET_CONNECTION_GET_PRIVATE (connection);
+ NMIfnetConnectionPrivate *priv = NM_IFNET_CONNECTION_GET_PRIVATE ((NMIfnetConnection *) connection);
gchar *new_name = NULL;
gboolean success = FALSE;
@@ -159,13 +128,13 @@ commit_changes (NMSettingsConnection *connection,
g_signal_emit (connection, signals[IFNET_SETUP_MONITORS], 0);
}
-static void
+static void
do_delete (NMSettingsConnection *connection,
- NMSettingsConnectionDeleteFunc callback,
- gpointer user_data)
+ NMSettingsConnectionDeleteFunc callback,
+ gpointer user_data)
{
GError *error = NULL;
- NMIfnetConnectionPrivate *priv = NM_IFNET_CONNECTION_GET_PRIVATE (connection);
+ NMIfnetConnectionPrivate *priv = NM_IFNET_CONNECTION_GET_PRIVATE ((NMIfnetConnection *) connection);
g_signal_emit (connection, signals[IFNET_CANCEL_MONITORS], 0);
@@ -190,10 +159,58 @@ do_delete (NMSettingsConnection *connection,
nm_connection_get_id (NM_CONNECTION (connection)));
}
+/*****************************************************************************/
+
+static void
+nm_ifnet_connection_init (NMIfnetConnection * connection)
+{
+}
+
+NMIfnetConnection *
+nm_ifnet_connection_new (NMConnection *source, const char *conn_name)
+{
+ NMConnection *tmp;
+ GObject *object;
+ GError *error = NULL;
+ gboolean update_unsaved = TRUE;
+
+ g_return_val_if_fail (source || conn_name, NULL);
+
+ if (source)
+ tmp = g_object_ref (source);
+ else {
+ tmp = ifnet_update_connection_from_config_block (conn_name, NULL, &error);
+ if (!tmp) {
+ nm_log_warn (LOGD_SETTINGS, "Could not read connection '%s': %s",
+ conn_name, error->message);
+ g_error_free (error);
+ return NULL;
+ }
+
+ /* If we just read the connection from disk, it's clearly not Unsaved */
+ update_unsaved = FALSE;
+ }
+
+ object = (GObject *) g_object_new (NM_TYPE_IFNET_CONNECTION, NULL);
+
+ NM_IFNET_CONNECTION_GET_PRIVATE ((NMIfnetConnection *) object)->conn_name = g_strdup (conn_name);
+ if (!nm_settings_connection_replace_settings (NM_SETTINGS_CONNECTION (object),
+ tmp,
+ update_unsaved,
+ NULL,
+ NULL)) {
+ g_object_unref (object);
+ return NULL;
+ }
+ g_object_unref (tmp);
+
+ return NM_IFNET_CONNECTION (object);
+}
+
static void
finalize (GObject * object)
{
- g_free (NM_IFNET_CONNECTION_GET_PRIVATE (object)->conn_name);
+ g_free (NM_IFNET_CONNECTION_GET_PRIVATE ((NMIfnetConnection *) object)->conn_name);
G_OBJECT_CLASS (nm_ifnet_connection_parent_class)->finalize (object);
}
@@ -203,21 +220,19 @@ nm_ifnet_connection_class_init (NMIfnetConnectionClass * ifnet_connection_class)
GObjectClass *object_class = G_OBJECT_CLASS (ifnet_connection_class);
NMSettingsConnectionClass *settings_class = NM_SETTINGS_CONNECTION_CLASS (ifnet_connection_class);
- g_type_class_add_private (ifnet_connection_class, sizeof (NMIfnetConnectionPrivate));
-
object_class->finalize = finalize;
+
settings_class->delete = do_delete;
settings_class->commit_changes = commit_changes;
signals[IFNET_SETUP_MONITORS] =
g_signal_new ("ifnet_setup_monitors",
- G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST,
- 0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
+ G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
signals[IFNET_CANCEL_MONITORS] =
g_signal_new ("ifnet_cancel_monitors",
- G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST,
- 0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
+ G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL, g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
}
diff --git a/src/settings/plugins/ifnet/nm-ifnet-connection.h b/src/settings/plugins/ifnet/nm-ifnet-connection.h
index 856996e070..490ba1f7a4 100644
--- a/src/settings/plugins/ifnet/nm-ifnet-connection.h
+++ b/src/settings/plugins/ifnet/nm-ifnet-connection.h
@@ -32,13 +32,8 @@
#define NM_IS_IFNET_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_IFNET_CONNECTION))
#define NM_IFNET_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_IFNET_CONNECTION, NMIfnetConnectionClass))
-typedef struct {
- NMSettingsConnection parent;
-} NMIfnetConnection;
-
-typedef struct {
- NMSettingsConnectionClass parent;
-} NMIfnetConnectionClass;
+typedef struct _NMIfnetConnection NMIfnetConnection;
+typedef struct _NMIfnetConnectionClass NMIfnetConnectionClass;
GType nm_ifnet_connection_get_type (void);
diff --git a/src/settings/plugins/ifnet/plugin.c b/src/settings/plugins/ifnet/plugin.c
index a0676cf894..f7688585a6 100644
--- a/src/settings/plugins/ifnet/plugin.c
+++ b/src/settings/plugins/ifnet/plugin.c
@@ -22,21 +22,19 @@
#include "nm-default.h"
-#include <string.h>
+#include "plugin.h"
+#include <string.h>
#include <gmodule.h>
#include "nm-utils.h"
#include "nm-setting-connection.h"
-
-#include "nm-default.h"
#include "nm-dbus-interface.h"
#include "nm-settings-plugin.h"
-#include "nm-ifnet-connection.h"
#include "nm-config.h"
#include "NetworkManagerUtils.h"
-#include "plugin.h"
+#include "nm-ifnet-connection.h"
#include "net_utils.h"
#include "net_parser.h"
#include "wpa_parser.h"
@@ -46,34 +44,54 @@
#define IFNET_PLUGIN_INFO "(C) 1999-2010 Gentoo Foundation, Inc. To report bugs please use bugs.gentoo.org with [networkmanager] or [qiaomuf] prefix."
#define IFNET_MANAGE_WELL_KNOWN_DEFAULT TRUE
+/*****************************************************************************/
+
+typedef void (*FileChangedFn) (gpointer user_data);
+
+typedef struct {
+ FileChangedFn callback;
+ gpointer user_data;
+} FileMonitorInfo;
+
+/*****************************************************************************/
+
typedef struct {
GHashTable *connections; /* uuid::connection */
gboolean unmanaged_well_known;
GFileMonitor *net_monitor;
GFileMonitor *wpa_monitor;
-
} SettingsPluginIfnetPrivate;
-typedef void (*FileChangedFn) (gpointer user_data);
+struct _SettingsPluginIfnet {
+ GObject parent;
+ SettingsPluginIfnetPrivate _priv;
+};
-typedef struct {
- FileChangedFn callback;
- gpointer user_data;
-} FileMonitorInfo;
+struct _SettingsPluginIfnetClass {
+ GObjectClass parent;
+};
static void settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface);
-static void reload_connections (NMSettingsPlugin *config);
-
G_DEFINE_TYPE_EXTENDED (SettingsPluginIfnet, settings_plugin_ifnet, G_TYPE_OBJECT, 0,
G_IMPLEMENT_INTERFACE (NM_TYPE_SETTINGS_PLUGIN,
settings_plugin_interface_init))
-#define SETTINGS_PLUGIN_IFNET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SETTINGS_TYPE_PLUGIN_IFNET, SettingsPluginIfnetPrivate))
+
+#define SETTINGS_PLUGIN_IFNET_GET_PRIVATE(self) _NM_GET_PRIVATE (self, SettingsPluginIfnet, SETTINGS_IS_PLUGIN_IFNET)
+
+/*****************************************************************************/
static SettingsPluginIfnet *settings_plugin_ifnet_get (void);
+
NM_DEFINE_SINGLETON_GETTER (SettingsPluginIfnet, settings_plugin_ifnet_get, SETTINGS_TYPE_PLUGIN_IFNET);
+/*****************************************************************************/
+
+static void reload_connections (NMSettingsPlugin *config);
+
+/*****************************************************************************/
+
static gboolean
is_managed_plugin (void)
{
@@ -84,9 +102,9 @@ is_managed_plugin (void)
static void
file_changed (GFileMonitor * monitor,
- GFile * file,
- GFile * other_file,
- GFileMonitorEvent event_type, gpointer user_data)
+ GFile * file,
+ GFile * other_file,
+ GFileMonitorEvent event_type, gpointer user_data)
{
FileMonitorInfo *info;
@@ -102,7 +120,7 @@ file_changed (GFileMonitor * monitor,
static GFileMonitor *
monitor_file_changes (const char *filename,
- FileChangedFn callback, gpointer user_data)
+ FileChangedFn callback, gpointer user_data)
{
GFile *file;
GFileMonitor *monitor;
@@ -166,7 +184,7 @@ cancel_monitors (NMIfnetConnection * connection, gpointer user_data)
static void
connection_removed_cb (NMSettingsConnection *obj, gpointer user_data)
{
- g_hash_table_remove (SETTINGS_PLUGIN_IFNET_GET_PRIVATE (user_data)->connections,
+ g_hash_table_remove (SETTINGS_PLUGIN_IFNET_GET_PRIVATE ((SettingsPluginIfnet *) user_data)->connections,
nm_connection_get_uuid (NM_CONNECTION (obj)));
}
@@ -296,7 +314,7 @@ add_connection (NMSettingsPlugin *config,
gboolean save_to_disk,
GError **error)
{
- SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE (config);
+ SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE ((SettingsPluginIfnet *) config);
NMIfnetConnection *new = NULL;
/* Ensure we reject attempts to add the connection long before we're
@@ -358,7 +376,7 @@ check_unmanaged (gpointer key, gpointer data, gpointer user_data)
static GSList *
get_unmanaged_specs (NMSettingsPlugin * config)
{
- SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE (config);
+ SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE ((SettingsPluginIfnet *) config);
GSList *list = NULL;
nm_log_info (LOGD_SETTINGS, "getting unmanaged specs...");
@@ -366,29 +384,10 @@ get_unmanaged_specs (NMSettingsPlugin * config)
return list;
}
-static void
-init (NMSettingsPlugin *config)
-{
- SettingsPluginIfnet *self = SETTINGS_PLUGIN_IFNET (config);
- SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE (self);
-
- nm_log_info (LOGD_SETTINGS, "Initializing!");
-
- priv->connections = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
- priv->unmanaged_well_known = !is_managed_plugin ();
- nm_log_info (LOGD_SETTINGS, "management mode: %s",
- priv->unmanaged_well_known ? "unmanaged" : "managed");
-
- setup_monitors (NULL, config);
- reload_connections (config);
-
- nm_log_info (LOGD_SETTINGS, "Initialzation complete!");
-}
-
static GSList *
get_connections (NMSettingsPlugin *config)
{
- SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE (config);
+ SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE ((SettingsPluginIfnet *) config);
GSList *connections = NULL;
GHashTableIter iter;
NMIfnetConnection *connection;
@@ -407,24 +406,11 @@ get_connections (NMSettingsPlugin *config)
return connections;
}
-static void
-settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface)
-{
- plugin_iface->init = init;
- plugin_iface->get_connections = get_connections;
- plugin_iface->get_unmanaged_specs = get_unmanaged_specs;
- plugin_iface->add_connection = add_connection;
- plugin_iface->reload_connections = reload_connections;
-}
-
-static void
-settings_plugin_ifnet_init (SettingsPluginIfnet * plugin)
-{
-}
+/*****************************************************************************/
static void
get_property (GObject * object, guint prop_id, GValue * value,
- GParamSpec * pspec)
+ GParamSpec * pspec)
{
switch (prop_id) {
case NM_SETTINGS_PLUGIN_PROP_NAME:
@@ -443,22 +429,39 @@ get_property (GObject * object, guint prop_id, GValue * value,
}
}
+/*****************************************************************************/
+
static void
-set_property (GObject * object, guint prop_id, const GValue * value,
- GParamSpec * pspec)
+init (NMSettingsPlugin *config)
+{
+ SettingsPluginIfnet *self = SETTINGS_PLUGIN_IFNET (config);
+ SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE (self);
+
+ nm_log_info (LOGD_SETTINGS, "Initializing!");
+
+ priv->connections = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
+ priv->unmanaged_well_known = !is_managed_plugin ();
+ nm_log_info (LOGD_SETTINGS, "management mode: %s",
+ priv->unmanaged_well_known ? "unmanaged" : "managed");
+
+ setup_monitors (NULL, config);
+ reload_connections (config);
+
+ nm_log_info (LOGD_SETTINGS, "Initialzation complete!");
+}
+
+/*****************************************************************************/
+
+static void
+settings_plugin_ifnet_init (SettingsPluginIfnet * plugin)
{
- switch (prop_id) {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
}
static void
dispose (GObject * object)
{
SettingsPluginIfnet *plugin = SETTINGS_PLUGIN_IFNET (object);
- SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE (plugin);
+ SettingsPluginIfnetPrivate *priv = SETTINGS_PLUGIN_IFNET_GET_PRIVATE ((SettingsPluginIfnet *) plugin);
cancel_monitors (NULL, object);
if (priv->connections) {
@@ -476,25 +479,34 @@ settings_plugin_ifnet_class_init (SettingsPluginIfnetClass * req_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (req_class);
- g_type_class_add_private (req_class, sizeof (SettingsPluginIfnetPrivate));
-
object_class->dispose = dispose;
object_class->get_property = get_property;
- object_class->set_property = set_property;
g_object_class_override_property (object_class,
- NM_SETTINGS_PLUGIN_PROP_NAME,
- NM_SETTINGS_PLUGIN_NAME);
+ NM_SETTINGS_PLUGIN_PROP_NAME,
+ NM_SETTINGS_PLUGIN_NAME);
g_object_class_override_property (object_class,
- NM_SETTINGS_PLUGIN_PROP_INFO,
- NM_SETTINGS_PLUGIN_INFO);
+ NM_SETTINGS_PLUGIN_PROP_INFO,
+ NM_SETTINGS_PLUGIN_INFO);
g_object_class_override_property (object_class,
- NM_SETTINGS_PLUGIN_PROP_CAPABILITIES,
- NM_SETTINGS_PLUGIN_CAPABILITIES);
+ NM_SETTINGS_PLUGIN_PROP_CAPABILITIES,
+ NM_SETTINGS_PLUGIN_CAPABILITIES);
}
+static void
+settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface)
+{
+ plugin_iface->init = init;
+ plugin_iface->get_connections = get_connections;
+ plugin_iface->get_unmanaged_specs = get_unmanaged_specs;
+ plugin_iface->add_connection = add_connection;
+ plugin_iface->reload_connections = reload_connections;
+}
+
+/*****************************************************************************/
+
G_MODULE_EXPORT GObject *
nm_settings_plugin_factory (void)
{
diff --git a/src/settings/plugins/ifnet/plugin.h b/src/settings/plugins/ifnet/plugin.h
index 09640968ba..f006e7e41f 100644
--- a/src/settings/plugins/ifnet/plugin.h
+++ b/src/settings/plugins/ifnet/plugin.h
@@ -33,13 +33,6 @@
typedef struct _SettingsPluginIfnet SettingsPluginIfnet;
typedef struct _SettingsPluginIfnetClass SettingsPluginIfnetClass;
-struct _SettingsPluginIfnet {
- GObject parent;
-};
-
-struct _SettingsPluginIfnetClass {
- GObjectClass parent;
-};
-
GType settings_plugin_ifnet_get_type (void);
+
#endif
diff --git a/src/settings/plugins/ifupdown/nm-ifupdown-connection.c b/src/settings/plugins/ifupdown/nm-ifupdown-connection.c
index 34ecf8b9ec..15d30079d2 100644
--- a/src/settings/plugins/ifupdown/nm-ifupdown-connection.c
+++ b/src/settings/plugins/ifupdown/nm-ifupdown-connection.c
@@ -22,6 +22,8 @@
#include "nm-default.h"
+#include "nm-ifupdown-connection.h"
+
#include <string.h>
#include <glib/gstdio.h>
@@ -30,11 +32,37 @@
#include "nm-setting-wireless-security.h"
#include "nm-settings-connection.h"
#include "nm-settings-plugin.h"
-#include "nm-ifupdown-connection.h"
#include "parser.h"
+/*****************************************************************************/
+
+struct _NMIfupdownConnection {
+ NMSettingsConnection parent;
+};
+
+struct _NMIfupdownConnectionClass {
+ NMSettingsConnectionClass parent;
+};
+
G_DEFINE_TYPE (NMIfupdownConnection, nm_ifupdown_connection, NM_TYPE_SETTINGS_CONNECTION)
+/*****************************************************************************/
+
+static gboolean
+supports_secrets (NMSettingsConnection *connection, const char *setting_name)
+{
+ nm_log_info (LOGD_SETTINGS, "supports_secrets() for setting_name: '%s'", setting_name);
+
+ return (strcmp (setting_name, NM_SETTING_WIRELESS_SECURITY_SETTING_NAME) == 0);
+}
+
+/*****************************************************************************/
+
+static void
+nm_ifupdown_connection_init (NMIfupdownConnection *connection)
+{
+}
+
NMIfupdownConnection*
nm_ifupdown_connection_new (if_block *block)
{
@@ -57,19 +85,6 @@ nm_ifupdown_connection_new (if_block *block)
return (NMIfupdownConnection *) object;
}
-static gboolean
-supports_secrets (NMSettingsConnection *connection, const char *setting_name)
-{
- nm_log_info (LOGD_SETTINGS, "supports_secrets() for setting_name: '%s'", setting_name);
-
- return (strcmp (setting_name, NM_SETTING_WIRELESS_SECURITY_SETTING_NAME) == 0);
-}
-
-static void
-nm_ifupdown_connection_init (NMIfupdownConnection *connection)
-{
-}
-
static void
nm_ifupdown_connection_class_init (NMIfupdownConnectionClass *ifupdown_connection_class)
{
diff --git a/src/settings/plugins/ifupdown/nm-ifupdown-connection.h b/src/settings/plugins/ifupdown/nm-ifupdown-connection.h
index e1999bef5c..f710b1b6f3 100644
--- a/src/settings/plugins/ifupdown/nm-ifupdown-connection.h
+++ b/src/settings/plugins/ifupdown/nm-ifupdown-connection.h
@@ -35,13 +35,8 @@
#define NM_IS_IFUPDOWN_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_IFUPDOWN_CONNECTION))
#define NM_IFUPDOWN_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_IFUPDOWN_CONNECTION, NMIfupdownConnectionClass))
-typedef struct {
- NMSettingsConnection parent;
-} NMIfupdownConnection;
-
-typedef struct {
- NMSettingsConnectionClass parent;
-} NMIfupdownConnectionClass;
+typedef struct _NMIfupdownConnection NMIfupdownConnection;
+typedef struct _NMIfupdownConnectionClass NMIfupdownConnectionClass;
GType nm_ifupdown_connection_get_type (void);
diff --git a/src/settings/plugins/ifupdown/plugin.c b/src/settings/plugins/ifupdown/plugin.c
index b506b2d602..abb9af146d 100644
--- a/src/settings/plugins/ifupdown/plugin.c
+++ b/src/settings/plugins/ifupdown/plugin.c
@@ -24,15 +24,14 @@
#include "nm-default.h"
+#include "plugin.h"
+
#include <string.h>
#include <arpa/inet.h>
#include <gudev/gudev.h>
#include <gmodule.h>
#include "nm-setting-connection.h"
-
-#include "interface_parser.h"
-
#include "nm-dbus-interface.h"
#include "nm-settings-plugin.h"
#include "nm-setting-ip4-config.h"
@@ -42,13 +41,12 @@
#include "nm-utils.h"
#include "nm-core-internal.h"
#include "NetworkManagerUtils.h"
+#include "nm-config.h"
+#include "interface_parser.h"
#include "nm-ifupdown-connection.h"
-#include "plugin.h"
#include "parser.h"
-#include "nm-config.h"
-
#define ENI_INTERFACES_FILE "/etc/network/interfaces"
#define IFUPDOWN_PLUGIN_NAME "ifupdown"
@@ -58,9 +56,11 @@
/* #define ALWAYS_UNMANAGE TRUE */
#ifndef ALWAYS_UNMANAGE
-# define ALWAYS_UNMANAGE FALSE
+#define ALWAYS_UNMANAGE FALSE
#endif
+/*****************************************************************************/
+
typedef struct {
GUdevClient *client;
@@ -77,82 +77,29 @@ typedef struct {
gboolean unmanage_well_known;
} SettingsPluginIfupdownPrivate;
-static void
-settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface);
+struct _SettingsPluginIfupdown {
+ GObject parent;
+ SettingsPluginIfupdownPrivate _priv;
+};
+
+struct _SettingsPluginIfupdownClass {
+ GObjectClass parent;
+};
+
+static void settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface);
G_DEFINE_TYPE_EXTENDED (SettingsPluginIfupdown, settings_plugin_ifupdown, G_TYPE_OBJECT, 0,
G_IMPLEMENT_INTERFACE (NM_TYPE_SETTINGS_PLUGIN,
settings_plugin_interface_init))
-#define SETTINGS_PLUGIN_IFUPDOWN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SETTINGS_TYPE_PLUGIN_IFUPDOWN, SettingsPluginIfupdownPrivate))
+#define SETTINGS_PLUGIN_IFUPDOWN_GET_PRIVATE(self) _NM_GET_PRIVATE (self, SettingsPluginIfupdown, SETTINGS_IS_PLUGIN_IFUPDOWN)
+
+/*****************************************************************************/
static SettingsPluginIfupdown *settings_plugin_ifupdown_get (void);
NM_DEFINE_SINGLETON_GETTER (SettingsPluginIfupdown, settings_plugin_ifupdown_get, SETTINGS_TYPE_PLUGIN_IFUPDOWN);
-static void
-settings_plugin_ifupdown_class_init (SettingsPluginIfupdownClass *req_class);
-
-static void
-init (NMSettingsPlugin *config);
-
-/* Returns the plugins currently known list of connections. The returned
- * list is freed by the system settings service.
- */
-static GSList*
-get_connections (NMSettingsPlugin *config);
-
-/*
- * Return a list of device specifications which NetworkManager should not
- * manage. Returned list will be freed by the system settings service, and
- * each element must be allocated using g_malloc() or its variants.
- */
-static GSList*
-get_unmanaged_specs (NMSettingsPlugin *config);
-
-
-/* GObject */
-static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec);
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec);
-
-static void
-dispose (GObject *object);
-
-static void
-settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface)
-{
- plugin_iface->init = init;
- plugin_iface->get_connections = get_connections;
- plugin_iface->get_unmanaged_specs = get_unmanaged_specs;
-}
-
-static void
-settings_plugin_ifupdown_class_init (SettingsPluginIfupdownClass *req_class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (req_class);
-
- g_type_class_add_private (req_class, sizeof (SettingsPluginIfupdownPrivate));
-
- object_class->dispose = dispose;
- object_class->get_property = get_property;
- object_class->set_property = set_property;
-
- g_object_class_override_property (object_class,
- NM_SETTINGS_PLUGIN_PROP_NAME,
- NM_SETTINGS_PLUGIN_NAME);
-
- g_object_class_override_property (object_class,
- NM_SETTINGS_PLUGIN_PROP_INFO,
- NM_SETTINGS_PLUGIN_INFO);
-
- g_object_class_override_property (object_class,
- NM_SETTINGS_PLUGIN_PROP_CAPABILITIES,
- NM_SETTINGS_PLUGIN_CAPABILITIES);
-}
+/*****************************************************************************/
static void
bind_device_to_connection (SettingsPluginIfupdown *self,
@@ -192,7 +139,7 @@ bind_device_to_connection (SettingsPluginIfupdown *self,
}
nm_settings_connection_commit_changes (NM_SETTINGS_CONNECTION (exported), NM_SETTINGS_CONNECTION_COMMIT_REASON_NONE, NULL, NULL);
-}
+}
static void
udev_device_added (SettingsPluginIfupdown *self, GUdevDevice *device)
@@ -291,6 +238,85 @@ handle_uevent (GUdevClient *client,
udev_device_changed (self, device);
}
+/* Returns the plugins currently known list of connections. The returned
+ * list is freed by the system settings service.
+ */
+static GSList*
+get_connections (NMSettingsPlugin *config)
+{
+ SettingsPluginIfupdownPrivate *priv = SETTINGS_PLUGIN_IFUPDOWN_GET_PRIVATE ((SettingsPluginIfupdown *) config);
+ GSList *connections;
+
+ nm_log_info (LOGD_SETTINGS, "(%d) ... get_connections.", GPOINTER_TO_UINT(config));
+
+ if(priv->unmanage_well_known) {
+ nm_log_info (LOGD_SETTINGS, "(%d) ... get_connections (managed=false): return empty list.", GPOINTER_TO_UINT(config));
+ return NULL;
+ }
+
+ connections = _nm_utils_hash_values_to_slist (priv->connections);
+
+ nm_log_info (LOGD_SETTINGS, "(%d) connections count: %d", GPOINTER_TO_UINT(config), g_slist_length(connections));
+ return connections;
+}
+
+/*
+ * Return a list of device specifications which NetworkManager should not
+ * manage. Returned list will be freed by the system settings service, and
+ * each element must be allocated using g_malloc() or its variants.
+ */
+static GSList*
+get_unmanaged_specs (NMSettingsPlugin *config)
+{
+ SettingsPluginIfupdownPrivate *priv = SETTINGS_PLUGIN_IFUPDOWN_GET_PRIVATE ((SettingsPluginIfupdown *) config);
+ GSList *specs = NULL;
+ GHashTableIter iter;
+ GUdevDevice *device;
+ const char *iface;
+
+ if (!ALWAYS_UNMANAGE && !priv->unmanage_well_known)
+ return NULL;
+
+ nm_log_info (LOGD_SETTINGS, "get unmanaged devices count: %d",
+ g_hash_table_size (priv->kernel_ifaces));
+
+ g_hash_table_iter_init (&iter, priv->kernel_ifaces);
+ while (g_hash_table_iter_next (&iter, (gpointer) &iface, (gpointer) &device)) {
+ const char *address;
+
+ address = g_udev_device_get_sysfs_attr (device, "address");
+ if (address)
+ specs = g_slist_append (specs, g_strdup_printf ("mac:%s", address));
+ else
+ specs = g_slist_append (specs, g_strdup_printf ("interface-name:%s", iface));
+ }
+ return specs;
+}
+
+/*****************************************************************************/
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ switch (prop_id) {
+ case NM_SETTINGS_PLUGIN_PROP_NAME:
+ g_value_set_string (value, IFUPDOWN_PLUGIN_NAME);
+ break;
+ case NM_SETTINGS_PLUGIN_PROP_INFO:
+ g_value_set_string (value, IFUPDOWN_PLUGIN_INFO);
+ break;
+ case NM_SETTINGS_PLUGIN_PROP_CAPABILITIES:
+ g_value_set_uint (value, NM_SETTINGS_PLUGIN_CAP_NONE);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/*****************************************************************************/
+
static void
init (NMSettingsPlugin *config)
{
@@ -442,61 +468,7 @@ init (NMSettingsPlugin *config)
nm_log_info (LOGD_SETTINGS, "end _init.");
}
-
-/* Returns the plugins currently known list of connections. The returned
- * list is freed by the system settings service.
- */
-static GSList*
-get_connections (NMSettingsPlugin *config)
-{
- SettingsPluginIfupdownPrivate *priv = SETTINGS_PLUGIN_IFUPDOWN_GET_PRIVATE (config);
- GSList *connections;
-
- nm_log_info (LOGD_SETTINGS, "(%d) ... get_connections.", GPOINTER_TO_UINT(config));
-
- if(priv->unmanage_well_known) {
- nm_log_info (LOGD_SETTINGS, "(%d) ... get_connections (managed=false): return empty list.", GPOINTER_TO_UINT(config));
- return NULL;
- }
-
- connections = _nm_utils_hash_values_to_slist (priv->connections);
-
- nm_log_info (LOGD_SETTINGS, "(%d) connections count: %d", GPOINTER_TO_UINT(config), g_slist_length(connections));
- return connections;
-}
-
-/*
- * Return a list of device specifications which NetworkManager should not
- * manage. Returned list will be freed by the system settings service, and
- * each element must be allocated using g_malloc() or its variants.
- */
-static GSList*
-get_unmanaged_specs (NMSettingsPlugin *config)
-{
- SettingsPluginIfupdownPrivate *priv = SETTINGS_PLUGIN_IFUPDOWN_GET_PRIVATE (config);
- GSList *specs = NULL;
- GHashTableIter iter;
- GUdevDevice *device;
- const char *iface;
-
- if (!ALWAYS_UNMANAGE && !priv->unmanage_well_known)
- return NULL;
-
- nm_log_info (LOGD_SETTINGS, "get unmanaged devices count: %d",
- g_hash_table_size (priv->kernel_ifaces));
-
- g_hash_table_iter_init (&iter, priv->kernel_ifaces);
- while (g_hash_table_iter_next (&iter, (gpointer) &iface, (gpointer) &device)) {
- const char *address;
-
- address = g_udev_device_get_sysfs_attr (device, "address");
- if (address)
- specs = g_slist_append (specs, g_strdup_printf ("mac:%s", address));
- else
- specs = g_slist_append (specs, g_strdup_printf ("interface-name:%s", iface));
- }
- return specs;
-}
+/*****************************************************************************/
static void
settings_plugin_ifupdown_init (SettingsPluginIfupdown *plugin)
@@ -504,55 +476,49 @@ settings_plugin_ifupdown_init (SettingsPluginIfupdown *plugin)
}
static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
+dispose (GObject *object)
{
- switch (prop_id) {
- case NM_SETTINGS_PLUGIN_PROP_NAME:
- g_value_set_string (value, IFUPDOWN_PLUGIN_NAME);
- break;
- case NM_SETTINGS_PLUGIN_PROP_INFO:
- g_value_set_string (value, IFUPDOWN_PLUGIN_INFO);
- break;
- case NM_SETTINGS_PLUGIN_PROP_CAPABILITIES:
- g_value_set_uint (value, NM_SETTINGS_PLUGIN_CAP_NONE);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
+ SettingsPluginIfupdown *plugin = SETTINGS_PLUGIN_IFUPDOWN (object);
+ SettingsPluginIfupdownPrivate *priv = SETTINGS_PLUGIN_IFUPDOWN_GET_PRIVATE (plugin);
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- switch (prop_id) {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+ g_clear_pointer (&priv->kernel_ifaces, g_hash_table_destroy);
+ g_clear_pointer (&priv->eni_ifaces, g_hash_table_destroy);
+ g_clear_object (&priv->client);
+
+ G_OBJECT_CLASS (settings_plugin_ifupdown_parent_class)->dispose (object);
}
static void
-dispose (GObject *object)
+settings_plugin_ifupdown_class_init (SettingsPluginIfupdownClass *req_class)
{
- SettingsPluginIfupdown *plugin = SETTINGS_PLUGIN_IFUPDOWN (object);
- SettingsPluginIfupdownPrivate *priv = SETTINGS_PLUGIN_IFUPDOWN_GET_PRIVATE (plugin);
+ GObjectClass *object_class = G_OBJECT_CLASS (req_class);
- if (priv->kernel_ifaces)
- g_hash_table_destroy(priv->kernel_ifaces);
+ object_class->dispose = dispose;
+ object_class->get_property = get_property;
- if (priv->eni_ifaces)
- g_hash_table_destroy(priv->eni_ifaces);
+ g_object_class_override_property (object_class,
+ NM_SETTINGS_PLUGIN_PROP_NAME,
+ NM_SETTINGS_PLUGIN_NAME);
- if (priv->client)
- g_object_unref (priv->client);
+ g_object_class_override_property (object_class,
+ NM_SETTINGS_PLUGIN_PROP_INFO,
+ NM_SETTINGS_PLUGIN_INFO);
+ g_object_class_override_property (object_class,
+ NM_SETTINGS_PLUGIN_PROP_CAPABILITIES,
+ NM_SETTINGS_PLUGIN_CAPABILITIES);
+}
- G_OBJECT_CLASS (settings_plugin_ifupdown_parent_class)->dispose (object);
+static void
+settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface)
+{
+ plugin_iface->init = init;
+ plugin_iface->get_connections = get_connections;
+ plugin_iface->get_unmanaged_specs = get_unmanaged_specs;
}
+/*****************************************************************************/
+
G_MODULE_EXPORT GObject *
nm_settings_plugin_factory (void)
{
diff --git a/src/settings/plugins/ifupdown/plugin.h b/src/settings/plugins/ifupdown/plugin.h
index b568ea78b6..c2a3639cc3 100644
--- a/src/settings/plugins/ifupdown/plugin.h
+++ b/src/settings/plugins/ifupdown/plugin.h
@@ -36,14 +36,6 @@
typedef struct _SettingsPluginIfupdown SettingsPluginIfupdown;
typedef struct _SettingsPluginIfupdownClass SettingsPluginIfupdownClass;
-struct _SettingsPluginIfupdown {
- GObject parent;
-};
-
-struct _SettingsPluginIfupdownClass {
- GObjectClass parent;
-};
-
GType settings_plugin_ifupdown_get_type (void);
-#endif /* _PLUGIN_H_ */
+#endif /* _PLUGIN_H_ */
diff --git a/src/settings/plugins/keyfile/plugin.c b/src/settings/plugins/keyfile/plugin.c
index c5598fc5b4..40014128ba 100644
--- a/src/settings/plugins/keyfile/plugin.c
+++ b/src/settings/plugins/keyfile/plugin.c
@@ -21,6 +21,8 @@
#include "nm-default.h"
+#include "plugin.h"
+
#include <sys/stat.h>
#include <unistd.h>
#include <sys/types.h>
@@ -35,19 +37,12 @@
#include "nm-config.h"
#include "nm-core-internal.h"
-#include "plugin.h"
#include "nm-settings-plugin.h"
#include "nm-keyfile-connection.h"
#include "writer.h"
#include "utils.h"
-static void settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface);
-
-G_DEFINE_TYPE_EXTENDED (SettingsPluginKeyfile, settings_plugin_keyfile, G_TYPE_OBJECT, 0,
- G_IMPLEMENT_INTERFACE (NM_TYPE_SETTINGS_PLUGIN,
- settings_plugin_interface_init))
-
-#define SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SETTINGS_TYPE_PLUGIN_KEYFILE, SettingsPluginKeyfilePrivate))
+/*****************************************************************************/
typedef struct {
GHashTable *connections; /* uuid::connection */
@@ -59,10 +54,29 @@ typedef struct {
NMConfig *config;
} SettingsPluginKeyfilePrivate;
+struct _SettingsPluginKeyfile {
+ GObject parent;
+ SettingsPluginKeyfilePrivate _priv;
+};
+
+struct _SettingsPluginKeyfileClass {
+ GObjectClass parent;
+};
+
+static void settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface);
+
+G_DEFINE_TYPE_EXTENDED (SettingsPluginKeyfile, settings_plugin_keyfile, G_TYPE_OBJECT, 0,
+ G_IMPLEMENT_INTERFACE (NM_TYPE_SETTINGS_PLUGIN,
+ settings_plugin_interface_init))
+
+#define SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE(self) _NM_GET_PRIVATE (self, SettingsPluginKeyfile, SETTINGS_IS_PLUGIN_KEYFILE)
+
+/*****************************************************************************/
+
static void
connection_removed_cb (NMSettingsConnection *obj, gpointer user_data)
{
- g_hash_table_remove (SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE (user_data)->connections,
+ g_hash_table_remove (SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE ((SettingsPluginKeyfile *) user_data)->connections,
nm_connection_get_uuid (NM_CONNECTION (obj)));
}
@@ -327,7 +341,7 @@ config_changed_cb (NMConfig *config,
static void
setup_monitoring (NMSettingsPlugin *config)
{
- SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE (config);
+ SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE ((SettingsPluginKeyfile *) config);
GFile *file;
GFileMonitor *monitor;
@@ -455,12 +469,12 @@ read_connections (NMSettingsPlugin *config)
}
}
-/* Plugin */
+/*****************************************************************************/
static GSList *
get_connections (NMSettingsPlugin *config)
{
- SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE (config);
+ SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE ((SettingsPluginKeyfile *) config);
if (!priv->initialized) {
setup_monitoring (config);
@@ -474,7 +488,7 @@ static gboolean
load_connection (NMSettingsPlugin *config,
const char *filename)
{
- SettingsPluginKeyfile *self = SETTINGS_PLUGIN_KEYFILE (config);
+ SettingsPluginKeyfile *self = SETTINGS_PLUGIN_KEYFILE ((SettingsPluginKeyfile *) config);
NMKeyfileConnection *connection;
int dir_len = strlen (nm_keyfile_plugin_get_path ());
@@ -516,7 +530,7 @@ add_connection (NMSettingsPlugin *config,
static GSList *
get_unmanaged_specs (NMSettingsPlugin *config)
{
- SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE (config);
+ SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE ((SettingsPluginKeyfile *) config);
gs_free char *value = NULL;
value = nm_config_data_get_value (nm_config_get_data (priv->config),
@@ -526,19 +540,11 @@ get_unmanaged_specs (NMSettingsPlugin *config)
return nm_match_spec_split (value);
}
-/* GObject */
-
-static void
-settings_plugin_keyfile_init (SettingsPluginKeyfile *plugin)
-{
- SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE (plugin);
-
- priv->connections = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
-}
+/*****************************************************************************/
static void
get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
+ GValue *value, GParamSpec *pspec)
{
switch (prop_id) {
case NM_SETTINGS_PLUGIN_PROP_NAME:
@@ -556,21 +562,20 @@ get_property (GObject *object, guint prop_id,
}
}
+/*****************************************************************************/
+
static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
+settings_plugin_keyfile_init (SettingsPluginKeyfile *plugin)
{
- switch (prop_id) {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+ SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE (plugin);
+
+ priv->connections = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
}
static void
constructed (GObject *object)
{
- SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE (object);
+ SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE ((SettingsPluginKeyfile *) object);
priv->config = g_object_ref (nm_config_get ());
if (nm_config_data_has_value (nm_config_get_data_orig (priv->config),
@@ -580,10 +585,16 @@ constructed (GObject *object)
nm_log_warn (LOGD_SETTINGS, "keyfile: 'hostname' option is deprecated and has no effect");
}
+GObject *
+nm_settings_keyfile_plugin_new (void)
+{
+ return g_object_new (SETTINGS_TYPE_PLUGIN_KEYFILE, NULL);
+}
+
static void
dispose (GObject *object)
{
- SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE (object);
+ SettingsPluginKeyfilePrivate *priv = SETTINGS_PLUGIN_KEYFILE_GET_PRIVATE ((SettingsPluginKeyfile *) object);
if (priv->monitor) {
nm_clear_g_signal_handler (priv->monitor, &priv->monitor_id);
@@ -610,12 +621,9 @@ settings_plugin_keyfile_class_init (SettingsPluginKeyfileClass *req_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (req_class);
- g_type_class_add_private (req_class, sizeof (SettingsPluginKeyfilePrivate));
-
object_class->constructed = constructed;
object_class->dispose = dispose;
object_class->get_property = get_property;
- object_class->set_property = set_property;
g_object_class_override_property (object_class,
NM_SETTINGS_PLUGIN_PROP_NAME,
@@ -633,16 +641,9 @@ settings_plugin_keyfile_class_init (SettingsPluginKeyfileClass *req_class)
static void
settings_plugin_interface_init (NMSettingsPluginInterface *plugin_iface)
{
- /* interface implementation */
plugin_iface->get_connections = get_connections;
plugin_iface->load_connection = load_connection;
plugin_iface->reload_connections = reload_connections;
plugin_iface->add_connection = add_connection;
plugin_iface->get_unmanaged_specs = get_unmanaged_specs;
}
-
-GObject *
-nm_settings_keyfile_plugin_new (void)
-{
- return g_object_new (SETTINGS_TYPE_PLUGIN_KEYFILE, NULL);
-}
diff --git a/src/settings/plugins/keyfile/plugin.h b/src/settings/plugins/keyfile/plugin.h
index a22b9c494a..21f41c88d1 100644
--- a/src/settings/plugins/keyfile/plugin.h
+++ b/src/settings/plugins/keyfile/plugin.h
@@ -19,8 +19,8 @@
* Copyright (C) 2008 - 2011 Red Hat, Inc.
*/
-#ifndef _PLUGIN_H_
-#define _PLUGIN_H_
+#ifndef __NMKF_PLUGIN_H__
+#define __NMKF_PLUGIN_H__
#define SETTINGS_TYPE_PLUGIN_KEYFILE (settings_plugin_keyfile_get_type ())
#define SETTINGS_PLUGIN_KEYFILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SETTINGS_TYPE_PLUGIN_KEYFILE, SettingsPluginKeyfile))
@@ -29,16 +29,11 @@
#define SETTINGS_IS_PLUGIN_KEYFILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SETTINGS_TYPE_PLUGIN_KEYFILE))
#define SETTINGS_PLUGIN_KEYFILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SETTINGS_TYPE_PLUGIN_KEYFILE, SettingsPluginKeyfileClass))
-typedef struct {
- GObject parent;
-} SettingsPluginKeyfile;
-
-typedef struct {
- GObjectClass parent;
-} SettingsPluginKeyfileClass;
+typedef struct _SettingsPluginKeyfile SettingsPluginKeyfile;
+typedef struct _SettingsPluginKeyfileClass SettingsPluginKeyfileClass;
GType settings_plugin_keyfile_get_type (void);
GObject *nm_settings_keyfile_plugin_new (void);
-#endif /* _PLUGIN_H_ */
+#endif /* __NMKF_PLUGIN_H__ */
diff --git a/src/supplicant-manager/nm-supplicant-config.c b/src/supplicant-manager/nm-supplicant-config.c
index 6283edd6ca..f52df99628 100644
--- a/src/supplicant-manager/nm-supplicant-config.c
+++ b/src/supplicant-manager/nm-supplicant-config.c
@@ -21,29 +21,25 @@
#include "nm-default.h"
+#include "nm-supplicant-config.h"
+
#include <string.h>
#include <stdlib.h>
-#include "nm-supplicant-config.h"
#include "nm-supplicant-settings-verify.h"
#include "nm-setting.h"
#include "NetworkManagerUtils.h"
#include "nm-utils.h"
-#define NM_SUPPLICANT_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_SUPPLICANT_CONFIG, \
- NMSupplicantConfigPrivate))
-
-G_DEFINE_TYPE (NMSupplicantConfig, nm_supplicant_config, G_TYPE_OBJECT)
-
typedef struct {
char *value;
guint32 len;
OptType type;
} ConfigOption;
-typedef struct
-{
+/*****************************************************************************/
+
+typedef struct {
GHashTable *config;
GHashTable *blobs;
guint32 ap_scan;
@@ -51,6 +47,21 @@ typedef struct
gboolean dispose_has_run;
} NMSupplicantConfigPrivate;
+struct _NMSupplicantConfig {
+ GObject parent;
+ NMSupplicantConfigPrivate _priv;
+};
+
+struct _NMSupplicantConfigClass {
+ GObjectClass parent;
+};
+
+G_DEFINE_TYPE (NMSupplicantConfig, nm_supplicant_config, G_TYPE_OBJECT)
+
+#define NM_SUPPLICANT_CONFIG_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMSupplicantConfig, NM_IS_SUPPLICANT_CONFIG)
+
+/*****************************************************************************/
+
NMSupplicantConfig *
nm_supplicant_config_new (void)
{
@@ -243,11 +254,11 @@ nm_supplicant_config_add_blob_for_connection (NMSupplicantConfig *self,
static void
nm_supplicant_config_finalize (GObject *object)
{
- /* Complete object destruction */
- g_hash_table_destroy (NM_SUPPLICANT_CONFIG_GET_PRIVATE (object)->config);
- g_hash_table_destroy (NM_SUPPLICANT_CONFIG_GET_PRIVATE (object)->blobs);
+ NMSupplicantConfigPrivate *priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE ((NMSupplicantConfig *) object);
+
+ g_hash_table_destroy (priv->config);
+ g_hash_table_destroy (priv->blobs);
- /* Chain up to the parent class */
G_OBJECT_CLASS (nm_supplicant_config_parent_class)->finalize (object);
}
@@ -258,8 +269,6 @@ nm_supplicant_config_class_init (NMSupplicantConfigClass *klass)
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = nm_supplicant_config_finalize;
-
- g_type_class_add_private (object_class, sizeof (NMSupplicantConfigPrivate));
}
guint32
diff --git a/src/supplicant-manager/nm-supplicant-config.h b/src/supplicant-manager/nm-supplicant-config.h
index bf3e64c5c2..5b12a41175 100644
--- a/src/supplicant-manager/nm-supplicant-config.h
+++ b/src/supplicant-manager/nm-supplicant-config.h
@@ -35,16 +35,7 @@
#define NM_IS_SUPPLICANT_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SUPPLICANT_CONFIG))
#define NM_SUPPLICANT_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SUPPLICANT_CONFIG, NMSupplicantConfigClass))
-struct _NMSupplicantConfig
-{
- GObject parent;
-};
-
-typedef struct
-{
- GObjectClass parent;
-} NMSupplicantConfigClass;
-
+typedef struct _NMSupplicantConfigClass NMSupplicantConfigClass;
GType nm_supplicant_config_get_type (void);
diff --git a/src/supplicant-manager/nm-supplicant-interface.c b/src/supplicant-manager/nm-supplicant-interface.c
index 626472d072..1cdb6180a1 100644
--- a/src/supplicant-manager/nm-supplicant-interface.c
+++ b/src/supplicant-manager/nm-supplicant-interface.c
@@ -21,11 +21,12 @@
#include "nm-default.h"
+#include "nm-supplicant-interface.h"
+
#include <stdio.h>
#include <string.h>
#include "NetworkManagerUtils.h"
-#include "nm-supplicant-interface.h"
#include "nm-supplicant-config.h"
#include "nm-core-internal.h"
#include "nm-dbus-compat.h"
@@ -36,13 +37,8 @@
#define WPAS_ERROR_INVALID_IFACE WPAS_DBUS_INTERFACE ".InvalidInterface"
#define WPAS_ERROR_EXISTS_ERROR WPAS_DBUS_INTERFACE ".InterfaceExists"
-G_DEFINE_TYPE (NMSupplicantInterface, nm_supplicant_interface, G_TYPE_OBJECT)
+/*****************************************************************************/
-#define NM_SUPPLICANT_INTERFACE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_SUPPLICANT_INTERFACE, \
- NMSupplicantInterfacePrivate))
-
-/* Signals */
enum {
STATE, /* change in the interface's state */
REMOVED, /* interface was removed by the supplicant */
@@ -56,8 +52,6 @@ enum {
};
static guint signals[LAST_SIGNAL] = { 0 };
-
-/* Properties */
NM_GOBJECT_PROPERTIES_DEFINE (NMSupplicantInterface,
PROP_IFACE,
PROP_SCANNING,
@@ -98,7 +92,20 @@ typedef struct {
NMSupplicantConfig *cfg;
} NMSupplicantInterfacePrivate;
-/*********************************************************************************************/
+struct _NMSupplicantInterface {
+ GObject parent;
+ NMSupplicantInterfacePrivate _priv;
+};
+
+struct _NMSupplicantInterfaceClass {
+ GObjectClass parent;
+};
+
+G_DEFINE_TYPE (NMSupplicantInterface, nm_supplicant_interface, G_TYPE_OBJECT)
+
+#define NM_SUPPLICANT_INTERFACE_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMSupplicantInterface, NM_IS_SUPPLICANT_INTERFACE)
+
+/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_SUPPLICANT
#define _NMLOG_PREFIX_NAME "sup-iface"
@@ -118,7 +125,7 @@ typedef struct {
_NM_UTILS_MACRO_REST(__VA_ARGS__)); \
} G_STMT_END
-/*********************************************************************************************/
+/*****************************************************************************/
static void
emit_error_helper (NMSupplicantInterface *self, GError *error)
@@ -1436,7 +1443,7 @@ nm_supplicant_interface_get_max_scan_ssids (NMSupplicantInterface *self)
return NM_SUPPLICANT_INTERFACE_GET_PRIVATE (self)->max_scan_ssids;
}
-/*******************************************************************/
+/*****************************************************************************/
NMSupplicantInterface *
nm_supplicant_interface_new (const char *ifname,
@@ -1469,7 +1476,7 @@ set_property (GObject *object,
const GValue *value,
GParamSpec *pspec)
{
- NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (object);
+ NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE ((NMSupplicantInterface *) object);
switch (prop_id) {
case PROP_IFACE:
@@ -1501,7 +1508,7 @@ get_property (GObject *object,
GValue *value,
GParamSpec *pspec)
{
- NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (object);
+ NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE ((NMSupplicantInterface *) object);
switch (prop_id) {
case PROP_SCANNING:
@@ -1519,10 +1526,10 @@ get_property (GObject *object,
static void
dispose (GObject *object)
{
- NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE (object);
+ NMSupplicantInterfacePrivate *priv = NM_SUPPLICANT_INTERFACE_GET_PRIVATE ((NMSupplicantInterface *) object);
if (priv->iface_proxy)
- g_signal_handlers_disconnect_by_data (priv->iface_proxy, NM_SUPPLICANT_INTERFACE (object));
+ g_signal_handlers_disconnect_by_data (priv->iface_proxy, object);
g_clear_object (&priv->iface_proxy);
if (priv->init_cancellable)
@@ -1552,13 +1559,10 @@ nm_supplicant_interface_class_init (NMSupplicantInterfaceClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMSupplicantInterfacePrivate));
-
object_class->dispose = dispose;
object_class->set_property = set_property;
object_class->get_property = get_property;
- /* Properties */
obj_properties[PROP_SCANNING] =
g_param_spec_boolean (NM_SUPPLICANT_INTERFACE_SCANNING, "", "",
FALSE,
@@ -1598,69 +1602,68 @@ nm_supplicant_interface_class_init (NMSupplicantInterfaceClass *klass)
g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
- /* Signals */
signals[STATE] =
- g_signal_new (NM_SUPPLICANT_INTERFACE_STATE,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMSupplicantInterfaceClass, state),
- NULL, NULL, NULL,
- G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_INT);
+ g_signal_new (NM_SUPPLICANT_INTERFACE_STATE,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_INT);
signals[REMOVED] =
- g_signal_new (NM_SUPPLICANT_INTERFACE_REMOVED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMSupplicantInterfaceClass, removed),
- NULL, NULL, NULL,
- G_TYPE_NONE, 0);
+ g_signal_new (NM_SUPPLICANT_INTERFACE_REMOVED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 0);
signals[NEW_BSS] =
- g_signal_new (NM_SUPPLICANT_INTERFACE_NEW_BSS,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMSupplicantInterfaceClass, new_bss),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_VARIANT);
+ g_signal_new (NM_SUPPLICANT_INTERFACE_NEW_BSS,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_VARIANT);
signals[BSS_UPDATED] =
- g_signal_new (NM_SUPPLICANT_INTERFACE_BSS_UPDATED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMSupplicantInterfaceClass, bss_updated),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_VARIANT);
+ g_signal_new (NM_SUPPLICANT_INTERFACE_BSS_UPDATED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_VARIANT);
signals[BSS_REMOVED] =
- g_signal_new (NM_SUPPLICANT_INTERFACE_BSS_REMOVED,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMSupplicantInterfaceClass, bss_removed),
- NULL, NULL, NULL,
- G_TYPE_NONE, 1, G_TYPE_STRING);
+ g_signal_new (NM_SUPPLICANT_INTERFACE_BSS_REMOVED,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_STRING);
signals[SCAN_DONE] =
- g_signal_new (NM_SUPPLICANT_INTERFACE_SCAN_DONE,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMSupplicantInterfaceClass, scan_done),
- NULL, NULL, NULL,
- G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
+ g_signal_new (NM_SUPPLICANT_INTERFACE_SCAN_DONE,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
signals[CONNECTION_ERROR] =
- g_signal_new (NM_SUPPLICANT_INTERFACE_CONNECTION_ERROR,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMSupplicantInterfaceClass, connection_error),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
+ g_signal_new (NM_SUPPLICANT_INTERFACE_CONNECTION_ERROR,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
signals[CREDENTIALS_REQUEST] =
- g_signal_new (NM_SUPPLICANT_INTERFACE_CREDENTIALS_REQUEST,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NMSupplicantInterfaceClass, credentials_request),
- NULL, NULL, NULL,
- G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
+ g_signal_new (NM_SUPPLICANT_INTERFACE_CREDENTIALS_REQUEST,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL, NULL,
+ G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
}
diff --git a/src/supplicant-manager/nm-supplicant-interface.h b/src/supplicant-manager/nm-supplicant-interface.h
index a586e7ea79..852bf10409 100644
--- a/src/supplicant-manager/nm-supplicant-interface.h
+++ b/src/supplicant-manager/nm-supplicant-interface.h
@@ -71,52 +71,7 @@ enum {
#define NM_SUPPLICANT_INTERFACE_CONNECTION_ERROR "connection-error"
#define NM_SUPPLICANT_INTERFACE_CREDENTIALS_REQUEST "credentials-request"
-struct _NMSupplicantInterface {
- GObject parent;
-};
-
-typedef struct {
- GObjectClass parent;
-
- /* Signals */
-
- /* change in the interface's state */
- void (*state) (NMSupplicantInterface * iface,
- guint32 new_state,
- guint32 old_state,
- int disconnect_reason);
-
- /* interface was removed by the supplicant */
- void (*removed) (NMSupplicantInterface * iface);
-
- /* interface saw a new BSS */
- void (*new_bss) (NMSupplicantInterface *iface,
- const char *object_path,
- GVariant *props);
-
- /* a BSS property changed */
- void (*bss_updated) (NMSupplicantInterface *iface,
- const char *object_path,
- GVariant *props);
-
- /* supplicant removed a BSS from its scan list */
- void (*bss_removed) (NMSupplicantInterface *iface,
- const char *object_path);
-
- /* wireless scan is done */
- void (*scan_done) (NMSupplicantInterface *iface,
- gboolean success);
-
- /* an error occurred during a connection request */
- void (*connection_error) (NMSupplicantInterface * iface,
- const char * name,
- const char * message);
-
- /* 802.1x credentials requested */
- void (*credentials_request) (NMSupplicantInterface *iface,
- const char *field,
- const char *message);
-} NMSupplicantInterfaceClass;
+typedef struct _NMSupplicantInterfaceClass NMSupplicantInterfaceClass;
GType nm_supplicant_interface_get_type (void);
diff --git a/src/supplicant-manager/nm-supplicant-manager.c b/src/supplicant-manager/nm-supplicant-manager.c
index 57cd57131d..502ac0c8b3 100644
--- a/src/supplicant-manager/nm-supplicant-manager.c
+++ b/src/supplicant-manager/nm-supplicant-manager.c
@@ -21,28 +21,15 @@
#include "nm-default.h"
+#include "nm-supplicant-manager.h"
+
#include <string.h>
-#include "nm-supplicant-manager.h"
#include "nm-supplicant-interface.h"
#include "nm-supplicant-types.h"
#include "nm-core-internal.h"
-#define NM_SUPPLICANT_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \
- NM_TYPE_SUPPLICANT_MANAGER, \
- NMSupplicantManagerPrivate))
-
-G_DEFINE_TYPE (NMSupplicantManager, nm_supplicant_manager, G_TYPE_OBJECT)
-
-#define _NMLOG_DOMAIN LOGD_SUPPLICANT
-#define _NMLOG_PREFIX_NAME "supplicant"
-#define _NMLOG(level, ...) \
- G_STMT_START { \
- nm_log ((level), _NMLOG_DOMAIN, \
- "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
- _NMLOG_PREFIX_NAME": " \
- _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
- } G_STMT_END
+/*****************************************************************************/
typedef struct {
GDBusProxy * proxy;
@@ -56,11 +43,36 @@ typedef struct {
guint die_count;
} NMSupplicantManagerPrivate;
-/********************************************************************/
+struct _NMSupplicantManager {
+ GObject parent;
+ NMSupplicantManagerPrivate _priv;
+};
+
+struct _NMSupplicantManagerClass {
+ GObjectClass parent;
+};
+
+G_DEFINE_TYPE (NMSupplicantManager, nm_supplicant_manager, G_TYPE_OBJECT)
+
+#define NM_SUPPLICANT_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMSupplicantManager, NM_IS_SUPPLICANT_MANAGER)
+
+/*****************************************************************************/
+
+#define _NMLOG_DOMAIN LOGD_SUPPLICANT
+#define _NMLOG_PREFIX_NAME "supplicant"
+#define _NMLOG(level, ...) \
+ G_STMT_START { \
+ nm_log ((level), _NMLOG_DOMAIN, \
+ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
+ _NMLOG_PREFIX_NAME": " \
+ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
+ } G_STMT_END
+
+/*****************************************************************************/
G_DEFINE_QUARK (nm-supplicant-error-quark, nm_supplicant_error);
-/********************************************************************/
+/*****************************************************************************/
static inline gboolean
die_count_exceeded (guint32 count)
@@ -77,7 +89,7 @@ is_available (NMSupplicantManager *self)
&& !die_count_exceeded (priv->die_count);
}
-/********************************************************************/
+/*****************************************************************************/
static void
_sup_iface_last_ref (gpointer data,
@@ -351,7 +363,7 @@ on_proxy_acquired (GObject *object, GAsyncResult *result, gpointer user_data)
name_owner_cb (priv->proxy, NULL, self);
}
-/*******************************************************************/
+/*****************************************************************************/
NM_DEFINE_SINGLETON_GETTER (NMSupplicantManager, nm_supplicant_manager_get, NM_TYPE_SUPPLICANT_MANAGER);
@@ -403,8 +415,6 @@ nm_supplicant_manager_class_init (NMSupplicantManagerClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- g_type_class_add_private (object_class, sizeof (NMSupplicantManagerPrivate));
-
object_class->dispose = dispose;
}
diff --git a/src/supplicant-manager/nm-supplicant-manager.h b/src/supplicant-manager/nm-supplicant-manager.h
index 4cd7a0bdc4..9cc7e50b97 100644
--- a/src/supplicant-manager/nm-supplicant-manager.h
+++ b/src/supplicant-manager/nm-supplicant-manager.h
@@ -25,22 +25,14 @@
#include "nm-supplicant-types.h"
#include "nm-device.h"
-#define NM_TYPE_SUPPLICANT_MANAGER (nm_supplicant_manager_get_type ())
-#define NM_SUPPLICANT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManager))
-#define NM_SUPPLICANT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
-#define NM_IS_SUPPLICANT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SUPPLICANT_MANAGER))
-#define NM_IS_SUPPLICANT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SUPPLICANT_MANAGER))
-#define NM_SUPPLICANT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
-
-struct _NMSupplicantManager
-{
- GObject parent;
-};
-
-typedef struct
-{
- GObjectClass parent;
-} NMSupplicantManagerClass;
+#define NM_TYPE_SUPPLICANT_MANAGER (nm_supplicant_manager_get_type ())
+#define NM_SUPPLICANT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManager))
+#define NM_SUPPLICANT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
+#define NM_IS_SUPPLICANT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SUPPLICANT_MANAGER))
+#define NM_IS_SUPPLICANT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SUPPLICANT_MANAGER))
+#define NM_SUPPLICANT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SUPPLICANT_MANAGER, NMSupplicantManagerClass))
+
+typedef struct _NMSupplicantManagerClass NMSupplicantManagerClass;
GType nm_supplicant_manager_get_type (void);
diff --git a/src/supplicant-manager/nm-supplicant-settings-verify.c b/src/supplicant-manager/nm-supplicant-settings-verify.c
index bb046f9361..9355b210bc 100644
--- a/src/supplicant-manager/nm-supplicant-settings-verify.c
+++ b/src/supplicant-manager/nm-supplicant-settings-verify.c
@@ -20,13 +20,13 @@
#include "nm-default.h"
+#include "nm-supplicant-settings-verify.h"
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
-#include "nm-supplicant-settings-verify.h"
-
struct Opt {
const char * key;
const OptType type;
diff --git a/src/tests/config/nm-test-device.c b/src/tests/config/nm-test-device.c
index 1ae964eef2..33df46c285 100644
--- a/src/tests/config/nm-test-device.c
+++ b/src/tests/config/nm-test-device.c
@@ -20,16 +20,37 @@
#include "nm-default.h"
+#include "nm-test-device.h"
+
#include <string.h>
-#include "nm-test-device.h"
#include "nm-device-private.h"
#include "nm-utils.h"
+/*****************************************************************************/
+
+struct _NMTestDevice {
+ NMDevice parent;
+};
+
+struct _NMTestDeviceClass {
+ NMDeviceClass parent;
+};
+
G_DEFINE_TYPE (NMTestDevice, nm_test_device, NM_TYPE_DEVICE)
#define PARENT_CLASS (G_OBJECT_CLASS (g_type_class_peek_parent (nm_test_device_parent_class)))
+/*****************************************************************************/
+
+static NMDeviceCapabilities
+get_generic_capabilities (NMDevice *device)
+{
+ return NM_DEVICE_CAP_IS_NON_KERNEL;
+}
+
+/*****************************************************************************/
+
static void
nm_test_device_init (NMTestDevice *self)
{
@@ -50,10 +71,13 @@ dispose (GObject *object)
PARENT_CLASS->dispose (object);
}
-static NMDeviceCapabilities
-get_generic_capabilities (NMDevice *device)
+NMDevice *
+nm_test_device_new (const char *hwaddr)
{
- return NM_DEVICE_CAP_IS_NON_KERNEL;
+ return g_object_new (NM_TYPE_TEST_DEVICE,
+ NM_DEVICE_IFACE, "dummy",
+ NM_DEVICE_PERM_HW_ADDRESS, hwaddr,
+ NULL);
}
static void
@@ -67,12 +91,3 @@ nm_test_device_class_init (NMTestDeviceClass *klass)
device_class->get_generic_capabilities = get_generic_capabilities;
}
-
-NMDevice *
-nm_test_device_new (const char *hwaddr)
-{
- return g_object_new (NM_TYPE_TEST_DEVICE,
- NM_DEVICE_IFACE, "dummy",
- NM_DEVICE_PERM_HW_ADDRESS, hwaddr,
- NULL);
-}
diff --git a/src/tests/config/nm-test-device.h b/src/tests/config/nm-test-device.h
index dfb8ff7813..c200b728f4 100644
--- a/src/tests/config/nm-test-device.h
+++ b/src/tests/config/nm-test-device.h
@@ -30,14 +30,8 @@
#define NM_IS_TEST_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_TEST_DEVICE))
#define NM_TEST_DEVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_TEST_DEVICE, NMTestDeviceClass))
-typedef struct {
- NMDevice parent;
-
-} NMTestDevice;
-
-typedef struct {
- NMDeviceClass parent;
-} NMTestDeviceClass;
+typedef struct _NMTestDevice NMTestDevice;
+typedef struct _NMTestDeviceClass NMTestDeviceClass;
GType nm_test_device_get_type (void);
diff --git a/src/tests/config/test-config.c b/src/tests/config/test-config.c
index 73358d027c..a3cbc3ec7c 100644
--- a/src/tests/config/test-config.c
+++ b/src/tests/config/test-config.c
@@ -29,7 +29,7 @@
#include "nm-test-utils-core.h"
-/********************************************************************************/
+/*****************************************************************************/
static void
_assert_config_value (const NMConfigData *config_data, const char *group, const char *key, const char *expected_value, const char *file, int line)
@@ -46,7 +46,7 @@ _assert_config_value (const NMConfigData *config_data, const char *group, const
}
#define assert_config_value(config_data, group, key, expected_value) _assert_config_value (config_data, group, key, expected_value, __FILE__, __LINE__)
-/********************************************************************************/
+/*****************************************************************************/
static NMConfig *
setup_config (GError **error, const char *config_file, const char *intern_config, const char *const* atomic_section_prefixes, const char *config_dir, const char *system_config_dir, ...)
diff --git a/src/tests/test-dcb.c b/src/tests/test-dcb.c
index 0a133de369..2ab0f89056 100644
--- a/src/tests/test-dcb.c
+++ b/src/tests/test-dcb.c
@@ -334,7 +334,7 @@ test_fcoe_cleanup (void)
g_assert (success);
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/tests/test-general-with-expect.c b/src/tests/test-general-with-expect.c
index ab2b15b5f2..3ec21328a3 100644
--- a/src/tests/test-general-with-expect.c
+++ b/src/tests/test-general-with-expect.c
@@ -36,7 +36,7 @@
#define CLOCK_BOOTTIME 7
#endif
-/*******************************************/
+/*****************************************************************************/
static void
test_nm_utils_monotonic_timestamp_as_boottime (void)
@@ -72,7 +72,7 @@ test_nm_utils_monotonic_timestamp_as_boottime (void)
}
}
-/*******************************************/
+/*****************************************************************************/
struct test_nm_utils_kill_child_async_data
{
@@ -370,7 +370,7 @@ test_nm_utils_kill_child (void)
g_test_assert_expected_messages ();
}
-/*******************************************/
+/*****************************************************************************/
static void
_remove_at_indexes_init_random_idx (GArray *idx, guint array_len, guint idx_len)
@@ -469,7 +469,7 @@ test_nm_utils_array_remove_at_indexes (void)
}
}
-/*******************************************/
+/*****************************************************************************/
static void
test_nm_ethernet_address_is_valid (void)
@@ -496,7 +496,7 @@ test_nm_ethernet_address_is_valid (void)
g_assert ( nm_ethernet_address_is_valid (((guint8[8]) { 0x02,0x30,0xb4,0x00,0x00,0x01 }), ETH_ALEN));
}
-/*******************************************/
+/*****************************************************************************/
typedef struct {
union {
@@ -852,7 +852,7 @@ test_nm_multi_index (void)
_mi_test_run (50, 18);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_nm_utils_new_vlan_name (void)
@@ -895,7 +895,7 @@ test_nm_utils_new_vlan_name (void)
}
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/tests/test-general.c b/src/tests/test-general.c
index 9769ead11b..2596cff6af 100644
--- a/src/tests/test-general.c
+++ b/src/tests/test-general.c
@@ -267,7 +267,7 @@ test_nm_utils_log_connection_diff (void)
g_clear_object (&connection);
}
-/*******************************************/
+/*****************************************************************************/
static NMConnection *
_match_connection_new (void)
@@ -953,7 +953,7 @@ test_connection_sort_autoconnect_priority (void)
_test_connection_sort_autoconnect_priority_free (c2);
}
-/*******************************************/
+/*****************************************************************************/
static const char *_test_match_spec_all[] = {
"e",
@@ -1085,7 +1085,7 @@ test_nm_match_spec_interface_name (void)
#undef S
}
-/*******************************************/
+/*****************************************************************************/
static void
_do_test_match_spec_match_config (const char *file, gint line, const char *spec_str, guint version, guint v_maj, guint v_min, guint v_mic, NMMatchSpecMatchType expected)
@@ -1227,7 +1227,7 @@ test_nm_match_spec_match_config (void)
do_test_match_spec_match_config ("nm-version-min:1.6,nm-version-min:1.4.6,nm-version-min:1.2.16,except:nm-version:1.4.8", 1, 8, 8, NM_MATCH_SPEC_MATCH);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_nm_utils_strbuf_append (void)
diff --git a/src/tests/test-ip4-config.c b/src/tests/test-ip4-config.c
index 95b221bc0c..23dd1ab331 100644
--- a/src/tests/test-ip4-config.c
+++ b/src/tests/test-ip4-config.c
@@ -322,7 +322,7 @@ test_strip_search_trailing_dot (void)
g_object_unref (config);
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/tests/test-ip6-config.c b/src/tests/test-ip6-config.c
index 3eceec0cbe..05b0320610 100644
--- a/src/tests/test-ip6-config.c
+++ b/src/tests/test-ip6-config.c
@@ -340,7 +340,7 @@ test_strip_search_trailing_dot (void)
g_object_unref (config);
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE();
diff --git a/src/tests/test-resolvconf-capture.c b/src/tests/test-resolvconf-capture.c
index 32bc97342a..749eb664fb 100644
--- a/src/tests/test-resolvconf-capture.c
+++ b/src/tests/test-resolvconf-capture.c
@@ -287,7 +287,7 @@ test_capture_dns_options_valid6 (void)
g_array_free (ns6, TRUE);
g_ptr_array_free (dns_options, TRUE);
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/tests/test-wired-defname.c b/src/tests/test-wired-defname.c
index 3ae3a19d95..7f7e41f926 100644
--- a/src/tests/test-wired-defname.c
+++ b/src/tests/test-wired-defname.c
@@ -39,7 +39,7 @@ _new_connection (const char *id)
return a;
}
-/*******************************************/
+/*****************************************************************************/
static char *
_get_default_wired_name (GSList *list)
@@ -55,7 +55,7 @@ _get_default_wired_name (GSList *list)
return nm_device_ethernet_utils_get_default_wired_name (v);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_defname_no_connections (void)
@@ -66,7 +66,7 @@ test_defname_no_connections (void)
g_assert_cmpstr (name, ==, "Wired connection 1");
}
-/*******************************************/
+/*****************************************************************************/
static void
test_defname_no_conflict (void)
@@ -84,7 +84,7 @@ test_defname_no_conflict (void)
g_slist_free_full (list, g_object_unref);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_defname_conflict (void)
@@ -102,7 +102,7 @@ test_defname_conflict (void)
g_slist_free_full (list, g_object_unref);
}
-/*******************************************/
+/*****************************************************************************/
static void
test_defname_multiple_conflicts (void)
@@ -124,7 +124,7 @@ test_defname_multiple_conflicts (void)
g_slist_free_full (list, g_object_unref);
}
-/*******************************************/
+/*****************************************************************************/
NMTST_DEFINE ();
diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c
index 1285f59cbd..6e10576efe 100644
--- a/src/vpn-manager/nm-vpn-connection.c
+++ b/src/vpn-manager/nm-vpn-connection.c
@@ -21,6 +21,8 @@
#include "nm-default.h"
+#include "nm-vpn-connection.h"
+
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
@@ -30,7 +32,6 @@
#include <unistd.h>
#include <syslog.h>
-#include "nm-vpn-connection.h"
#include "nm-ip4-config.h"
#include "nm-ip6-config.h"
#include "nm-platform.h"
@@ -188,7 +189,7 @@ static void _set_vpn_state (NMVpnConnection *self,
NMVpnConnectionStateReason reason,
gboolean quitting);
-/*********************************************************************/
+/*****************************************************************************/
#define _NMLOG_DOMAIN LOGD_VPN
#define _NMLOG_PREFIX_NAME "vpn-connection"
@@ -243,7 +244,7 @@ __LOG_create_prefix (char *buf, NMVpnConnection *self)
} \
} G_STMT_END
-/*********************************************************************/
+/*****************************************************************************/
static void
cancel_get_secrets (NMVpnConnection *self)
@@ -2321,7 +2322,7 @@ nm_vpn_connection_deactivate (NMVpnConnection *self,
return success;
}
-/******************************************************************************/
+/*****************************************************************************/
static void
plugin_need_secrets_cb (GDBusProxy *proxy, GAsyncResult *result, gpointer user_data)
@@ -2532,7 +2533,7 @@ plugin_interactive_secrets_required (NMVpnConnection *self,
g_strfreev (hints);
}
-/******************************************************************************/
+/*****************************************************************************/
static void
device_changed (NMActiveConnection *active,
@@ -2563,7 +2564,7 @@ device_changed (NMActiveConnection *active,
apply_parent_device_config (NM_VPN_CONNECTION (active));
}
-/******************************************************************************/
+/*****************************************************************************/
static void
nm_vpn_connection_init (NMVpnConnection *self)
diff --git a/src/vpn-manager/nm-vpn-connection.h b/src/vpn-manager/nm-vpn-connection.h
index 3fe5605467..635ef33659 100644
--- a/src/vpn-manager/nm-vpn-connection.h
+++ b/src/vpn-manager/nm-vpn-connection.h
@@ -19,8 +19,8 @@
* Copyright (C) 2006 - 2008 Novell, Inc.
*/
-#ifndef __NETWORKMANAGER_VPN_CONNECTION_H__
-#define __NETWORKMANAGER_VPN_CONNECTION_H__
+#ifndef __NM_VPN_CONNECTION_H__
+#define __NM_VPN_CONNECTION_H__
#include "nm-vpn-dbus-interface.h"
#include "nm-device.h"
@@ -28,6 +28,8 @@
#include "nm-active-connection.h"
#include "nm-vpn-plugin-info.h"
+#define NM_VPN_ROUTE_METRIC_DEFAULT 50
+
#define NM_TYPE_VPN_CONNECTION (nm_vpn_connection_get_type ())
#define NM_VPN_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_CONNECTION, NMVpnConnection))
#define NM_VPN_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_VPN_CONNECTION, NMVpnConnectionClass))
@@ -44,9 +46,6 @@
#define NM_VPN_CONNECTION_INTERNAL_STATE_CHANGED "internal-state-changed"
#define NM_VPN_CONNECTION_INTERNAL_RETRY_AFTER_FAILURE "internal-retry-after-failure"
-
-#define NM_VPN_ROUTE_METRIC_DEFAULT 50
-
typedef struct _NMVpnConnectionClass NMVpnConnectionClass;
GType nm_vpn_connection_get_type (void);
@@ -79,4 +78,4 @@ struct in6_addr * nm_vpn_connection_get_ip6_internal_gateway (NMVpnConnection
guint32 nm_vpn_connection_get_ip4_route_metric (NMVpnConnection *self);
guint32 nm_vpn_connection_get_ip6_route_metric (NMVpnConnection *self);
-#endif /* __NETWORKMANAGER_VPN_CONNECTION_H__ */
+#endif /* __NM_VPN_CONNECTION_H__ */
diff --git a/src/vpn-manager/nm-vpn-manager.c b/src/vpn-manager/nm-vpn-manager.c
index 6dcd546383..35f93fd859 100644
--- a/src/vpn-manager/nm-vpn-manager.c
+++ b/src/vpn-manager/nm-vpn-manager.c
@@ -21,9 +21,10 @@
#include "nm-default.h"
+#include "nm-vpn-manager.h"
+
#include <string.h>
-#include "nm-vpn-manager.h"
#include "nm-vpn-plugin-info.h"
#include "nm-vpn-connection.h"
#include "nm-setting-vpn.h"
@@ -31,10 +32,6 @@
#include "nm-core-internal.h"
#include "nm-enum-types.h"
-G_DEFINE_TYPE (NMVpnManager, nm_vpn_manager, G_TYPE_OBJECT)
-
-#define NM_VPN_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_VPN_MANAGER, NMVpnManagerPrivate))
-
typedef struct {
GSList *plugins;
GFileMonitor *monitor_etc;
@@ -47,7 +44,20 @@ typedef struct {
GHashTable *active_services;
} NMVpnManagerPrivate;
-/******************************************************************************/
+struct _NMVpnManager {
+ GObject parent;
+ NMVpnManagerPrivate _priv;
+};
+
+struct _NMVpnManagerClass {
+ GObjectClass parent;
+};
+
+G_DEFINE_TYPE (NMVpnManager, nm_vpn_manager, G_TYPE_OBJECT)
+
+#define NM_VPN_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMVpnManager, NM_IS_VPN_MANAGER)
+
+/*****************************************************************************/
static void
vpn_state_changed (NMVpnConnection *vpn,
@@ -120,7 +130,7 @@ nm_vpn_manager_activate_connection (NMVpnManager *manager,
return TRUE;
}
-/******************************************************************************/
+/*****************************************************************************/
static void
try_add_plugin (NMVpnManager *self, NMVpnPluginInfo *plugin_info)
@@ -202,7 +212,7 @@ vpn_dir_changed (GFileMonitor *monitor,
}
}
-/******************************************************************************/
+/*****************************************************************************/
NM_DEFINE_SINGLETON_GETTER (NMVpnManager, nm_vpn_manager_get, NM_TYPE_VPN_MANAGER);
@@ -252,7 +262,7 @@ nm_vpn_manager_init (NMVpnManager *self)
static void
dispose (GObject *object)
{
- NMVpnManagerPrivate *priv = NM_VPN_MANAGER_GET_PRIVATE (object);
+ NMVpnManagerPrivate *priv = NM_VPN_MANAGER_GET_PRIVATE ((NMVpnManager *) object);
if (priv->monitor_etc) {
if (priv->monitor_id_etc)
@@ -281,9 +291,6 @@ nm_vpn_manager_class_init (NMVpnManagerClass *manager_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (manager_class);
- g_type_class_add_private (manager_class, sizeof (NMVpnManagerPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
}
diff --git a/src/vpn-manager/nm-vpn-manager.h b/src/vpn-manager/nm-vpn-manager.h
index 9ccd882d1c..8b1bec1e47 100644
--- a/src/vpn-manager/nm-vpn-manager.h
+++ b/src/vpn-manager/nm-vpn-manager.h
@@ -19,8 +19,8 @@
* Copyright (C) 2006 - 2008 Novell, Inc.
*/
-#ifndef __NETWORKMANAGER_VPN_MANAGER_H__
-#define __NETWORKMANAGER_VPN_MANAGER_H__
+#ifndef __NM_VPN_MANAGER_H__
+#define __NM_VPN_MANAGER_H__
#include "nm-vpn-connection.h"
@@ -31,13 +31,8 @@
#define NM_IS_VPN_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_VPN_MANAGER))
#define NM_VPN_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_VPN_MANAGER, NMVpnManagerClass))
-typedef struct {
- GObject parent;
-} NMVpnManager;
-
-typedef struct {
- GObjectClass parent;
-} NMVpnManagerClass;
+typedef struct _NMVpnManager NMVpnManager;
+typedef struct _NMVpnManagerClass NMVpnManagerClass;
GType nm_vpn_manager_get_type (void);
@@ -47,4 +42,4 @@ gboolean nm_vpn_manager_activate_connection (NMVpnManager *manager,
NMVpnConnection *vpn,
GError **error);
-#endif /* __NETWORKMANAGER_VPN_MANAGER_H__ */
+#endif /* __NM_VPN_MANAGER_H__ */