using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; namespace MediaBrowser.Controller.Chapters; /// /// Interface IChapterManager. /// public interface IChapterManager { /// /// Saves the chapters. /// /// The video. /// The set of chapters. void SaveChapters(Video video, IReadOnlyList chapters); /// /// Gets a single chapter of a BaseItem on a specific index. /// /// The BaseItems id. /// The index of that chapter. /// A chapter instance. ChapterInfo? GetChapter(Guid baseItemId, int index); /// /// Gets all chapters associated with the baseItem. /// /// The BaseItems id. /// A readonly list of chapter instances. IReadOnlyList GetChapters(Guid baseItemId); /// /// Refreshes the chapter images. /// /// Video to use. /// Directory service to use. /// Set of chapters to refresh. /// Option to extract images. /// Option to save chapters. /// CancellationToken to use for operation. /// true if successful, false if not. Task RefreshChapterImages(Video video, IDirectoryService directoryService, IReadOnlyList chapters, bool extractImages, bool saveChapters, CancellationToken cancellationToken); /// /// Deletes the chapter images. /// /// Video to use. void DeleteChapterImages(Video video); }