Always use IDeviceLister to list FS devices
In order to merge all FS implementation into the (lib)vlc one, we first need to reduce the differences between various
The local filesystem implementation delegates listing the devices to an IDeviceLister implementation while the network one handles device listing itself.
If we were to use the network implementation (ie. the libvlc based one) to handle local filesystem, we'd lose our ability to list devices with their removable states.
We still need to allow the application to provide a custom
IDeviceLister, since there's no way for us to do this properly on some platforms (notably Android), and we need to delegate this job to the app itself.
The current plan is to:
- Move network devices listing to an IDeviceLister implementation
schememember function to
IDeviceListerto be able to have different implementations for different FS factories, as opposed to one device lister for all for now.
deviceLister( std::string scheme )or similar to
IMediaLibrary, in order to allow the
IFileSystemFactoryto query a device lister for a specific scheme (which allows us to return our existing local device lister implementation to a libvlccore based
IFileSystemFactoryCbwhich is essentially the same as