using System;
using System.Runtime.InteropServices;
using MediaBrowser.Model.Updates;
namespace MediaBrowser.Model.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; }
///
/// The product name. This is the AssemblyProduct name.
///
public string ProductName { 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; }
///
/// Gets or sets a value indicating whether this instance can self update.
///
/// true if this instance can self update; otherwise, false.
public bool CanSelfUpdate { 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 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 string EncoderLocationType { get; set; }
public Architecture SystemArchitecture { get; set; }
///
/// Initializes a new instance of the class.
///
public SystemInfo()
{
CompletedInstallations = Array.Empty();
}
}
}