Components can implement XUnloadingPreference in order to indicate
how they should be treated when their hosting library is to be unloaded.
When someone calls rtl_unloadUnusedModules then the unloading
listeners are notified by calling previously registered callback
functions. A listener is an entity that employs, registers, and
unregisters the callback functions on its behalf. Upon notification
(the callback function is being called)
a listener may release references to UNO components. Thus, the
loaded libraries can be unloaded, if no one else keeps any
objects from the library alive.
Before a listener releases references, it should ask for this interface.
If the interface is not implemented, then the listener may release the
object; otherwise, it calls releaseOnNotification. If the function
returns false then the listener should keep the reference, otherwise
it may release it.