| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | using MediaBrowser.Common.IO;using MediaBrowser.Common.Net;using MediaBrowser.Controller.Diagnostics;using MediaBrowser.IsoMounter;using MediaBrowser.Model.Logging;using MediaBrowser.Server.Mono.Diagnostics;using MediaBrowser.Server.Startup.Common;using MediaBrowser.ServerApplication.Networking;using System.Collections.Generic;using System.Reflection;namespace MediaBrowser.ServerApplication.Native{    public class WindowsApp : INativeApp    {        private readonly IFileSystem _fileSystem;        public WindowsApp(IFileSystem fileSystem)        {            _fileSystem = fileSystem;        }        public List<Assembly> GetAssembliesWithParts()        {            var list = new List<Assembly>();            list.Add(typeof(PismoIsoManager).Assembly);            list.Add(GetType().Assembly);                        return list;        }        public void AuthorizeServer(int udpPort, int httpServerPort, int httpsPort, string tempDirectory)        {            ServerAuthorization.AuthorizeServer(udpPort, httpServerPort, httpsPort, tempDirectory);        }        public NativeEnvironment Environment        {            get            {                return new NativeEnvironment                {                    OperatingSystem = OperatingSystem.Windows,                    SystemArchitecture = System.Environment.Is64BitOperatingSystem ? Architecture.X86_X64 : Architecture.X86,                    OperatingSystemVersionString = System.Environment.OSVersion.VersionString                };            }        }        public bool SupportsRunningAsService        {            get            {                return true;            }        }        public bool IsRunningAsService        {            get;            set;        }        public bool CanSelfRestart        {            get            {                return MainStartup.CanSelfRestart;            }        }        public bool SupportsAutoRunAtStartup        {            get            {                return true;            }        }        public bool CanSelfUpdate        {            get            {                return MainStartup.CanSelfUpdate;            }        }        public void Shutdown()        {            MainStartup.Shutdown();        }        public void Restart()        {            MainStartup.Restart();        }        public void ConfigureAutoRun(bool autorun)        {            Autorun.Configure(autorun, _fileSystem);        }        public INetworkManager CreateNetworkManager(ILogger logger)        {            return new NetworkManager(logger);        }        public void PreventSystemStandby()        {            Standby.PreventSystemStandby();        }        public IProcessManager GetProcessManager()        {            return new WindowsProcessManager();        }    }}
 |