2013-06-03 18:15:35 +00:00
using MediaBrowser.Controller ;
2013-03-07 05:34:00 +00:00
using MediaBrowser.Controller.Configuration ;
2013-03-03 05:20:14 +00:00
using MediaBrowser.Controller.Library ;
using MediaBrowser.Controller.Plugins ;
2013-05-29 14:23:27 +00:00
using MediaBrowser.Model.Logging ;
2013-09-25 00:54:51 +00:00
using System ;
2013-03-03 05:20:14 +00:00
using System.Linq ;
2013-09-25 00:54:51 +00:00
using System.Windows.Forms ;
using MediaBrowser.ServerApplication.Native ;
2013-03-03 05:20:14 +00:00
2013-03-08 05:08:27 +00:00
namespace MediaBrowser.ServerApplication.EntryPoints
2013-03-03 05:20:14 +00:00
{
/// <summary>
/// Class StartupWizard
/// </summary>
public class StartupWizard : IServerEntryPoint
{
/// <summary>
/// The _app host
/// </summary>
2013-06-03 18:15:35 +00:00
private readonly IServerApplicationHost _appHost ;
2013-03-03 05:20:14 +00:00
/// <summary>
/// The _user manager
/// </summary>
private readonly IUserManager _userManager ;
2013-05-29 14:23:27 +00:00
private readonly ILogger _logger ;
2013-03-03 05:20:14 +00:00
2013-03-07 05:34:00 +00:00
private readonly IServerConfigurationManager _configurationManager ;
2013-03-04 05:43:06 +00:00
2013-03-03 05:20:14 +00: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-09-25 00:54:51 +00:00
public StartupWizard ( IServerApplicationHost appHost , IUserManager userManager , IServerConfigurationManager configurationManager , ILogger logger )
2013-03-03 05:20:14 +00:00
{
_appHost = appHost ;
2013-09-25 00:54:51 +00:00
_logger = logger ;
2013-03-03 05:20:14 +00:00
_userManager = userManager ;
2013-03-04 05:43:06 +00:00
_configurationManager = configurationManager ;
2013-03-03 05:20:14 +00: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 14:23:27 +00:00
try
{
2013-09-25 00:54:51 +00:00
BrowserLauncher . OpenDashboardPage ( "wizardstart.html" , user , _configurationManager , _appHost , _logger ) ;
2013-05-29 14:23:27 +00:00
}
2013-09-25 00:54:51 +00:00
catch ( Exception ex )
2013-05-29 14:23:27 +00:00
{
_logger . ErrorException ( "Error launching startup wizard" , ex ) ;
2013-09-21 01:04:14 +00:00
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 14:23:27 +00:00
}
2013-03-03 05:20:14 +00:00
}
/// <summary>
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
public void Dispose ( )
{
}
}
2013-09-25 00:54:51 +00:00
}