NetworkManager/shared
Thomas Haller bf593304ef shared: ensure "nm-glib.h" is not used without "nm-macros-internal.h"
Note how "nm-glib.h" uses _nm_printf() macro, which is defined in
"nm-macros-internal.h". There are many ways how to solve that
problem.

For example, we could define certain _nm_*() macros in "nm-glib.h"
itself. However, that is a bit awkward, because optimally "nm-glib.h"
only provides functions that are strictly related to glib compatiblity.
_nm_printf() is used by "nm-glib.h" for its own implementation, it should
not provide (or reimplement) this macro.

We solve this instead by enforcing what NetworkManager already does.
NetworkManager never includes "nm-glib.h" directly, instead
"nm-macros-internal.h" is the only place that includes the glib compat
header. It means, you cannot use "nm-glib.h" without
"nm-macros-internal.h". But that is a reasonable compromise, with
respect to granularity. The granularity at the moment is: if you use
anything from "shared/nm-utils", you almost always need at least
"nm-macros-internal.h" header (and automatically also get "nm-glib.h"
and "gsystem-local-alloc.h"). It's not intended, to use "nm-glib.h"
directly.

This makes "nm-glib.h" an implementation detail of "nm-macros-internal.h"
and it only exists to separate code that is related to glib compatibility to
its own header.
2018-07-09 16:30:12 +02:00
..
c-list Merge commit 'afe2594a7799d3113470c40664c6eda88b83c7e5' as 'shared/c-list' 2018-04-18 15:20:40 +02:00
c-siphash Merge commit '1ea09eb549dbd910ea593e01fb6f746ae20b4beb' as 'shared/c-siphash' 2018-04-18 15:20:01 +02:00
n-acd n-acd: better handle interfaces going temporarily down 2018-05-29 11:18:30 +02:00
nm-utils shared: ensure "nm-glib.h" is not used without "nm-macros-internal.h" 2018-07-09 16:30:12 +02:00
meson.build build/meson: fix meson build for shared files 2018-05-31 15:59:38 +02:00
nm-common-macros.h manager: add connectivity-check-{available,enabled} properties. 2017-08-17 22:31:47 +02:00
nm-dbus-compat.h build: rename directory "include" to "shared" 2015-12-24 11:42:37 +01:00
nm-default.h shared: don't validate type-string in G_VARIANT_TYPE() cast macro in production code 2018-03-12 17:44:35 +01:00
nm-dispatcher-api.h build: cleanup src/Makefile.am 2016-08-11 11:54:18 +02:00
nm-meta-setting.c client: support 6lowpan setting 2018-06-26 16:21:55 +02:00
nm-meta-setting.h client: support 6lowpan setting 2018-06-26 16:21:55 +02:00
nm-test-libnm-utils.h tests: add nmtstc_auto_service_cleanup macro 2018-06-25 12:13:28 +02:00
nm-test-utils-impl.c Increase timeout in test-nm-client to 30s 2018-07-05 16:48:06 +02:00
nm-version-macros.h.in release: bump version to 1.13.0 (development) 2018-06-15 17:16:18 +02:00