NetworkManager/src/libnm-core-intern
Thomas Haller d8e51faee7
libnm: add direct_string_allow_empty meta data for NMSetting property
Most string properties should not accept empty strings. Add a generic
way to reject them during verify.

Add a new flag NMSettInfoProperty.direct_string_allow_empty.

Note that properties must opt-in to allow empty values. Since all
existing properties didn't have this check (but hopefully re-implemented
it in verify()), all existing properties get this flag set to TRUE.

The main point here it that new properties get the strict check by
default.

We should also review existing uses of direct_string_allow_empty,
whether the flag can be cleared. This can be done if verify() already
enforces a non-empty string, or if we accept to break behavior by
tightening up the check.
2024-01-23 09:43:26 +01:00
..
meson.build build/meson: remove unnecessary libnm_core_intern_dep 2021-02-28 10:42:05 +01:00
nm-core-internal.h libnm: add direct_string_allow_empty meta data for NMSetting property 2024-01-23 09:43:26 +01:00
nm-keyfile-internal.h all: reformat code to clang shipped with Fedora 39 2023-12-06 10:37:24 +01:00
nm-keyfile-utils.h all: reformat code to clang shipped with Fedora 39 2023-12-06 10:37:24 +01:00
nm-meta-setting-base-impl.h HSR: add support to HSR/PRP interface 2023-12-05 08:05:56 +01:00
nm-meta-setting-base.h build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
README.md build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00

libnm-core-intern

This contains header files only, which are also part of the internal API of libnm-core-impl.

libnm-core-impl is a static library that (among others) implements libnm-core-public (which is a part of the public API of libnm). This library gets statically linked into libnm and NetworkManager. Hence, those components can also access internal (but not private) API of libnm-core-impl, and this API is in libnm-core-intern.

These headers can thus be included by anybody who statically links with libnm-core-impl (including libnm-core-impl itself).

The directory should not be added to the include search path, instead users should explicitly #include "libnm-core-intern/nm-core-internal.h")

There is no source code here and no static library to link against.