public void UpdateResourceProvidersList() { _allBaseResourceProvidersList.Clear(); bool selected = false; List <ResourceProviderMetadata> resourceProviderMDs = new List <ResourceProviderMetadata>( GetAvailableBaseResourceProviders().Where(metadata => !metadata.TransientMedia && (metadata.ProviderSystemAffinity & SystemAffinity) != ResourceProviderMetadata.SystemAffinity.Undefined)); resourceProviderMDs.Sort((a, b) => a.Name.CompareTo(b.Name)); ResourceProviderMetadata choosenBaseResourceProvider = BaseResourceProvider; foreach (ResourceProviderMetadata metadata in resourceProviderMDs) { ListItem resourceProviderItem = new ListItem(Consts.KEY_NAME, metadata.Name); resourceProviderItem.AdditionalProperties[Consts.KEY_RESOURCE_PROVIDER_METADATA] = metadata; if ((choosenBaseResourceProvider != null && choosenBaseResourceProvider.ResourceProviderId == metadata.ResourceProviderId) || resourceProviderMDs.Count == 1 && !MultipleSources) /* pre-select single option only, if there are not multiple share proxies used */ { resourceProviderItem.Selected = true; selected = true; } resourceProviderItem.SelectedProperty.Attach(OnResourceProviderItemSelectionChanged); _allBaseResourceProvidersList.Add(resourceProviderItem); } IsResourceProviderSelected = selected; }
protected override ResourcePath ExpandResourcePathFromString(string pathStr) { ResourceProviderMetadata rpm = BaseResourceProvider; IBaseResourceProvider rp = GetResourceProvider(rpm.ResourceProviderId); return(rp.ExpandResourcePathFromString(pathStr)); }
public void UpdateResourceProvidersList() { _allBaseResourceProvidersList.Clear(); bool selected = false; List <ResourceProviderMetadata> resourceProviderMDs = new List <ResourceProviderMetadata>( GetAvailableBaseResourceProviders().Where(metadata => !metadata.TransientMedia)); resourceProviderMDs.Sort((a, b) => a.Name.CompareTo(b.Name)); ResourceProviderMetadata choosenBaseResourceProvider = BaseResourceProvider; foreach (ResourceProviderMetadata metadata in resourceProviderMDs) { ListItem resourceProviderItem = new ListItem(Consts.KEY_NAME, metadata.Name); resourceProviderItem.AdditionalProperties[Consts.KEY_RESOURCE_PROVIDER_METADATA] = metadata; if ((choosenBaseResourceProvider != null && choosenBaseResourceProvider.ResourceProviderId == metadata.ResourceProviderId) || resourceProviderMDs.Count == 1) { resourceProviderItem.Selected = true; selected = true; } resourceProviderItem.SelectedProperty.Attach(OnResourceProviderItemSelectionChanged); _allBaseResourceProvidersList.Add(resourceProviderItem); } IsResourceProviderSelected = selected; }
protected override object DoDeserializeValue(XmlReader reader, bool isSimpleValue) { reader.ReadStartElement(); // Read start of enclosing element ResourceProviderMetadata result = ResourceProviderMetadata.Deserialize(reader); reader.ReadEndElement(); // End of enclosing element return(result); }
protected void UpdateSharesList_NoLock(ItemsList list, List <Share> shareDescriptors, ShareOrigin origin, bool selectFirstItem) { list.Clear(); bool selectShare = selectFirstItem; shareDescriptors.Sort((a, b) => a.Name.CompareTo(b.Name)); foreach (Share share in shareDescriptors) { ListItem shareItem = new ListItem(Consts.KEY_NAME, share.Name); shareItem.AdditionalProperties[Consts.KEY_SHARE] = share; try { string path = origin == ShareOrigin.Local ? LocalShares.GetLocalResourcePathDisplayName(share.BaseResourcePath) : ServerShares.GetServerResourcePathDisplayName(share.BaseResourcePath); if (string.IsNullOrEmpty(path)) { // Error case: The path is invalid path = LocalizationHelper.Translate(Consts.RES_INVALID_PATH, share.BaseResourcePath); } shareItem.SetLabel(Consts.KEY_PATH, path); Guid?firstResourceProviderId = SharesProxy.GetBaseResourceProviderId(share.BaseResourcePath); if (firstResourceProviderId.HasValue) { ResourceProviderMetadata firstResourceProviderMetadata = origin == ShareOrigin.Local ? LocalShares.GetLocalResourceProviderMetadata(firstResourceProviderId.Value) : ServerShares.GetServerResourceProviderMetadata(firstResourceProviderId.Value); shareItem.AdditionalProperties[Consts.KEY_RESOURCE_PROVIDER_METADATA] = firstResourceProviderMetadata; } string categories = StringUtils.Join(", ", share.MediaCategories); shareItem.SetLabel(Consts.KEY_MEDIA_CATEGORIES, categories); Share shareCopy = share; shareItem.Command = new MethodDelegateCommand(() => ShowShareInfo(shareCopy, origin)); } catch (NotConnectedException) { throw; } catch (Exception e) { ServiceRegistration.Get <ILogger>().Warn("Problems building share item '{0}' (path '{1}')", e, share.Name, share.BaseResourcePath); } if (selectShare) { selectShare = false; shareItem.Selected = true; } shareItem.SelectedProperty.Attach(OnShareItemSelectionChanged); lock (_syncObj) list.Add(shareItem); } list.FireChange(); }
/// <summary> /// Updates the data for the resource provider path tree. /// </summary> public void UpdateResourceProviderPathTree() { ResourceProviderMetadata rpm = BaseResourceProvider; if (rpm == null) { // This happens when the WF-Manager navigates back to the overview screen - all properties have been cleared before _resourceProviderPathsTree.Clear(); _resourceProviderPathsTree.FireChange(); return; } RefreshResourceProviderPathList(_resourceProviderPathsTree, ResourcePath.BuildBaseProviderPath(rpm.ResourceProviderId, "/")); UpdateIsChoosenPathValid(); }
public NetworkNeighborhoodResourceProvider() { _metadata = new ResourceProviderMetadata(NETWORK_NEIGHBORHOOD_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, false, true, DEFAULT_SYSTEM_AFFINITY); _browserService = new NeighborhoodBrowserService(); _settings = new SettingsChangeWatcher <NetworkNeighborhoodResourceProviderSettings>(); _registeredPaths = new ConcurrentBag <ResourcePath>(); RegisterCredentials(); _settings.SettingsChanged += (sender, args) => { UnregisterCredentials(); RegisterCredentials(); }; }
protected override object DoDeserializeValue(XmlReader reader, bool isSimpleValue) { ICollection <ResourceProviderMetadata> result = new List <ResourceProviderMetadata>(); if (SoapHelper.ReadEmptyStartElement(reader)) // Read start of enclosing element { return(result); } while (reader.NodeType != XmlNodeType.EndElement) { result.Add(ResourceProviderMetadata.Deserialize(reader)); } reader.ReadEndElement(); // End of enclosing element return(result); }
public void SelectResourceProviderAndContinue() { try { ResourceProviderMetadata rpm = _shareProxy.GetSelectedBaseResourceProvider(); if (rpm == null) { // Error case: Should not happen return; } ResourceProviderMetadata oldResourceProvider = _shareProxy.BaseResourceProvider; if (oldResourceProvider == null || oldResourceProvider.ResourceProviderId != rpm.ResourceProviderId) { _shareProxy.ClearAllConfiguredProperties(); } _shareProxy.BaseResourceProvider = rpm; // Check if the choosen MP implements a known path navigation interface and go to that screen, // if supported IWorkflowManager workflowManager = ServiceRegistration.Get <IWorkflowManager>(); if (_shareProxy.ResourceProviderSupportsResourceTreeNavigation) { workflowManager.NavigatePush(Consts.WF_STATE_ID_SHARE_EDIT_CHOOSE_PATH); } else // If needed, add other path navigation screens here // Fallback: Simple TextBox path editor screen { workflowManager.NavigatePush(Consts.WF_STATE_ID_SHARE_EDIT_EDIT_PATH); } } catch (NotConnectedException) { DisconnectedError(); } catch (Exception e) { ErrorEditShare(e); } }
internal IDictionary <string, ZipResourceProxy> _zipUsages = new Dictionary <string, ZipResourceProxy>(); // Keys to proxy objects #endregion #region Ctor public ZipResourceProvider() { _metadata = new ResourceProviderMetadata(ZIP_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, false, false); }
public RawUrlResourceProvider() { _metadata = new ResourceProviderMetadata(RAW_URL_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, true, true); }
public RemoteResourceProvider() { _metadata = new ResourceProviderMetadata(REMOTE_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, true); }
public LocalFsResourceProvider() { _metadata = new ResourceProviderMetadata(LOCAL_FS_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, false); _instance = this; }
public AudioCDResourceProvider() { _metadata = new ResourceProviderMetadata(AUDIO_CD_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, true, false); }
protected override void DoSerializeValue(object value, bool forceSimpleValue, XmlWriter writer) { ResourceProviderMetadata rpm = (ResourceProviderMetadata)value; rpm.Serialize(writer); }
public SlimTvResourceProvider() { _metadata = new ResourceProviderMetadata(SLIMTV_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, true, true); }
public NetworkNeighborhoodResourceProvider() { _metadata = new ResourceProviderMetadata(NETWORK_NEIGHBORHOOD_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, false, true, DEFAULT_SYSTEM_AFFINITY); _browserService = new NeighborhoodBrowserService(); }
public NetworkNeighborhoodResourceProvider() { _metadata = new ResourceProviderMetadata(NETWORK_NEIGHBORHOOD_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, false); }
public VirtualResourceProvider() { _metadata = new ResourceProviderMetadata(VIRTUAL_RESOURCE_PROVIDER_ID, RES_RESOURCE_PROVIDER_NAME, RES_RESOURCE_PROVIDER_DESCRIPTION, true, false); }