/// <summary> /// Reads the <see cref="DefaultCapability"/>s from <see cref="Store.Model.Feed.CapabilityLists"/> and creates a coressponding model for turning <see cref="AccessPoints.DefaultAccessPoint"/> on and off. /// </summary> private void LoadDefaultAccessPoints() { var dispatcher = new PerTypeDispatcher <Capability>(ignoreMissing: true) { (FileType fileType) => { var model = new FileTypeModel(fileType, IsCapabillityUsed <AccessPoints.FileType>(fileType)); FileTypes.Add(model); _capabilityModels.Add(model); }, (UrlProtocol urlProtocol) => { var model = new UrlProtocolModel(urlProtocol, IsCapabillityUsed <AccessPoints.UrlProtocol>(urlProtocol)); UrlProtocols.Add(model); _capabilityModels.Add(model); }, (AutoPlay autoPlay) => { var model = new AutoPlayModel(autoPlay, IsCapabillityUsed <AccessPoints.AutoPlay>(autoPlay)); AutoPlay.Add(model); _capabilityModels.Add(model); }, (ContextMenu contextMenu) => { var model = new ContextMenuModel(contextMenu, IsCapabillityUsed <AccessPoints.ContextMenu>(contextMenu)); ContextMenu.Add(model); _capabilityModels.Add(model); } }; if (_integrationManager.MachineWide) { dispatcher.Add((DefaultProgram defaultProgram) => { var model = new DefaultProgramModel(defaultProgram, IsCapabillityUsed <AccessPoints.DefaultProgram>(defaultProgram)); DefaultProgram.Add(model); _capabilityModels.Add(model); }); } dispatcher.Dispatch(AppEntry.CapabilityLists.CompatibleCapabilities()); }