This adds support for the Cell Broadcast interface allowing to
receive, list, read and delete Cell Broadcast messages via the
org.freedesktop.ModemManager1.Modem.CellBroadcast and
org.freedesktop.ModemManager1.Cbm interfaces.
Signed-off-by: Guido Günther <agx@sigxcpu.org>
By including `@filename@` in the enums/errors types header template, we
generate files containing the full path to source files, which reflects
the particular filesystem layout used for a given build. As such, this
alters build reproducibility as it causes a (admittedly small) diff
between builds executed in different environments.
Using `@basename@` instead ensures only the file name (without its full
path) is mentioned in the generated files, making the builds
reproducible again.
meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
The template files in the `build-aux` directory used in enums sources
and headers generation use the `{$name}-template.[ch]` pattern.
However, the examples in the official guide[0] and usually GNOME and
Freedesktop packages use the `{$name}.[ch].template` pattern.
Due to this, the name of the template files and build commands have
been changed.
[0] https://developer.gnome.org/gobject/stable/glib-mkenums.html
mm-enums-types.c: In function ‘mm_modem_lock_get_string’:
mm-enums-types.c:165:17: warning: comparison of integer expressions of different signedness: ‘MMModemLock’ {aka ‘enum <anonymous>’} and ‘gint’ {aka ‘const int’} [-Wsign-compare]
165 | if (val == mm_modem_lock_values[i].value)
| ^~
The code to handle the Enums and Flags type information is automatically built
with `glib-mkenums' and the new templates kept under `build-aux'.
Note: We currently skip the type information of `MMModemBand'. GFlagsValue
can hold only 32-bit types, and we're working with a 64-bit flag here.
See: https://bugzilla.gnome.org/show_bug.cgi?id=663054