namespace MediaBrowser.Model.Configuration
{
    /// 
    /// Class UserConfiguration
    /// 
    public class UserConfiguration
    {
        /// 
        /// Gets or sets the max parental rating.
        /// 
        /// The max parental rating.
        public int? MaxParentalRating { get; set; }
        /// 
        /// Gets or sets a value indicating whether this instance is administrator.
        /// 
        /// true if this instance is administrator; otherwise, false.
        public bool IsAdministrator { get; set; }
        /// 
        /// Gets or sets the audio language preference.
        /// 
        /// The audio language preference.
        public string AudioLanguagePreference { get; set; }
        /// 
        /// Gets or sets a value indicating whether [play default audio track].
        /// 
        /// true if [play default audio track]; otherwise, false.
        public bool PlayDefaultAudioTrack { get; set; }
        /// 
        /// Gets or sets the subtitle language preference.
        /// 
        /// The subtitle language preference.
        public string SubtitleLanguagePreference { get; set; }
        /// 
        /// Gets or sets a value indicating whether [use forced subtitles only].
        /// 
        /// true if [use forced subtitles only]; otherwise, false.
        public bool UseForcedSubtitlesOnly { get; set; }
        /// 
        /// Gets or sets a value indicating whether this instance is hidden.
        /// 
        /// true if this instance is hidden; otherwise, false.
        public bool IsHidden { get; set; }
        public bool IsDisabled { get; set; }
        public bool DisplayMissingEpisodes { get; set; }
        public bool DisplayUnairedEpisodes { get; set; }
        public bool EnableRemoteControlOfOtherUsers { get; set; }
        public bool EnableLiveTvManagement { get; set; }
        public bool EnableLiveTvAccess { get; set; }
        public bool EnableMediaPlayback { get; set; }
        public bool EnableContentDeletion { get; set; }
        public bool GroupMoviesIntoBoxSets { get; set; }
        public string[] BlockedMediaFolders { get; set; }
        public string[] BlockedChannels { get; set; }
        public string[] ExcludeFoldersFromGrouping { get; set; }
        public UnratedItem[] BlockUnratedItems { get; set; }
        public SubtitlePlaybackMode SubtitleMode { get; set; }
        /// 
        /// Initializes a new instance of the  class.
        /// 
        public UserConfiguration()
        {
            IsAdministrator = true;
            PlayDefaultAudioTrack = true;
            EnableRemoteControlOfOtherUsers = true;
            EnableLiveTvManagement = true;
            EnableMediaPlayback = true;
            EnableLiveTvAccess = true;
            BlockedMediaFolders = new string[] { };
            BlockedChannels = new string[] { };
            BlockUnratedItems = new UnratedItem[] { };
            ExcludeFoldersFromGrouping = new string[] { };
        }
    }
    public enum SubtitlePlaybackMode
    {
        Default = 0,
        Always = 1,
        OnlyForced = 2,
        None = 3
    }
}