The registry owns one backend per enabled provider and hands out a single
composite backend for the NAP dm service. Preferences restored at
construction are applied lazily: a provider that appears in the saved
enabled list is enabled the moment it is registered, if it is available;
an unavailable one stays disabled and reports why through list().
close() closes every backend without touching the preferences, so a
shutdown never erases what the user chose. A closed registry is not reused.
Create the shell's provider registry.
The registry owns one backend per enabled provider and hands out a single composite backend for the NAP
dmservice. Preferences restored at construction are applied lazily: a provider that appears in the savedenabledlist is enabled the moment it is registered, if it is available; an unavailable one stays disabled and reports why throughlist().close()closes every backend without touching the preferences, so a shutdown never erases what the user chose. A closed registry is not reused.