using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Providers;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Subtitles
{
public interface ISubtitleManager
{
///
/// Adds the parts.
///
/// The subtitle providers.
void AddParts(IEnumerable subtitleProviders);
///
/// Searches the subtitles.
///
/// The video.
/// The language.
/// The cancellation token.
/// Task{IEnumerable{RemoteSubtitleInfo}}.
Task> SearchSubtitles(Video video,
string language,
CancellationToken cancellationToken);
///
/// Searches the subtitles.
///
/// The request.
/// The cancellation token.
/// Task{IEnumerable{RemoteSubtitleInfo}}.
Task> SearchSubtitles(SubtitleSearchRequest request,
CancellationToken cancellationToken);
///
/// Downloads the subtitles.
///
/// The video.
/// The subtitle identifier.
/// Name of the provider.
/// The cancellation token.
/// Task.
Task DownloadSubtitles(Video video,
string subtitleId,
string providerName,
CancellationToken cancellationToken);
}
}