using System; using System.IO; using System.Threading; using System.Threading.Tasks; namespace MediaBrowser.Model.IO { public interface IIsoMounter : IDisposable { /// /// Mounts the specified iso path. /// /// The iso path. /// The cancellation token. /// IsoMount. /// isoPath /// Unable to create mount. Task Mount(string isoPath, CancellationToken cancellationToken); /// /// Determines whether this instance can mount the specified path. /// /// The path. /// true if this instance can mount the specified path; otherwise, false. bool CanMount(string path); /// /// Gets a value indicating whether [requires installation]. /// /// true if [requires installation]; otherwise, false. bool RequiresInstallation { get; } /// /// Gets a value indicating whether this instance is installed. /// /// true if this instance is installed; otherwise, false. bool IsInstalled { get; } /// /// Installs this instance. /// /// Task. Task Install(CancellationToken cancellationToken); /// /// Gets the name. /// /// The name. string Name { get; } } }