From 651a07c6c2a3e89c059d56e916c45e1881d56abc Mon Sep 17 00:00:00 2001 From: Mary <57835969+h1k421@users.noreply.github.com> Date: Mon, 4 May 2020 04:15:27 +0200 Subject: Refactor SystemInfo and implement macOS system info backend (#1177) --- Ryujinx.Common/SystemInfo/SystemInfo.cs | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 Ryujinx.Common/SystemInfo/SystemInfo.cs (limited to 'Ryujinx.Common/SystemInfo/SystemInfo.cs') 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 -- cgit v1.2.3