using MediaBrowser.Model.Updates;
using ProtoBuf;
namespace MediaBrowser.Model.System
{
    /// 
    /// Class SystemInfo
    /// 
    [ProtoContract]
    public class SystemInfo
    {
        /// 
        /// Gets or sets the version.
        /// 
        /// The version.
        [ProtoMember(1)]
        public string Version { get; set; }
        /// 
        /// Gets or sets a value indicating whether this instance has pending restart.
        /// 
        /// true if this instance has pending restart; otherwise, false.
        [ProtoMember(2)]
        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.
        [ProtoMember(3)]
        public bool IsNetworkDeployed { get; set; }
        /// 
        /// Gets or sets the in progress installations.
        /// 
        /// The in progress installations.
        [ProtoMember(4)]
        public InstallationInfo[] InProgressInstallations { get; set; }
        /// 
        /// Gets or sets the web socket port number.
        /// 
        /// The web socket port number.
        [ProtoMember(5)]
        public int WebSocketPortNumber { get; set; }
        /// 
        /// Gets or sets the completed installations.
        /// 
        /// The completed installations.
        [ProtoMember(6)]
        public InstallationInfo[] CompletedInstallations { get; set; }
        /// 
        /// Gets or sets a value indicating whether [supports native web socket].
        /// 
        /// true if [supports native web socket]; otherwise, false.
        [ProtoMember(7)]
        public bool SupportsNativeWebSocket { get; set; }
        /// 
        /// Gets or sets plugin assemblies that failed to load.
        /// 
        /// The failed assembly loads.
        public string[] FailedPluginAssemblies { get; set; }
    }
}