With the introduction of the device descriptors, the new dc_device_open() convenience function can take care of the mapping from a particular model to the corresponding backend internally, without needing any device specific knowledge in the application. An application can simply query the list of supported devices, and the library will automatically do the right thing.