using System.Collections.Generic; using MediaBrowser.Controller.Entities; using System; using System.IO; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Controller.Providers { public interface IProviderManager : IDisposable { /// /// Downloads the and save image. /// /// The item. /// The source. /// Name of the target. /// The resource pool. /// The cancellation token. /// Task{System.String}. /// item Task DownloadAndSaveImage(BaseItem item, string source, string targetName, SemaphoreSlim resourcePool, CancellationToken cancellationToken); /// /// Saves to library filesystem. /// /// The item. /// The path. /// The data to save. /// The cancellation token. /// Task. /// Task SaveToLibraryFilesystem(BaseItem item, string path, Stream dataToSave, CancellationToken cancellationToken); /// /// Executes the metadata providers. /// /// The item. /// The cancellation token. /// if set to true [force]. /// if set to true [allow slow providers]. /// Task{System.Boolean}. Task ExecuteMetadataProviders(BaseItem item, CancellationToken cancellationToken, bool force = false, bool allowSlowProviders = true); /// /// Adds the metadata providers. /// /// The providers. void AddMetadataProviders(IEnumerable providers); } }