diff options
Diffstat (limited to 'src/Ryujinx.Horizon/Sdk/Sm')
-rw-r--r-- | src/Ryujinx.Horizon/Sdk/Sm/ServiceName.cs | 2 | ||||
-rw-r--r-- | src/Ryujinx.Horizon/Sdk/Sm/SmApi.cs | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/Ryujinx.Horizon/Sdk/Sm/ServiceName.cs b/src/Ryujinx.Horizon/Sdk/Sm/ServiceName.cs index f90d39c2..c89f118c 100644 --- a/src/Ryujinx.Horizon/Sdk/Sm/ServiceName.cs +++ b/src/Ryujinx.Horizon/Sdk/Sm/ServiceName.cs @@ -4,7 +4,7 @@ using System.Runtime.InteropServices; namespace Ryujinx.Horizon.Sdk.Sm { [StructLayout(LayoutKind.Sequential, Pack = 1)] - readonly struct ServiceName + public readonly struct ServiceName { public static ServiceName Invalid { get; } = new(0); diff --git a/src/Ryujinx.Horizon/Sdk/Sm/SmApi.cs b/src/Ryujinx.Horizon/Sdk/Sm/SmApi.cs index 3e5635bf..1ab400bd 100644 --- a/src/Ryujinx.Horizon/Sdk/Sm/SmApi.cs +++ b/src/Ryujinx.Horizon/Sdk/Sm/SmApi.cs @@ -5,7 +5,7 @@ using System; namespace Ryujinx.Horizon.Sdk.Sm { - class SmApi + public class SmApi : IDisposable { private const string SmName = "sm:"; @@ -109,5 +109,17 @@ namespace Ryujinx.Horizon.Sdk.Sm return ServiceUtil.SendRequest(out _, _portHandle, 4, sendPid: true, data); } + + public void Dispose() + { + if (_portHandle != 0) + { + HorizonStatic.Syscall.CloseHandle(_portHandle); + + _portHandle = 0; + } + + GC.SuppressFinalize(this); + } } } |