2013-06-03 20:15:35 +02:00
using MediaBrowser.Controller ;
2013-03-07 06:34:00 +01:00
using MediaBrowser.Controller.Configuration ;
2013-03-03 06:20:14 +01:00
using MediaBrowser.Controller.Library ;
using MediaBrowser.Controller.Plugins ;
2013-05-29 16:23:27 +02:00
using MediaBrowser.Model.Logging ;
using System.ComponentModel ;
2013-03-03 06:20:14 +01:00
using System.Linq ;
2013-05-29 16:23:27 +02:00
using System.Windows ;
2013-03-03 06:20:14 +01:00
2013-03-08 06:08:27 +01:00
namespace MediaBrowser.ServerApplication.EntryPoints
2013-03-03 06:20:14 +01:00
{
/// <summary>
/// Class StartupWizard
/// </summary>
public class StartupWizard : IServerEntryPoint
{
/// <summary>
/// The _app host
/// </summary>
2013-06-03 20:15:35 +02:00
private readonly IServerApplicationHost _appHost ;
2013-03-03 06:20:14 +01:00
/// <summary>
/// The _user manager
/// </summary>
private readonly IUserManager _userManager ;
2013-05-29 16:23:27 +02:00
private readonly ILogger _logger ;
2013-03-03 06:20:14 +01:00
2013-03-07 06:34:00 +01:00
private readonly IServerConfigurationManager _configurationManager ;
2013-03-04 06:43:06 +01:00
2013-03-03 06:20:14 +01:00
/// <summary>
/// Initializes a new instance of the <see cref="StartupWizard" /> class.
/// </summary>
/// <param name="appHost">The app host.</param>
/// <param name="userManager">The user manager.</param>
2013-06-03 20:15:35 +02:00
public StartupWizard ( IServerApplicationHost appHost , IUserManager userManager , IServerConfigurationManager configurationManager )
2013-03-03 06:20:14 +01:00
{
_appHost = appHost ;
_userManager = userManager ;
2013-03-04 06:43:06 +01:00
_configurationManager = configurationManager ;
2013-03-03 06:20:14 +01:00
}
/// <summary>
/// Runs this instance.
/// </summary>
public void Run ( )
{
if ( _appHost . IsFirstRun )
{
LaunchStartupWizard ( ) ;
}
}
/// <summary>
/// Launches the startup wizard.
/// </summary>
private void LaunchStartupWizard ( )
{
var user = _userManager . Users . FirstOrDefault ( u = > u . Configuration . IsAdministrator ) ;
2013-05-29 16:23:27 +02:00
try
{
2013-08-18 22:45:02 +02:00
App . OpenDashboardPage ( "wizardstart.html" , user , _configurationManager , _appHost ) ;
2013-05-29 16:23:27 +02:00
}
catch ( Win32Exception ex )
{
_logger . ErrorException ( "Error launching startup wizard" , ex ) ;
2013-09-20 19:32:10 +02:00
if ( ! _appHost . IsBackgroundService )
{
MessageBox . Show ( "There was an error launching the Media Browser startup wizard. Please ensure a web browser is installed on the machine and is configured as the default browser." , "Media Browser" ) ;
}
2013-05-29 16:23:27 +02:00
}
2013-03-03 06:20:14 +01:00
}
/// <summary>
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
public void Dispose ( )
{
}
}
}