diff options
Diffstat (limited to 'src/Ryujinx.Common/SystemInfo')
| -rw-r--r-- | src/Ryujinx.Common/SystemInfo/LinuxSystemInfo.cs | 31 | ||||
| -rw-r--r-- | src/Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs | 18 | ||||
| -rw-r--r-- | src/Ryujinx.Common/SystemInfo/SystemInfo.cs | 10 | ||||
| -rw-r--r-- | src/Ryujinx.Common/SystemInfo/WindowsSystemInfo.cs | 10 |
4 files changed, 35 insertions, 34 deletions
diff --git a/src/Ryujinx.Common/SystemInfo/LinuxSystemInfo.cs b/src/Ryujinx.Common/SystemInfo/LinuxSystemInfo.cs index b0c15e49..08aa452e 100644 --- a/src/Ryujinx.Common/SystemInfo/LinuxSystemInfo.cs +++ b/src/Ryujinx.Common/SystemInfo/LinuxSystemInfo.cs @@ -20,7 +20,7 @@ namespace Ryujinx.Common.SystemInfo { ["model name"] = null, ["Processor"] = null, - ["Hardware"] = null + ["Hardware"] = null, }; ParseKeyValues("/proc/cpuinfo", cpuDict); @@ -31,7 +31,7 @@ namespace Ryujinx.Common.SystemInfo var memDict = new Dictionary<string, string>(StringComparer.Ordinal) { ["MemTotal"] = null, - ["MemAvailable"] = null + ["MemAvailable"] = null, }; ParseKeyValues("/proc/meminfo", memDict); @@ -56,25 +56,30 @@ namespace Ryujinx.Common.SystemInfo int count = itemDict.Count; - using (StreamReader file = new StreamReader(filePath)) + using StreamReader file = new(filePath); + + string line; + while ((line = file.ReadLine()) != null) { - string line; - while ((line = file.ReadLine()) != null) + string[] kvPair = line.Split(':', 2, StringSplitOptions.TrimEntries); + + if (kvPair.Length < 2) { - string[] kvPair = line.Split(':', 2, StringSplitOptions.TrimEntries); + continue; + } - if (kvPair.Length < 2) continue; + string key = kvPair[0]; - string key = kvPair[0]; + if (itemDict.TryGetValue(key, out string value) && value == null) + { + itemDict[key] = kvPair[1]; - if (itemDict.TryGetValue(key, out string value) && value == null) + if (--count <= 0) { - itemDict[key] = kvPair[1]; - - if (--count <= 0) break; + break; } } } } } -}
\ No newline at end of file +} diff --git a/src/Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs b/src/Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs index 168960f7..98a0d8ab 100644 --- a/src/Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs +++ b/src/Ryujinx.Common/SystemInfo/MacOSSystemInfo.cs @@ -14,14 +14,14 @@ namespace Ryujinx.Common.SystemInfo { string cpuName = GetCpuidCpuName(); - if (cpuName == null && sysctlbyname("machdep.cpu.brand_string", out cpuName) != 0) + if (cpuName == null && SysctlByName("machdep.cpu.brand_string", out cpuName) != 0) { cpuName = "Unknown"; } ulong totalRAM = 0; - if (sysctlbyname("hw.memsize", ref totalRAM) != 0) // Bytes + if (SysctlByName("hw.memsize", ref totalRAM) != 0) // Bytes { totalRAM = 0; } @@ -63,7 +63,7 @@ namespace Ryujinx.Common.SystemInfo [LibraryImport(SystemLibraryName, SetLastError = true)] private static partial int sysctlbyname([MarshalAs(UnmanagedType.LPStr)] string name, IntPtr oldValue, ref ulong oldSize, IntPtr newValue, ulong newValueSize); - private static int sysctlbyname(string name, IntPtr oldValue, ref ulong oldSize) + private static int SysctlByName(string name, IntPtr oldValue, ref ulong oldSize) { if (sysctlbyname(name, oldValue, ref oldSize, IntPtr.Zero, 0) == -1) { @@ -77,23 +77,23 @@ namespace Ryujinx.Common.SystemInfo return 0; } - private static int sysctlbyname<T>(string name, ref T oldValue) + private static int SysctlByName<T>(string name, ref T oldValue) { unsafe { ulong oldValueSize = (ulong)Unsafe.SizeOf<T>(); - return sysctlbyname(name, (IntPtr)Unsafe.AsPointer(ref oldValue), ref oldValueSize); + return SysctlByName(name, (IntPtr)Unsafe.AsPointer(ref oldValue), ref oldValueSize); } } - private static int sysctlbyname(string name, out string oldValue) + private static int SysctlByName(string name, out string oldValue) { oldValue = default; ulong strSize = 0; - int res = sysctlbyname(name, IntPtr.Zero, ref strSize); + int res = SysctlByName(name, IntPtr.Zero, ref strSize); if (res == 0) { @@ -103,7 +103,7 @@ namespace Ryujinx.Common.SystemInfo { fixed (byte* rawDataPtr = rawData) { - res = sysctlbyname(name, (IntPtr)rawDataPtr, ref strSize); + res = SysctlByName(name, (IntPtr)rawDataPtr, ref strSize); } if (res == 0) @@ -152,6 +152,6 @@ namespace Ryujinx.Common.SystemInfo } [LibraryImport(SystemLibraryName, SetLastError = true)] - private static partial int host_statistics64(uint host_priv, int host_flavor, ref VMStatistics64 host_info64_out, ref uint host_info64_outCnt); + private static partial int host_statistics64(uint hostPriv, int hostFlavor, ref VMStatistics64 hostInfo64Out, ref uint hostInfo64OutCnt); } } diff --git a/src/Ryujinx.Common/SystemInfo/SystemInfo.cs b/src/Ryujinx.Common/SystemInfo/SystemInfo.cs index e9ce3c58..55ec0127 100644 --- a/src/Ryujinx.Common/SystemInfo/SystemInfo.cs +++ b/src/Ryujinx.Common/SystemInfo/SystemInfo.cs @@ -43,12 +43,10 @@ namespace Ryujinx.Common.SystemInfo { return new MacOSSystemInfo(); } - else - { - Logger.Error?.Print(LogClass.Application, "SystemInfo unsupported on this platform"); - return new SystemInfo(); - } + Logger.Error?.Print(LogClass.Application, "SystemInfo unsupported on this platform"); + + return new SystemInfo(); } // x86 exposes a 48 byte ASCII "CPU brand" string via CPUID leaves 0x80000002-0x80000004. @@ -77,4 +75,4 @@ namespace Ryujinx.Common.SystemInfo return string.IsNullOrEmpty(name) ? null : name; } } -}
\ No newline at end of file +} diff --git a/src/Ryujinx.Common/SystemInfo/WindowsSystemInfo.cs b/src/Ryujinx.Common/SystemInfo/WindowsSystemInfo.cs index c3598a1e..3b36d6e2 100644 --- a/src/Ryujinx.Common/SystemInfo/WindowsSystemInfo.cs +++ b/src/Ryujinx.Common/SystemInfo/WindowsSystemInfo.cs @@ -17,15 +17,13 @@ namespace Ryujinx.Common.SystemInfo private static (ulong Total, ulong Available) GetMemoryStats() { - MemoryStatusEx memStatus = new MemoryStatusEx(); + MemoryStatusEx memStatus = new(); if (GlobalMemoryStatusEx(ref memStatus)) { return (memStatus.TotalPhys, memStatus.AvailPhys); // Bytes } - else - { - Logger.Error?.Print(LogClass.Application, $"GlobalMemoryStatusEx failed. Error {Marshal.GetLastWin32Error():X}"); - } + + Logger.Error?.Print(LogClass.Application, $"GlobalMemoryStatusEx failed. Error {Marshal.GetLastWin32Error():X}"); return (0, 0); } @@ -86,4 +84,4 @@ namespace Ryujinx.Common.SystemInfo return null; } } -}
\ No newline at end of file +} |
