NetworkManager/shared/nm-utils
Thomas Haller ccf6bdb0e2 shared: add nm_gobject_notify_together() helper
NM_GOBJECT_PROPERTIES_DEFINE() defines a helper function
_notify() to emit a GObject property changed notification.

Add another helper function to emit multiple notifications
together, and freeze/thaw the notification before.

This is particularly useful, because our D-Bus glue in
"nm-dbus-object.c" hooks into dispatch_properties_changed(),
to emit a combined PropertiesChanged signal for multiple
properties. By carefully freezing/thawing the notifications,
the exported objects can combine changes of multiple properties
in one D-Bus signal.

This helper is here to make that simpler.

Note that the compiler still has no problem to inline _notify()
entirey. So, in a non-debug build, there is little difference in
the generated code. It can even nicely inline calls like

    nm_gobject_notify_together (self, PROP_ADDRESS_DATA,
                                      PROP_ADDRESSES);
2018-08-01 14:26:36 +02:00
..
c-list-util.c shared: implement c_list_sort() as non-recursive merge-sort 2018-01-03 16:41:47 +01:00
c-list-util.h shared: drop duplicate c-list.h header 2018-04-18 15:22:14 +02:00
nm-c-list.h shared: drop duplicate c-list.h header 2018-04-18 15:22:14 +02:00
nm-compat.c shared/compat: minor refactoring of compat code 2017-12-22 15:53:22 +01:00
nm-compat.h shared/compat: add compat for nm_setting_vpn_get_data_keys() and nm_setting_vpn_get_secret_keys() 2017-11-23 14:44:25 +01:00
nm-dedup-multi.c shared/utils/dedup-multi: make nm_dedup_multi_obj_unref() return void 2018-02-08 17:11:46 +01:00
nm-dedup-multi.h all: replace "it's" with "its" where needed 2018-04-18 14:14:07 +02:00
nm-enum-utils.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-enum-utils.h all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-glib.h shared/gsystem-local-alloc: merge "gsystem-local-alloc.h" into "nm-macros-shared.h" 2018-07-18 10:21:27 +02:00
nm-hash-utils.c all: replace systemd's siphash24 with c-siphash 2018-05-31 15:59:38 +02:00
nm-hash-utils.h shared: add nm_hash_val() macro 2018-07-11 16:16:22 +02:00
nm-jansson.h all: require jansson 2.5 2018-01-18 11:45:24 +01:00
nm-macros-internal.h shared: add nm_gobject_notify_together() helper 2018-08-01 14:26:36 +02:00
nm-obj.h all: replace "it's" with "its" where needed 2018-04-18 14:14:07 +02:00
nm-random-utils.c shared/trivial: fix typo on comment 2018-05-24 16:21:28 +02:00
nm-random-utils.h shared: split random and hash utils 2017-10-17 20:02:59 +02:00
nm-shared-utils.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-shared-utils.h shared: add special error codes to NM_UTILS_ERROR 2018-07-24 09:39:09 +02:00
nm-test-utils.h build: do not randomize tests by default 2018-07-24 20:10:45 +02:00
nm-udev-utils.c all: fix -Wcast-function-type warnings 2018-02-08 17:11:46 +01:00
nm-udev-utils.h udev: add and use nm_udev_utils_property_decode() function 2017-03-22 12:41:06 +01:00
nm-vpn-editor-plugin-call.h shared: include "gsystem-local-alloc.h" from "nm-glib.h" 2016-06-16 10:45:54 +02:00
nm-vpn-plugin-macros.h shared: add nm_utils_syslog_coerce_from_nm() util 2016-09-19 15:35:33 +02:00
nm-vpn-plugin-utils.c shared: add "nm-utils/nm-vpn-plugin-utils.h" 2016-06-16 10:45:54 +02:00
nm-vpn-plugin-utils.h shared: add "nm-utils/nm-vpn-plugin-utils.h" 2016-06-16 10:45:54 +02:00
unaligned.h systemd: update code from upstream (2018-06-15) 2018-06-15 15:18:28 +02:00