using System;
using System.Runtime.InteropServices;
using MediaBrowser.Model.Updates;
namespace MediaBrowser.Model.System
{
///
/// Enum describing the location of the FFmpeg tool.
///
public enum FFmpegLocation
{
/// No path to FFmpeg found.
NotFound,
/// Path supplied via command line using switch --ffmpeg.
SetByArgument,
/// User has supplied path via Transcoding UI page.
Custom,
/// FFmpeg tool found on system $PATH.
System
};
///
/// Class SystemInfo
///
public class SystemInfo : PublicSystemInfo
{
public PackageVersionClass SystemUpdateLevel { get; set; }
///
/// Gets or sets the display name of the operating system.
///
/// The display name of the operating system.
public string OperatingSystemDisplayName { get; set; }
///
/// Get or sets the package name.
///
/// The value of the '-package' command line argument.
public string PackageName { get; set; }
///
/// Gets or sets a value indicating whether this instance has pending restart.
///
/// true if this instance has pending restart; otherwise, false.
public bool HasPendingRestart { get; set; }
public bool IsShuttingDown { get; set; }
///
/// Gets or sets a value indicating whether [supports library monitor].
///
/// true if [supports library monitor]; otherwise, false.
public bool SupportsLibraryMonitor { get; set; }
///
/// Gets or sets the web socket port number.
///
/// The web socket port number.
public int WebSocketPortNumber { get; set; }
///
/// Gets or sets the completed installations.
///
/// The completed installations.
public InstallationInfo[] CompletedInstallations { get; set; }
///
/// Gets or sets a value indicating whether this instance can self restart.
///
/// true if this instance can self restart; otherwise, false.
public bool CanSelfRestart { get; set; }
public bool CanLaunchWebBrowser { get; set; }
///
/// Gets or sets the program data path.
///
/// The program data path.
public string ProgramDataPath { get; set; }
///
/// Gets or sets the web UI resources path.
///
/// The web UI resources path.
public string WebPath { get; set; }
///
/// Gets or sets the items by name path.
///
/// The items by name path.
public string ItemsByNamePath { get; set; }
///
/// Gets or sets the cache path.
///
/// The cache path.
public string CachePath { get; set; }
///
/// Gets or sets the log path.
///
/// The log path.
public string LogPath { get; set; }
///
/// Gets or sets the internal metadata path.
///
/// The internal metadata path.
public string InternalMetadataPath { get; set; }
///
/// Gets or sets the transcoding temporary path.
///
/// The transcoding temporary path.
public string TranscodingTempPath { get; set; }
///
/// Gets or sets the HTTP server port number.
///
/// The HTTP server port number.
public int HttpServerPortNumber { get; set; }
///
/// Gets or sets a value indicating whether [enable HTTPS].
///
/// true if [enable HTTPS]; otherwise, false.
public bool SupportsHttps { get; set; }
///
/// Gets or sets the HTTPS server port number.
///
/// The HTTPS server port number.
public int HttpsPortNumber { get; set; }
///
/// Gets or sets a value indicating whether this instance has update available.
///
/// true if this instance has update available; otherwise, false.
public bool HasUpdateAvailable { get; set; }
public FFmpegLocation EncoderLocation { get; set; }
public Architecture SystemArchitecture { get; set; }
///
/// Initializes a new instance of the class.
///
public SystemInfo()
{
CompletedInstallations = Array.Empty();
}
}
}