using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Providers; namespace MediaBrowser.Controller.Providers { /// /// Interface IRemoteMetadataProvider. /// public interface IRemoteMetadataProvider : IMetadataProvider { } /// /// Interface IRemoteMetadataProvider. /// public interface IRemoteMetadataProvider : IMetadataProvider, IRemoteMetadataProvider, IRemoteSearchProvider where TItemType : BaseItem, IHasLookupInfo where TLookupInfoType : ItemLookupInfo, new() { /// /// Gets the metadata for a specific LookupInfoType. /// /// The LookupInfoType to get metadata for. /// The . /// Task{MetadataResult{TItemType}}. Task> GetMetadata(TLookupInfoType info, CancellationToken cancellationToken); } /// /// Interface IRemoteMetadataProvider. /// public interface IRemoteSearchProvider : IRemoteSearchProvider where TLookupInfoType : ItemLookupInfo { /// /// Gets the list of for a specific LookupInfoType. /// /// The LookupInfoType to search for. /// The . /// Task{IEnumerable{RemoteSearchResult}}. Task> GetSearchResults(TLookupInfoType searchInfo, CancellationToken cancellationToken); } }