#pragma warning disable CS1591 using System; using System.Collections.Generic; using System.Threading.Tasks; using MediaBrowser.Controller.Entities; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Playlists; namespace MediaBrowser.Controller.Playlists { public interface IPlaylistManager { /// /// Gets the playlist. /// /// The user identifier. /// The playlist identifier. /// Playlist. Playlist GetPlaylist(Guid userId, Guid playlistId); /// /// Gets the playlists. /// /// The user identifier. /// IEnumerable<Playlist>. IEnumerable GetPlaylists(Guid userId); /// /// Toggle OpenAccess policy of the playlist. /// /// The playlist identifier. /// The user identifier. /// Task. Task ToggleOpenAccess(Guid playlistId, Guid userId); /// /// Adds a share to the playlist. /// /// The playlist identifier. /// The user identifier. /// The share. /// Task. Task AddToShares(Guid playlistId, Guid userId, UserPermissions share); /// /// Rremoves a share from the playlist. /// /// The playlist identifier. /// The user identifier. /// The share. /// Task. Task RemoveFromShares(Guid playlistId, Guid userId, UserPermissions share); /// /// Creates the playlist. /// /// The options. /// Task<Playlist>. Task CreatePlaylist(PlaylistCreationRequest options); /// /// Adds to playlist. /// /// The playlist identifier. /// The item ids. /// The user identifier. /// Task. Task AddToPlaylistAsync(Guid playlistId, IReadOnlyCollection itemIds, Guid userId); /// /// Removes from playlist. /// /// The playlist identifier. /// The entry ids. /// Task. Task RemoveFromPlaylistAsync(string playlistId, IEnumerable entryIds); /// /// Gets the playlists folder. /// /// Folder. Folder GetPlaylistsFolder(); /// /// Gets the playlists folder for a user. /// /// The user identifier. /// Folder. Folder GetPlaylistsFolder(Guid userId); /// /// Moves the item. /// /// The playlist identifier. /// The entry identifier. /// The new index. /// Task. Task MoveItemAsync(string playlistId, string entryId, int newIndex); /// /// Removed all playlists of a user. /// If the playlist is shared, ownership is transferred. /// /// The user id. /// Task. Task RemovePlaylistsAsync(Guid userId); /// /// Saves a playlist. /// /// The playlist. void SavePlaylistFile(Playlist item); } }