using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Entities; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Providers { public interface ILocalMetadataProvider : IMetadataProvider { } public interface ILocalMetadataProvider : IMetadataProvider, ILocalMetadataProvider where TItemType : IHasMetadata { /// /// Gets the metadata. /// /// The information. /// The cancellation token. /// Task{MetadataResult{`0}}. Task> GetMetadata(ItemInfo info, CancellationToken cancellationToken); } public class ItemInfo { public string Path { get; set; } public bool IsInMixedFolder { get; set; } } public class LocalMetadataResult where T : IHasMetadata { public bool HasMetadata { get; set; } public T Item { get; set; } public List Images { get; set; } public List Chapters { get; set; } public List UserDataLIst { get; set; } public LocalMetadataResult() { Images = new List(); Chapters = new List(); UserDataLIst = new List(); } } }