using MediaBrowser.Controller.Providers; using System.Collections.Generic; using System.Linq; namespace MediaBrowser.Controller.Entities { /// /// Special class used for User Roots. Children contain actual ones defined for this user /// PLUS the virtual folders from the physical root (added by plug-ins). /// public class UserRootFolder : Folder { /// /// Get the children of this folder from the actual file system /// /// IEnumerable{BaseItem}. protected override IEnumerable GetNonCachedChildren(IDirectoryService directoryService) { return base.GetNonCachedChildren(directoryService).Concat(LibraryManager.RootFolder.VirtualChildren); } public override bool BeforeMetadataRefresh() { var hasChanges = base.BeforeMetadataRefresh(); if (string.Equals("default", Name, System.StringComparison.OrdinalIgnoreCase)) { Name = "Default Media Library"; hasChanges = true; } return hasChanges; } } }