| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using System.Runtime.InteropServices;
- namespace Ryujinx.Common.SystemInfo
- {
- public class SystemInfo
- {
- public virtual string OsDescription => $"{RuntimeInformation.OSDescription} ({RuntimeInformation.OSArchitecture})";
- public virtual string CpuName => "Unknown";
- public virtual ulong RamSize => 0;
- public string RamSizeInMB
- {
- get
- {
- if (RamSize == 0)
- {
- return "Unknown";
- }
- return $"{RamSize / 1024 / 1024} MB";
- }
- }
- public static SystemInfo Instance { get; }
- static SystemInfo()
- {
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
- {
- Instance = new WindowsSysteminfo();
- }
- else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
- {
- Instance = new LinuxSysteminfo();
- }
- else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
- {
- Instance = new MacOSSysteminfo();
- }
- else
- {
- Instance = new SystemInfo();
- }
- }
- }
- }
|