using MediaBrowser.Model.Updates;
using System.Collections.Generic;
namespace MediaBrowser.Model.System
{
    /// 
    /// Class SystemInfo
    /// 
    public class SystemInfo
    {
        /// 
        /// Gets or sets the version.
        /// 
        /// The version.
        public string Version { get; set; }
        /// 
        /// Gets or sets the operating sytem.
        /// 
        /// The operating sytem.
        public string OperatingSystem { get; set; }
        
        /// 
        /// Gets or sets the mac address.
        /// 
        /// The mac address.
        public string MacAddress { 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; }
        /// 
        /// Gets or sets a value indicating whether this instance is network deployed.
        /// 
        /// true if this instance is network deployed; otherwise, false.
        public bool IsNetworkDeployed { get; set; }
        /// 
        /// Gets or sets the in progress installations.
        /// 
        /// The in progress installations.
        public List InProgressInstallations { 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 List CompletedInstallations { get; set; }
        /// 
        /// Gets or sets a value indicating whether [supports native web socket].
        /// 
        /// true if [supports native web socket]; otherwise, false.
        public bool SupportsNativeWebSocket { 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; }
        /// 
        /// Gets or sets plugin assemblies that failed to load.
        /// 
        /// The failed assembly loads.
        public List FailedPluginAssemblies { get; set; }
        /// 
        /// Gets or sets the id.
        /// 
        /// The id.
        public string Id { get; set; }
        /// 
        /// Gets or sets the program data path.
        /// 
        /// The program data path.
        public string ProgramDataPath { get; set; }
        /// 
        /// Gets or sets the HTTP server port number.
        /// 
        /// The HTTP server port number.
        public int HttpServerPortNumber { get; set; }
        /// 
        /// Initializes a new instance of the  class.
        /// 
        public SystemInfo()
        {
            InProgressInstallations = new List();
            CompletedInstallations = new List();
            FailedPluginAssemblies = new List();
        }
    }
}