using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Providers;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Providers
{
///
/// Interface IImageProvider
///
public interface IImageProvider
{
///
/// Gets the name.
///
/// The name.
string Name { get; }
///
/// Supportses the specified item.
///
/// The item.
/// true if XXXX, false otherwise
bool Supports(IHasImages item);
///
/// Gets the images.
///
/// The item.
/// Type of the image.
/// The cancellation token.
/// Task{IEnumerable{RemoteImageInfo}}.
Task> GetImages(IHasImages item, ImageType imageType, CancellationToken cancellationToken);
///
/// Gets the images.
///
/// The item.
/// The cancellation token.
/// Task{IEnumerable{RemoteImageInfo}}.
Task> GetAllImages(IHasImages item, CancellationToken cancellationToken);
///
/// Gets the priority.
///
/// The priority.
int Priority { get; }
}
}