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. /// /// The type of . /// The type of . 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 . /// A task returning a MetadataResult for the specific LookupInfoType. Task> GetMetadata(TLookupInfoType info, CancellationToken cancellationToken); } /// /// Interface IRemoteMetadataProvider. /// /// The type of . public interface IRemoteSearchProvider : IRemoteSearchProvider where TLookupInfoType : ItemLookupInfo { /// /// Gets the list of for a specific LookupInfoType. /// /// The LookupInfoType to search for. /// The . /// A task returning RemoteSearchResults for the searchInfo. Task> GetSearchResults(TLookupInfoType searchInfo, CancellationToken cancellationToken); } }