aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/EnvironmentInfo
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-08-18 02:04:21 -0400
committerGitHub <noreply@github.com>2017-08-18 02:04:21 -0400
commitc58db90c950c766321615eca236557d87b8d1b74 (patch)
tree80f1823f901bdadad6af4fce8d36d9b73f79c0fb /Emby.Server.Implementations/EnvironmentInfo
parentd5a9db3af77b06a355558165a984328e35555279 (diff)
parent883399caeba54da4c9f3e15e639f8fd72f5b559e (diff)
Merge pull request #2827 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations/EnvironmentInfo')
-rw-r--r--Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs100
1 files changed, 100 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs
new file mode 100644
index 0000000000..f86279f372
--- /dev/null
+++ b/Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs
@@ -0,0 +1,100 @@
+using System;
+using System.IO;
+using MediaBrowser.Model.System;
+
+namespace Emby.Server.Implementations.EnvironmentInfo
+{
+ public class EnvironmentInfo : IEnvironmentInfo
+ {
+ private Architecture? _customArchitecture;
+ private MediaBrowser.Model.System.OperatingSystem? _customOperatingSystem;
+
+ 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;
+ }
+ set
+ {
+ _customOperatingSystem = value;
+ }
+ }
+
+ 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;
+ }
+ set
+ {
+ _customArchitecture = value;
+ }
+ }
+
+ 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