using System.Diagnostics; using MediaBrowser.Model.Entities; using System; using System.Collections.Generic; using System.ComponentModel; namespace MediaBrowser.Model.Session { [DebuggerDisplay("Client = {Client}, Username = {UserName}")] public class SessionInfoDto : INotifyPropertyChanged { /// /// Gets or sets a value indicating whether this instance can seek. /// /// true if this instance can seek; otherwise, false. public bool CanSeek { get; set; } /// /// Gets or sets the remote end point. /// /// The remote end point. public string RemoteEndPoint { get; set; } /// /// Gets or sets the queueable media types. /// /// The queueable media types. public List QueueableMediaTypes { get; set; } /// /// Gets or sets the playable media types. /// /// The playable media types. public List PlayableMediaTypes { get; set; } /// /// Gets or sets the id. /// /// The id. public string Id { get; set; } /// /// Gets or sets the user id. /// /// The user id. public string UserId { get; set; } /// /// Gets or sets the name of the user. /// /// The name of the user. public string UserName { get; set; } /// /// Gets or sets the additional users present. /// /// The additional users present. public List AdditionalUsers { get; set; } /// /// Gets or sets the application version. /// /// The application version. public string ApplicationVersion { get; set; } /// /// Gets or sets the type of the client. /// /// The type of the client. public string Client { get; set; } /// /// Gets or sets the last activity date. /// /// The last activity date. public DateTime LastActivityDate { get; set; } /// /// Gets or sets the now viewing context. /// /// The now viewing context. public string NowViewingContext { get; set; } /// /// Gets or sets the type of the now viewing item. /// /// The type of the now viewing item. public string NowViewingItemType { get; set; } /// /// Gets or sets the now viewing item identifier. /// /// The now viewing item identifier. public string NowViewingItemId { get; set; } /// /// Gets or sets the name of the now viewing item. /// /// The name of the now viewing item. public string NowViewingItemName { get; set; } /// /// Gets or sets the name of the device. /// /// The name of the device. public string DeviceName { get; set; } /// /// Gets or sets a value indicating whether this instance is paused. /// /// true if this instance is paused; otherwise, false. public bool IsPaused { get; set; } /// /// Gets or sets a value indicating whether this instance is muted. /// /// true if this instance is muted; otherwise, false. public bool IsMuted { get; set; } /// /// Gets or sets the now playing item. /// /// The now playing item. public BaseItemInfo NowPlayingItem { get; set; } /// /// Gets or sets the now playing position ticks. /// /// The now playing position ticks. public long? NowPlayingPositionTicks { get; set; } /// /// Gets or sets the device id. /// /// The device id. public string DeviceId { get; set; } /// /// Gets or sets a value indicating whether [supports remote control]. /// /// true if [supports remote control]; otherwise, false. public bool SupportsRemoteControl { get; set; } public event PropertyChangedEventHandler PropertyChanged; public SessionInfoDto() { AdditionalUsers = new List(); PlayableMediaTypes = new List(); QueueableMediaTypes = new List(); } } /// /// Class SessionUserInfo. /// public class SessionUserInfo { /// /// Gets or sets the user identifier. /// /// The user identifier. public string UserId { get; set; } /// /// Gets or sets the name of the user. /// /// The name of the user. public string UserName { get; set; } } public class ClientCapabilities { public List PlayableMediaTypes { get; set; } public ClientCapabilities() { PlayableMediaTypes = new List(); } } }