using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Entities; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; namespace MediaBrowser.Controller.Providers { /// /// This is just a marker interface /// public interface ILocalImageProvider : IImageProvider { } public interface IImageFileProvider : ILocalImageProvider { List GetImages(IHasImages item); } public class LocalImageInfo { public string Path { get; set; } public ImageType Type { get; set; } } public interface IDynamicImageProvider : ILocalImageProvider { /// /// Gets the images. /// /// The item. /// List{DynamicImageInfo}. List GetImageInfos(IHasImages item); /// /// Gets the image. /// /// The item. /// The information. /// Task{DynamicImageResponse}. Task GetImage(IHasImages item, DynamicImageInfo info); } public class DynamicImageInfo { public string ImageId { get; set; } public ImageType Type { get; set; } } public class DynamicImageResponse { public string Path { get; set; } public Stream Stream { get; set; } public ImageFormat Format { get; set; } } }