mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-17 19:18:07 +02:00
Our cast macros (like NM_AUTH_SUBJECT()) are plain C pointer casts, unless when building with more asserts enabled. Still, they are unnecessary and even their ability to check the type (with more asserts) is not needed, because we must trust glib's g_object_new() to return reasonable objects. That is a basic requirement, that we don't need to assert against. Also, in the majority of cases we don't do this either. |
||
|---|---|---|
| .. | ||
| nm-auth-subject.c | ||
| nm-auth-subject.h | ||
| nm-common-macros.h | ||
| nm-libnm-core-utils.c | ||
| nm-libnm-core-utils.h | ||
| README.md | ||
nm-libnm-core-intern is a static library that:
- uses parts of "libnm-core", that are public API of "libnm"
- that is statically linked into libnm-core (and thus libnm and NetworkManager).
- that can also be statically linked into other users of libnm.
Basically, it is a static library with utility functions that extends libnm-core (the part that is public API of libnm), but it is used by libnm-core.
That means:
- you can use it everywhere where you either statically link with libnm-core, or dynamically link with libnm.
- you can even use it inside of libnm-core itself. This is the difference between nm-libnm-core-intern and nm-libnm-core-aux.
Also, since nm-libnm-core-intern itself only uses public (stable) API of libnm, you theoretically can copy the sources into your own source tree.