NetworkManager/libnm
Dan Williams 52ae28f6e5 libnm: queue added/removed signals and suppress uninitialized notifications
Property notifications are queued during object initialization and
reloading, but the added/removed signals were emitted immediately
even before the object was fully initialized.

Additionally, depending on how long asynchronous initialization took,
the notifications could have been emitted before the object was
fully initialized as deferred_notify_cb() wasn't being suppressed
until all the properties were complete.

For synchronous intialization, signals could be emitted at various
times during initialization and not all of the object's properties
may be read.  Furthermore property notifications were queued in an
idle handler, which breaks users that may not use a mainloop.  All
signals and notifications should be emitted immediately after
initialization is complete for synchronous initialization.

To make things consistent and ensure that all signals and notifications
are emitted only when initialization is complete, queue signals for
deferred emission and only run notifications/signals when all the
object's properties have been read.  For synchronous initialization,
emit all notifications and signals immediately after initialization
and not from an idle handler.
2014-11-06 20:51:58 -06:00
..
tests libnm: queue added/removed signals and suppress uninitialized notifications 2014-11-06 20:51:58 -06:00
libnm.pc.in libnm: add libnm/libnm-core (part 2) 2014-08-01 14:34:04 -04:00
libnm.ver libnm: change GSList to GPtrArray in libnm methods 2014-10-28 17:17:17 -04:00
Makefile.am libnm: merge nm-vpn-plugin-utils into nm-vpn-plugin-old 2014-10-28 14:50:27 -04:00
NetworkManager.h libnm: merge NMRemoteSettings into NMClient 2014-10-10 12:40:19 -04:00
nm-access-point.c libnm: change GSList to GPtrArray in libnm methods 2014-10-28 17:17:17 -04:00
nm-access-point.h libnm: change GSList to GPtrArray in libnm methods 2014-10-28 17:17:17 -04:00
nm-active-connection.c libnm: fix NMActiveConnection:specific-object-path 2014-10-21 09:45:20 -04:00
nm-active-connection.h libnm: fix NMActiveConnection object-path-valued properties 2014-10-10 13:10:19 -04:00
nm-client.c libnm: change GSList to GPtrArray in libnm methods 2014-10-28 17:17:17 -04:00
nm-client.h libnm: change GSList to GPtrArray in libnm methods 2014-10-28 17:17:17 -04:00
nm-dbus-helpers.c libnm: drop _nm_dbus_register_error_domain() 2014-10-22 08:29:10 -04:00
nm-dbus-helpers.h libnm: drop _nm_dbus_register_error_domain() 2014-10-22 08:29:10 -04:00
nm-device-adsl.c libnm-core: add nm-core-types.h, remove cross-includes 2014-10-28 17:17:17 -04:00
nm-device-adsl.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-bond.c libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-bond.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-bridge.c libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-bridge.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-bt.c libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-bt.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-ethernet.c libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-ethernet.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-generic.c libnm-core: add nm-core-types.h, remove cross-includes 2014-10-28 17:17:17 -04:00
nm-device-generic.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-infiniband.c libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-infiniband.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-modem.c libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-modem.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-olpc-mesh.c libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-olpc-mesh.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-private.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-device-team.c libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-team.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-vlan.c libnm-core: add nm-core-types.h, remove cross-includes 2014-10-28 17:17:17 -04:00
nm-device-vlan.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-wifi.c libnm: strip GDBus gunk from GErrors 2014-10-22 08:29:10 -04:00
nm-device-wifi.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-wimax.c libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device-wimax.h libnm: merge device-type-specific errors into NMDeviceError 2014-10-22 08:29:08 -04:00
nm-device.c libnm: cancel NMRemoteSettings/NMManager property reload when NM quits 2014-11-06 20:51:58 -06:00
nm-device.h libnm: change GSList to GPtrArray in libnm methods 2014-10-28 17:17:17 -04:00
nm-dhcp4-config.c libnm-core, libnm: introspection annotation fixes 2014-10-29 10:45:40 -04:00
nm-dhcp4-config.h libnm: add nm-types.h, to avoid include loops 2014-10-10 13:10:18 -04:00
nm-dhcp6-config.c libnm-core, libnm: introspection annotation fixes 2014-10-29 10:45:40 -04:00
nm-dhcp6-config.h libnm: add nm-types.h, to avoid include loops 2014-10-10 13:10:18 -04:00
nm-ip4-config.c libnm: port to GDBus 2014-09-18 11:51:09 -04:00
nm-ip4-config.h libnm: add nm-types.h, to avoid include loops 2014-10-10 13:10:18 -04:00
nm-ip6-config.c libnm: port to GDBus 2014-09-18 11:51:09 -04:00
nm-ip6-config.h libnm: add nm-types.h, to avoid include loops 2014-10-10 13:10:18 -04:00
nm-manager.c libnm: cancel NMRemoteSettings/NMManager property reload when NM quits 2014-11-06 20:51:58 -06:00
nm-manager.h libnm: add -added and -removed signals for ACs to NMManager 2014-10-19 09:26:49 -04:00
nm-object-cache.c libnm: add libnm/libnm-core (part 1) 2014-08-01 14:34:04 -04:00
nm-object-cache.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-object-private.h libnm: cancel NMRemoteSettings/NMManager property reload when NM quits 2014-11-06 20:51:58 -06:00
nm-object.c libnm: queue added/removed signals and suppress uninitialized notifications 2014-11-06 20:51:58 -06:00
nm-object.h libnm: consolidate NMClientError and NMObjectError 2014-10-22 08:29:10 -04:00
nm-remote-connection-private.h libnm: add libnm/libnm-core (part 1) 2014-08-01 14:34:04 -04:00
nm-remote-connection.c libnm: strip GDBus gunk from GErrors 2014-10-22 08:29:10 -04:00
nm-remote-connection.h libnm: drop unused NMRemoteConnectionError 2014-10-22 08:29:08 -04:00
nm-remote-settings.c libnm: cancel NMRemoteSettings/NMManager property reload when NM quits 2014-11-06 20:51:58 -06:00
nm-remote-settings.h libnm: change GSList to GPtrArray in libnm methods 2014-10-28 17:17:17 -04:00
nm-secret-agent.c all: fix g_dbus_proxy_get_name_owner() leaks 2014-10-23 09:15:58 +02:00
nm-secret-agent.h libnm-core, libnm, settings: move NMSecretAgentError to nm-errors 2014-10-22 08:29:09 -04:00
nm-types.h libnm: add nm-types.h, to avoid include loops 2014-10-10 13:10:18 -04:00
nm-vpn-connection.c libnm: make use of GParamSpecFlags and GParamSpecEnum 2014-10-03 09:36:28 -04:00
nm-vpn-connection.h libnm: add nm-types.h, to avoid include loops 2014-10-10 13:10:18 -04:00
nm-vpn-plugin-old.c libnm-core: add nm-core-types.h, remove cross-includes 2014-10-28 17:17:17 -04:00
nm-vpn-plugin-old.h libnm: merge nm-vpn-plugin-utils into nm-vpn-plugin-old 2014-10-28 14:50:27 -04:00
nm-vpn-plugin-ui-interface.c libnm: merge libnm-vpn into libnm 2014-09-18 11:51:07 -04:00
nm-vpn-plugin-ui-interface.h libnm: merge libnm-vpn into libnm 2014-09-18 11:51:07 -04:00
nm-wimax-nsp.c libnm: change GSList to GPtrArray in libnm methods 2014-10-28 17:17:17 -04:00
nm-wimax-nsp.h libnm: change GSList to GPtrArray in libnm methods 2014-10-28 17:17:17 -04:00