#nullable disable #pragma warning disable CS1591 using System; using System.Collections.Generic; using System.Runtime.InteropServices; using MediaBrowser.Model.Updates; namespace MediaBrowser.Model.System { /// <summary> /// Enum describing the location of the FFmpeg tool. /// </summary> public enum FFmpegLocation { /// <summary>No path to FFmpeg found.</summary> NotFound, /// <summary>Path supplied via command line using switch --ffmpeg.</summary> SetByArgument, /// <summary>User has supplied path via Transcoding UI page.</summary> Custom, /// <summary>FFmpeg tool found on system $PATH.</summary> System } /// <summary> /// Class SystemInfo. /// </summary> public class SystemInfo : PublicSystemInfo { /// <summary> /// Initializes a new instance of the <see cref="SystemInfo" /> class. /// </summary> public SystemInfo() { CompletedInstallations = Array.Empty<InstallationInfo>(); } /// <summary> /// Gets or sets the display name of the operating system. /// </summary> /// <value>The display name of the operating system.</value> [Obsolete("This is no longer set")] public string OperatingSystemDisplayName { get; set; } = string.Empty; /// <summary> /// Gets or sets the package name. /// </summary> /// <value>The value of the '-package' command line argument.</value> public string PackageName { get; set; } /// <summary> /// Gets or sets a value indicating whether this instance has pending restart. /// </summary> /// <value><c>true</c> if this instance has pending restart; otherwise, <c>false</c>.</value> public bool HasPendingRestart { get; set; } public bool IsShuttingDown { get; set; } /// <summary> /// Gets or sets a value indicating whether [supports library monitor]. /// </summary> /// <value><c>true</c> if [supports library monitor]; otherwise, <c>false</c>.</value> public bool SupportsLibraryMonitor { get; set; } /// <summary> /// Gets or sets the web socket port number. /// </summary> /// <value>The web socket port number.</value> public int WebSocketPortNumber { get; set; } /// <summary> /// Gets or sets the completed installations. /// </summary> /// <value>The completed installations.</value> public InstallationInfo[] CompletedInstallations { get; set; } /// <summary> /// Gets or sets a value indicating whether this instance can self restart. /// </summary> /// <value><c>true</c>.</value> [Obsolete("This is always true")] public bool CanSelfRestart { get; set; } = true; [Obsolete("This is always false")] public bool CanLaunchWebBrowser { get; set; } = false; /// <summary> /// Gets or sets the program data path. /// </summary> /// <value>The program data path.</value> public string ProgramDataPath { get; set; } /// <summary> /// Gets or sets the web UI resources path. /// </summary> /// <value>The web UI resources path.</value> public string WebPath { get; set; } /// <summary> /// Gets or sets the items by name path. /// </summary> /// <value>The items by name path.</value> public string ItemsByNamePath { get; set; } /// <summary> /// Gets or sets the cache path. /// </summary> /// <value>The cache path.</value> public string CachePath { get; set; } /// <summary> /// Gets or sets the log path. /// </summary> /// <value>The log path.</value> public string LogPath { get; set; } /// <summary> /// Gets or sets the internal metadata path. /// </summary> /// <value>The internal metadata path.</value> public string InternalMetadataPath { get; set; } /// <summary> /// Gets or sets the transcode path. /// </summary> /// <value>The transcode path.</value> public string TranscodingTempPath { get; set; } /// <summary> /// Gets or sets the list of cast receiver applications. /// </summary> public IReadOnlyList<CastReceiverApplication> CastReceiverApplications { get; set; } /// <summary> /// Gets or sets a value indicating whether this instance has update available. /// </summary> /// <value><c>true</c> if this instance has update available; otherwise, <c>false</c>.</value> [Obsolete("This should be handled by the package manager")] public bool HasUpdateAvailable { get; set; } [Obsolete("This isn't set correctly anymore")] public FFmpegLocation EncoderLocation { get; set; } [Obsolete("This is no longer set")] public Architecture SystemArchitecture { get; set; } = Architecture.X64; } }