StartupWizard.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System.Threading.Tasks;
  2. using Emby.Server.Implementations.Browser;
  3. using MediaBrowser.Controller;
  4. using MediaBrowser.Controller.Configuration;
  5. using MediaBrowser.Controller.Plugins;
  6. namespace Emby.Server.Implementations.EntryPoints
  7. {
  8. /// <summary>
  9. /// Class StartupWizard.
  10. /// </summary>
  11. public sealed class StartupWizard : IServerEntryPoint
  12. {
  13. /// <summary>
  14. /// The app host.
  15. /// </summary>
  16. private readonly IServerApplicationHost _appHost;
  17. private readonly IServerConfigurationManager _config;
  18. /// <summary>
  19. /// Initializes a new instance of the <see cref="StartupWizard"/> class.
  20. /// </summary>
  21. /// <param name="appHost">The application host.</param>
  22. /// <param name="config">The configuration manager.</param>
  23. public StartupWizard(IServerApplicationHost appHost, IServerConfigurationManager config)
  24. {
  25. _appHost = appHost;
  26. _config = config;
  27. }
  28. /// <inheritdoc />
  29. public Task RunAsync()
  30. {
  31. if (!_appHost.CanLaunchWebBrowser)
  32. {
  33. return Task.CompletedTask;
  34. }
  35. if (!_config.Configuration.IsStartupWizardCompleted)
  36. {
  37. BrowserLauncher.OpenWebApp(_appHost);
  38. }
  39. else if (_config.Configuration.AutoRunWebApp)
  40. {
  41. var options = ((ApplicationHost)_appHost).StartupOptions;
  42. if (!options.NoAutoRunWebApp)
  43. {
  44. BrowserLauncher.OpenWebApp(_appHost);
  45. }
  46. }
  47. return Task.CompletedTask;
  48. }
  49. /// <inheritdoc />
  50. public void Dispose()
  51. {
  52. }
  53. }
  54. }