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);
}
}