using System;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Common.IO
{
    public interface IIsoManager : IDisposable
    {
        /// 
        /// Mounts the specified iso path.
        /// 
        /// The iso path.
        /// The cancellation token.
        /// if set to true [visible to all processes].
        /// IsoMount.
        /// isoPath
        /// Unable to create mount.
        Task Mount(string isoPath, CancellationToken cancellationToken, bool visibleToAllProcesses = true);
        /// 
        /// 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);
    }
}