[th/libnm-retire-wimax] libnm: retire deprecated WiMAX NMObject types

Closed Thomas Haller requested to merge th/libnm-retire-wimax into master

WiMAX is deprecated since NetworkManager 1.2.0. Note that also NetworkManager on server side no longer supports this type, hence the D-Bus API will never expose devices of this type.

Note that NMDeviceWimax and NMWimaxNsp are NMObject types. That means, they are instantiated by NMClient to represent information on the D-Bus interfaces. As NetworkManager no longer exposes WiMAX devices, such devices are never created. Note that it makes no sense that a user would directly instantiate NMObject types, because they only work together with NMClient.

Don't drop the related symbols and definitions from libnm, so that there is no API/ABI change (as far as building and linking is concerned). But make the types defunctional (which of course is a behavioral API change). Calling the API now triggers a g_return_*() warning.

Also belatedly mark the WimaxNsp API as deprecated. It should have been done in 1.2. Note that here we deprecate the API and retire it at the same time. Optimally, we would have deprecated it a few releases ago, before retiring it. However, marking something for deprecation is anyway no excuse for anything. I mean, removing or retiring API is usually painful, regardless whether it was marked for deprecation or not. In this case, there is no possibility that a libnm user gets hold on a NMDeviceWimax or NMWimaxNsp instance, because NMClient simply no longer instantiates them. Hence, this change should not affect any user in practice.

Merge request reports