[th/libnm-setting-cleanup]
Another small stab at unifying property handling in libnm.
We have property meta data (NMSettInfoProperty
) for how to handle properties. On top of that, we have virtual functions in NMSettingClass
. Also, keyfile has its own vtables.
How a property is handled is spread out to various places. Also, the function pointers in NMSettInfoProperty
have non-obvious interactions. They got called at multiple times, and the caller had to take care about to call the right function. Try to improve that a bit.
Also, save the unnecessary calls for variant_type_for_gtype()
all the time. We can cache the result.