using System; using System.Collections.Generic; namespace MediaBrowser.Model.SyncPlay { /// /// Class PlayQueueUpdate. /// public class PlayQueueUpdate { /// /// Initializes a new instance of the class. /// /// The reason for the update. /// The UTC time of the last change to the playing queue. /// The playlist. /// The playing item index in the playlist. /// The start position ticks. /// The shuffle mode. /// The repeat mode. public PlayQueueUpdate(PlayQueueUpdateReason reason, DateTime lastUpdate, IReadOnlyList playlist, int playingItemIndex, long startPositionTicks, GroupShuffleMode shuffleMode, GroupRepeatMode repeatMode) { Reason = reason; LastUpdate = lastUpdate; Playlist = playlist; PlayingItemIndex = playingItemIndex; StartPositionTicks = startPositionTicks; ShuffleMode = shuffleMode; RepeatMode = repeatMode; } /// /// Gets the request type that originated this update. /// /// The reason for the update. public PlayQueueUpdateReason Reason { get; } /// /// Gets the UTC time of the last change to the playing queue. /// /// The UTC time of the last change to the playing queue. public DateTime LastUpdate { get; } /// /// Gets the playlist. /// /// The playlist. public IReadOnlyList Playlist { get; } /// /// Gets the playing item index in the playlist. /// /// The playing item index in the playlist. public int PlayingItemIndex { get; } /// /// Gets the start position ticks. /// /// The start position ticks. public long StartPositionTicks { get; } /// /// Gets the shuffle mode. /// /// The shuffle mode. public GroupShuffleMode ShuffleMode { get; } /// /// Gets the repeat mode. /// /// The repeat mode. public GroupRepeatMode RepeatMode { get; } } }