using MediaBrowser.Common;
using MediaBrowser.Model.System;
using System;
namespace MediaBrowser.Controller
{
    /// 
    /// Interface IServerApplicationHost
    /// 
    public interface IServerApplicationHost : IApplicationHost
    {
        event EventHandler HasUpdateAvailableChanged;
        
        /// 
        /// Gets the system info.
        /// 
        /// SystemInfo.
        SystemInfo GetSystemInfo();
        /// 
        /// Gets the name of the web application.
        /// 
        /// The name of the web application.
        string WebApplicationName { get; }
        /// 
        /// Gets a value indicating whether [supports automatic run at startup].
        /// 
        /// true if [supports automatic run at startup]; otherwise, false.
        bool SupportsAutoRunAtStartup { get; }
        /// 
        /// Gets the HTTP server port.
        /// 
        /// The HTTP server port.
        int HttpServerPort { get; }
        /// 
        /// Gets a value indicating whether this instance has update available.
        /// 
        /// true if this instance has update available; otherwise, false.
        bool HasUpdateAvailable { get; }
    }
}