using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Model.Dto; using MediaBrowser.Model.LiveTv; namespace MediaBrowser.Controller.LiveTv; /// /// Service responsible for managing the s. /// public interface ITunerHostManager { /// /// Gets the available s. /// IReadOnlyList TunerHosts { get; } /// /// Gets the s for the available s. /// /// The s. IEnumerable GetTunerHostTypes(); /// /// Saves the tuner host. /// /// Turner host to save. /// Option to specify that data source has changed. /// Tuner host information wrapped in a task. Task SaveTunerHost(TunerHostInfo info, bool dataSourceChanged = true); /// /// Discovers the available tuners. /// /// A value indicating whether to only return new devices. /// The s. IAsyncEnumerable DiscoverTuners(bool newDevicesOnly); /// /// Scans for tuner devices that have changed URLs. /// /// The to use. /// A task that represents the scanning operation. Task ScanForTunerDeviceChanges(CancellationToken cancellationToken); }