From d34f7b0b640ec86280de46b2cfdf0c8aac4d0e14 Mon Sep 17 00:00:00 2001 From: Yohoki Date: Mon, 6 May 2024 20:22:32 -0500 Subject: [PATCH] Add Bcat.DirectoryName and Resolved conflicts between new DirectoryName type and LibHac.Bcat.DirectoryName type --- .../Bcat/Ipc/ServiceCreator/BcatService.cs | 2 +- .../Ipc/ServiceCreator/DeliveryCacheDirectoryService.cs | 2 +- .../Bcat/Ipc/ServiceCreator/DeliveryCacheFileService.cs | 2 +- .../Ipc/ServiceCreator/DeliveryCacheStorageService.cs | 2 +- src/Ryujinx.Horizon/Sdk/Bcat/DirectoryName.cs | 9 +++++++++ src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs | 2 +- .../Sdk/Bcat/IDeliveryCacheDirectoryService.cs | 2 +- .../Sdk/Bcat/IDeliveryCacheFileService.cs | 2 +- .../Sdk/Bcat/IDeliveryCacheStorageService.cs | 2 +- 9 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 src/Ryujinx.Horizon/Sdk/Bcat/DirectoryName.cs diff --git a/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/BcatService.cs b/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/BcatService.cs index 19b4e65eb..aa037847b 100644 --- a/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/BcatService.cs +++ b/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/BcatService.cs @@ -18,7 +18,7 @@ namespace Ryujinx.Horizon.Bcat.Ipc } [CmifCommand(10101)] - public Result RequestSyncDeliveryCacheWithDirectoryName(out IDeliveryCacheProgressService deliveryCacheProgressService, LibHac.Bcat.DirectoryName arg1) + public Result RequestSyncDeliveryCacheWithDirectoryName(out IDeliveryCacheProgressService deliveryCacheProgressService, DirectoryName directoryName) { // Just have the network request fail and pretend that everything is fine. deliveryCacheProgressService = new DeliveryCacheProgressService(); diff --git a/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheDirectoryService.cs b/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheDirectoryService.cs index 1559c833c..f8eb778bd 100644 --- a/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheDirectoryService.cs +++ b/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheDirectoryService.cs @@ -20,7 +20,7 @@ namespace Ryujinx.Horizon.Bcat.Ipc } [CmifCommand(0)] - public Result Open(DirectoryName directoryName) + public Result Open(LibHac.Bcat.DirectoryName directoryName) { return _libHacService.Get.Open(ref directoryName).ToHorizonResult(); } diff --git a/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheFileService.cs b/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheFileService.cs index bd5c418d9..9d8f8524a 100644 --- a/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheFileService.cs +++ b/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheFileService.cs @@ -20,7 +20,7 @@ namespace Ryujinx.Horizon.Bcat.Ipc } [CmifCommand(0)] - public Result Open(DirectoryName directoryName, FileName fileName) + public Result Open(LibHac.Bcat.DirectoryName directoryName, FileName fileName) { return _libHacService.Get.Open(ref directoryName, ref fileName).ToHorizonResult(); } diff --git a/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheStorageService.cs b/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheStorageService.cs index ecbc4bdb7..4d44fecf6 100644 --- a/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheStorageService.cs +++ b/src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/DeliveryCacheStorageService.cs @@ -58,7 +58,7 @@ namespace Ryujinx.Horizon.Bcat.Ipc } [CmifCommand(10)] - public Result EnumerateDeliveryCacheDirectory(out int count, [Buffer(HipcBufferFlags.Out | HipcBufferFlags.MapAlias)] Span directoryNames) + public Result EnumerateDeliveryCacheDirectory(out int count, [Buffer(HipcBufferFlags.Out | HipcBufferFlags.MapAlias)] Span directoryNames) { return _libHacService.Get.EnumerateDeliveryCacheDirectory(out count, directoryNames).ToHorizonResult(); } diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/DirectoryName.cs b/src/Ryujinx.Horizon/Sdk/Bcat/DirectoryName.cs new file mode 100644 index 000000000..aa68cbc7a --- /dev/null +++ b/src/Ryujinx.Horizon/Sdk/Bcat/DirectoryName.cs @@ -0,0 +1,9 @@ +using System.Runtime.InteropServices; + +namespace Ryujinx.Horizon.Sdk.Bcat +{ + [StructLayout(LayoutKind.Sequential, Size = 0x20, Pack = 0x1)] + struct DirectoryName + { + } +} diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs index 9bab3bcbd..8e104afbc 100644 --- a/src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs +++ b/src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs @@ -6,6 +6,6 @@ namespace Ryujinx.Horizon.Sdk.Bcat internal interface IBcatService : IServiceObject { Result RequestSyncDeliveryCache(out IDeliveryCacheProgressService deliveryCacheProgressService); - Result RequestSyncDeliveryCacheWithDirectoryName(out IDeliveryCacheProgressService deliveryCacheProgressService, LibHac.Bcat.DirectoryName arg1); + Result RequestSyncDeliveryCacheWithDirectoryName(out IDeliveryCacheProgressService deliveryCacheProgressService, DirectoryName directoryName); } } diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheDirectoryService.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheDirectoryService.cs index f2f6c5b54..a18dfccbb 100644 --- a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheDirectoryService.cs +++ b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheDirectoryService.cs @@ -8,7 +8,7 @@ namespace Ryujinx.Horizon.Sdk.Bcat internal interface IDeliveryCacheDirectoryService : IServiceObject { Result GetCount(out int count); - Result Open(DirectoryName directoryName); + Result Open(LibHac.Bcat.DirectoryName directoryName); Result Read(out int entriesRead, Span entriesBuffer); } } diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheFileService.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheFileService.cs index 1cba63ced..fcc03c3c1 100644 --- a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheFileService.cs +++ b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheFileService.cs @@ -9,7 +9,7 @@ namespace Ryujinx.Horizon.Sdk.Bcat { Result GetDigest(out Digest digest); Result GetSize(out long size); - Result Open(DirectoryName directoryName, FileName fileName); + Result Open(LibHac.Bcat.DirectoryName directoryName, FileName fileName); Result Read(long offset, out long bytesRead, Span data); } } diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheStorageService.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheStorageService.cs index f83114d91..df33a68d4 100644 --- a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheStorageService.cs +++ b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheStorageService.cs @@ -9,6 +9,6 @@ namespace Ryujinx.Horizon.Sdk.Bcat { Result CreateDirectoryService(out IDeliveryCacheDirectoryService service); Result CreateFileService(out IDeliveryCacheFileService service); - Result EnumerateDeliveryCacheDirectory(out int count, Span directoryNames); + Result EnumerateDeliveryCacheDirectory(out int count, Span directoryNames); } }