EnvironmentInfo.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using System.Runtime.InteropServices;
  3. using MediaBrowser.Model.System;
  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 => Environment.OSVersion.Version.ToString() + " " + Environment.OSVersion.ServicePack.ToString();
  29. public Architecture SystemArchitecture => RuntimeInformation.OSArchitecture;
  30. }
  31. }