diff --git a/MediaBrowser.Server.Mac/MacAppHost.cs b/MediaBrowser.Server.Mac/MacAppHost.cs index 660f6913db..9e068acd42 100644 --- a/MediaBrowser.Server.Mac/MacAppHost.cs +++ b/MediaBrowser.Server.Mac/MacAppHost.cs @@ -7,7 +7,7 @@ using Emby.Server.Core.FFMpeg; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; using MediaBrowser.Model.System; -using MediaBrowser.Server.Mono.Native; +using Emby.Server.Mac.Native; using System.Diagnostics; namespace MediaBrowser.Server.Mac diff --git a/MediaBrowser.Server.Mac/Main.cs b/MediaBrowser.Server.Mac/Main.cs index d0d4891423..9d646547ec 100644 --- a/MediaBrowser.Server.Mac/Main.cs +++ b/MediaBrowser.Server.Mac/Main.cs @@ -12,14 +12,16 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Model.Logging; using MediaBrowser.Server.Implementations; -using MediaBrowser.Server.Startup.Common; -using Microsoft.Win32; using MonoMac.AppKit; using MonoMac.Foundation; using MonoMac.ObjCRuntime; using Emby.Server.Core; using Emby.Common.Implementations.Logging; using Emby.Server.Mac.Native; +using Emby.Server.Implementations.IO; +using Emby.Common.Implementations.Networking; +using MediaBrowser.Server.Startup.Common; +using MediaBrowser.Server.Startup.Common.IO; namespace MediaBrowser.Server.Mac { @@ -85,21 +87,34 @@ namespace MediaBrowser.Server.Mac ILogManager logManager, StartupOptions options) { - SystemEvents.SessionEnding += SystemEvents_SessionEnding; - // Allow all https requests ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; }); var fileSystem = new MonoFileSystem(logManager.GetLogger("FileSystem"), false, false); fileSystem.AddShortcutHandler(new MbLinkShortcutHandler(fileSystem)); - AppHost = new MacAppHost(appPaths, - logManager, - options, - fileSystem, - new PowerManagement(), - "Emby.Server.Mac.pkg", - nativeApp); + var environmentInfo = GetEnvironmentInfo(); + + var imageEncoder = ImageEncoderHelper.GetImageEncoder(_logger, + logManager, + fileSystem, + options, + () => AppHost.HttpClient, + appPaths); + + AppHost = new MacAppHost(appPaths, + logManager, + options, + fileSystem, + new PowerManagement(), + "Emby.Server.Mac.pkg", + environmentInfo, + imageEncoder, + new Startup.Common.SystemEvents(logManager.GetLogger("SystemEvents")), + new MemoryStreamProvider(), + new NetworkManager(logManager.GetLogger("NetworkManager")), + GenerateCertificate, + () => Environment.UserName); if (options.ContainsOption("-v")) { Console.WriteLine (AppHost.ApplicationVersion.ToString()); @@ -125,19 +140,6 @@ namespace MediaBrowser.Server.Mac } } - /// - /// Handles the SessionEnding event of the SystemEvents control. - /// - /// The source of the event. - /// The instance containing the event data. - static void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e) - { - if (e.Reason == SessionEndReasons.SystemShutdown) - { - Shutdown(); - } - } - public static void Shutdown() { ShutdownApp();