EnvironmentInfo.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using MediaBrowser.Model.System;
  3. using System.Runtime.InteropServices;
  4. namespace Emby.Server.Implementations.EnvironmentInfo
  5. {
  6. public class EnvironmentInfo : IEnvironmentInfo
  7. {
  8. public EnvironmentInfo(MediaBrowser.Model.System.OperatingSystem operatingSystem)
  9. {
  10. OperatingSystem = operatingSystem;
  11. }
  12. public MediaBrowser.Model.System.OperatingSystem OperatingSystem { get; private set; }
  13. public string OperatingSystemName
  14. {
  15. get
  16. {
  17. switch (OperatingSystem)
  18. {
  19. case MediaBrowser.Model.System.OperatingSystem.Android: return "Android";
  20. case MediaBrowser.Model.System.OperatingSystem.BSD: return "BSD";
  21. case MediaBrowser.Model.System.OperatingSystem.Linux: return "Linux";
  22. case MediaBrowser.Model.System.OperatingSystem.OSX: return "macOS";
  23. case MediaBrowser.Model.System.OperatingSystem.Windows: return "Windows";
  24. default: throw new Exception($"Unknown OS {OperatingSystem}");
  25. }
  26. }
  27. }
  28. public string OperatingSystemVersion
  29. {
  30. get
  31. {
  32. return Environment.OSVersion.Version.ToString() + " " + Environment.OSVersion.ServicePack.ToString();
  33. }
  34. }
  35. public Architecture SystemArchitecture { get { return RuntimeInformation.OSArchitecture; } }
  36. }
  37. }