using System; using Emby.Server.Implementations.Browser; using MediaBrowser.Controller; using MediaBrowser.Controller.Plugins; using MediaBrowser.Model.Logging; using MediaBrowser.Controller.Configuration; namespace Emby.Server.Implementations.EntryPoints { /// /// Class StartupWizard /// public class StartupWizard : IServerEntryPoint { /// /// The _app host /// private readonly IServerApplicationHost _appHost; /// /// The _user manager /// private readonly ILogger _logger; private IServerConfigurationManager _config; public StartupWizard(IServerApplicationHost appHost, ILogger logger, IServerConfigurationManager config) { _appHost = appHost; _logger = logger; _config = config; } /// /// Runs this instance. /// public void Run() { if (!_appHost.CanLaunchWebBrowser) { return; } if (_appHost.IsFirstRun) { BrowserLauncher.OpenDashboardPage("wizardstart.html", _appHost); } else if (_config.Configuration.IsStartupWizardCompleted && _config.Configuration.AutoRunWebApp) { var options = ((ApplicationHost)_appHost).StartupOptions; if (!options.ContainsOption("-noautorunwebapp")) { BrowserLauncher.OpenDashboardPage("index.html", _appHost); } } } /// /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// public void Dispose() { GC.SuppressFinalize(this); } } }