| 1234567891011121314151617181920212223242526272829303132333435 |
- using System;
- 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 => (RamSize == 0) ? "Unknown" : $"{RamSize / 1024 / 1024} MB";
- public static SystemInfo Instance { get; }
- static SystemInfo()
- {
- if (OperatingSystem.IsWindows())
- {
- Instance = new WindowsSystemInfo();
- }
- else if (OperatingSystem.IsLinux())
- {
- Instance = new LinuxSystemInfo();
- }
- else if (OperatingSystem.IsMacOS())
- {
- Instance = new MacOSSystemInfo();
- }
- else
- {
- Instance = new SystemInfo();
- }
- }
- }
- }
|