From d54c6d8bf63c13c0b47f76fd9f40fec614fbd689 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Sun, 19 Aug 2012 18:47:02 -0400 Subject: Created a BaseApplication class in common --- MediaBrowser.ServerApplication/App.xaml | 7 ++-- MediaBrowser.ServerApplication/App.xaml.cs | 59 ++++++------------------------ 2 files changed, 16 insertions(+), 50 deletions(-) (limited to 'MediaBrowser.ServerApplication') diff --git a/MediaBrowser.ServerApplication/App.xaml b/MediaBrowser.ServerApplication/App.xaml index 3792e5bac..6b7f6c38f 100644 --- a/MediaBrowser.ServerApplication/App.xaml +++ b/MediaBrowser.ServerApplication/App.xaml @@ -1,7 +1,8 @@ - + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:z="clr-namespace:MediaBrowser.Common.UI;assembly=MediaBrowser.Common"> - + diff --git a/MediaBrowser.ServerApplication/App.xaml.cs b/MediaBrowser.ServerApplication/App.xaml.cs index de8a1114e..db229905d 100644 --- a/MediaBrowser.ServerApplication/App.xaml.cs +++ b/MediaBrowser.ServerApplication/App.xaml.cs @@ -1,12 +1,10 @@ using System; using System.Collections.Generic; using System.Diagnostics; -using System.Threading.Tasks; using System.Windows; -using MediaBrowser.Common.Logging; +using MediaBrowser.Common.Kernel; using MediaBrowser.Common.UI; using MediaBrowser.Controller; -using MediaBrowser.Model.Progress; using Microsoft.Shell; namespace MediaBrowser.ServerApplication @@ -14,7 +12,7 @@ namespace MediaBrowser.ServerApplication /// /// Interaction logic for App.xaml /// - public partial class App : Application, ISingleInstanceApp + public partial class App : BaseApplication, ISingleInstanceApp { private const string Unique = "MediaBrowser3"; @@ -32,42 +30,6 @@ namespace MediaBrowser.ServerApplication SingleInstance.Cleanup(); } } - - protected async override void OnStartup(StartupEventArgs e) - { - this.ShutdownMode = ShutdownMode.OnExplicitShutdown; - - await LoadKernel(); - } - - private async Task LoadKernel() - { - Progress progress = new Progress(); - Splash splash = new Splash(progress); - - splash.Show(); - - try - { - DateTime now = DateTime.Now; - - await new Kernel().Init(progress); - - double seconds = (DateTime.Now - now).TotalSeconds; - - Logger.LogInfo("Kernel.Init completed in {0} seconds.", seconds); - splash.Close(); - - this.ShutdownMode = System.Windows.ShutdownMode.OnLastWindowClose; - new MainWindow().ShowDialog(); - } - catch (Exception ex) - { - MessageBox.Show("There was an error launching Media Browser Server: " + ex.Message); - splash.Close(); - Shutdown(1); - } - } #region ISingleInstanceApp Members public bool SignalExternalCommandLineArgs(IList args) @@ -78,18 +40,21 @@ namespace MediaBrowser.ServerApplication } #endregion - protected override void OnExit(ExitEventArgs e) - { - base.OnExit(e); - - Kernel.Instance.Dispose(); - } - public static void OpenDashboard() { using (Process process = Process.Start("http://localhost:" + Kernel.Instance.Configuration.HttpServerPortNumber + "/mediabrowser/dashboard/index.html")) { } } + + protected override IKernel InstantiateKernel() + { + return new Kernel(); + } + + protected override Window InstantiateMainWindow() + { + return new MainWindow(); + } } } -- cgit v1.2.3