Details
Description
Currently QtIvis QIviServiceManager is using the QPluginLoader class to load it's plugins. To know whicht plugins are available it iterates over QCoreApplication::libraryPaths() and searches for plugins in the qtivi folder. This is done when the QIviServiceManager is instantiated for the first time.
If the libraryPath is changed afterwards, those plugins are not found by the QIviServiceManager, which is a problem when QtIvi is used inside 3rdParty application which runs in a single-process system-ui.
Qt's internal plugins don't have this problem as they are loaded by the QFactoryLoader (private) which is updated automatically whenever the libraryPath changed.
To support this also in QtIvi, it should be considered to switch the implementation of QIviServiceManager to also use the QFactoryLoader to discover its plugins.
In case a plugin path gets removed from the list, it needs to be decidec (config option ?) what's supposed to be happen (unload already loaded plugins, just remove them from the available list...)