diff options
Diffstat (limited to 'Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs')
| -rw-r--r-- | Emby.Server.Implementations/EnvironmentInfo/EnvironmentInfo.cs | 100 |
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 000000000..f86279f37 --- /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 |
