Original goal described here #29 (closed)
Previous merge request !103 (closed)
This should look better (hopefully). Thanks for the reference to gobject-introspection integration example in ModemManager, that helped to sort out things a lot.
There is one issue though, which I need ideas on how to approach. As you see, I've had to create a separate test "test-default-introspection" in .gitlab-ci.yml with introspection enabled and related libraries installed. Why? Because while I've fixed a lot of syntax inconsistencies in this commit (and it allows to build with gobject-introspection and use a lot of functions through it), I didn't fix ALL of them (and there are A LOT of them from GI-scanner point of view). And each of them causes a warning during compilation, which results in compilation failing if "all warnings are treated as errors". So I've made this "test-default-introspection" with --disable-Werror flag. To see the full list of warnings which I've suppressed in this way, you can check the pipeline job output for "test-default-introspection", or for convenience, this file
How I can overcome this issue in other way? On one hand, even changes in this commit allow gobject-introspection to be generally usable and allow a lot of functionality of libqmi to be used through it. While fixing each and every warning looks, em, challenging. On the other hand, it means merging functionality which doesn't work for every possible case / function called via gobject-introspection. Because I've fixed the 'essential' parts, and functions which I needed to be callable thru GI.