using MediaBrowser.Controller; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Plugins; using MediaBrowser.Model.Logging; using MediaBrowser.ServerApplication.Native; using System.Linq; namespace MediaBrowser.ServerApplication.EntryPoints { /// /// Class StartupWizard /// public class StartupWizard : IServerEntryPoint { /// /// The _app host /// private readonly IServerApplicationHost _appHost; /// /// The _user manager /// private readonly IUserManager _userManager; private readonly ILogger _logger; private readonly IServerConfigurationManager _configurationManager; /// /// Initializes a new instance of the class. /// /// The app host. /// The user manager. public StartupWizard(IServerApplicationHost appHost, IUserManager userManager, IServerConfigurationManager configurationManager, ILogger logger) { _appHost = appHost; _logger = logger; _userManager = userManager; _configurationManager = configurationManager; } /// /// Runs this instance. /// public void Run() { if (_appHost.IsFirstRun) { LaunchStartupWizard(); } } /// /// Launches the startup wizard. /// private void LaunchStartupWizard() { var user = _userManager.Users.FirstOrDefault(u => u.Configuration.IsAdministrator); BrowserLauncher.OpenDashboardPage("wizardstart.html", user, _configurationManager, _appHost, _logger); } /// /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. /// public void Dispose() { } } }