diff options
Diffstat (limited to 'Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs')
| -rw-r--r-- | Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs new file mode 100644 index 000000000..0999fa141 --- /dev/null +++ b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs @@ -0,0 +1,92 @@ +using System; +using System.IO; +using MediaBrowser.Model.System; + +namespace Emby.Server.Implementations.EnvironmentInfo +{ + public class EnvironmentInfo : IEnvironmentInfo + { + public Architecture? CustomArchitecture { get; set; } + public MediaBrowser.Model.System.OperatingSystem? CustomOperatingSystem { get; set; } + + public virtual MediaBrowser.Model.System.OperatingSystem OperatingSystem + { + get + { + if (CustomOperatingSystem.HasValue) + { + return CustomOperatingSystem.Value; + } + + switch (Environment.OSVersion.Platform) + { + case PlatformID.MacOSX: + return MediaBrowser.Model.System.OperatingSystem.OSX; + case PlatformID.Win32NT: + return MediaBrowser.Model.System.OperatingSystem.Windows; + case PlatformID.Unix: + return MediaBrowser.Model.System.OperatingSystem.Linux; + } + + return MediaBrowser.Model.System.OperatingSystem.Windows; + } + } + + public string OperatingSystemName + { + get + { + return Environment.OSVersion.Platform.ToString(); + } + } + + public string OperatingSystemVersion + { + get + { + return Environment.OSVersion.Version.ToString() + " " + Environment.OSVersion.ServicePack.ToString(); + } + } + + public char PathSeparator + { + get + { + return Path.PathSeparator; + } + } + + public Architecture SystemArchitecture + { + get + { + if (CustomArchitecture.HasValue) + { + return CustomArchitecture.Value; + } + + return Environment.Is64BitOperatingSystem ? MediaBrowser.Model.System.Architecture.X64 : MediaBrowser.Model.System.Architecture.X86; + } + } + + public string GetEnvironmentVariable(string name) + { + return Environment.GetEnvironmentVariable(name); + } + + public virtual string GetUserId() + { + return null; + } + + public string StackTrace + { + get { return Environment.StackTrace; } + } + + public void SetProcessEnvironmentVariable(string name, string value) + { + Environment.SetEnvironmentVariable(name, value); + } + } +}
\ No newline at end of file |
