diff options
Diffstat (limited to 'Ryujinx.Common/SystemInfo/SystemInfo.cs')
| -rw-r--r-- | Ryujinx.Common/SystemInfo/SystemInfo.cs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Ryujinx.Common/SystemInfo/SystemInfo.cs b/Ryujinx.Common/SystemInfo/SystemInfo.cs new file mode 100644 index 00000000..9ab1419c --- /dev/null +++ b/Ryujinx.Common/SystemInfo/SystemInfo.cs @@ -0,0 +1,46 @@ +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(); + } + } + } +}
\ No newline at end of file |
