This commit is contained in:
Yohoki 2024-09-20 00:24:04 +08:00 committed by GitHub
commit 256d053121
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 24 additions and 6 deletions

View file

@ -16,5 +16,13 @@ namespace Ryujinx.Horizon.Bcat.Ipc
return Result.Success; return Result.Success;
} }
[CmifCommand(10101)]
public Result RequestSyncDeliveryCacheWithDirectoryName(out IDeliveryCacheProgressService deliveryCacheProgressService, DirectoryName directoryName)
{
deliveryCacheProgressService = new DeliveryCacheProgressService();
return BcatResult.Success;
}
} }
} }

View file

@ -20,7 +20,7 @@ namespace Ryujinx.Horizon.Bcat.Ipc
} }
[CmifCommand(0)] [CmifCommand(0)]
public Result Open(DirectoryName directoryName) public Result Open(LibHac.Bcat.DirectoryName directoryName)
{ {
return _libHacService.Get.Open(ref directoryName).ToHorizonResult(); return _libHacService.Get.Open(ref directoryName).ToHorizonResult();
} }

View file

@ -20,7 +20,7 @@ namespace Ryujinx.Horizon.Bcat.Ipc
} }
[CmifCommand(0)] [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(); return _libHacService.Get.Open(ref directoryName, ref fileName).ToHorizonResult();
} }

View file

@ -58,7 +58,7 @@ namespace Ryujinx.Horizon.Bcat.Ipc
} }
[CmifCommand(10)] [CmifCommand(10)]
public Result EnumerateDeliveryCacheDirectory(out int count, [Buffer(HipcBufferFlags.Out | HipcBufferFlags.MapAlias)] Span<DirectoryName> directoryNames) public Result EnumerateDeliveryCacheDirectory(out int count, [Buffer(HipcBufferFlags.Out | HipcBufferFlags.MapAlias)] Span<LibHac.Bcat.DirectoryName> directoryNames)
{ {
return _libHacService.Get.EnumerateDeliveryCacheDirectory(out count, directoryNames).ToHorizonResult(); return _libHacService.Get.EnumerateDeliveryCacheDirectory(out count, directoryNames).ToHorizonResult();
} }

View file

@ -0,0 +1,9 @@
using System.Runtime.InteropServices;
namespace Ryujinx.Horizon.Sdk.Bcat
{
[StructLayout(LayoutKind.Sequential, Size = 0x20, Pack = 0x1)]
struct DirectoryName
{
}
}

View file

@ -6,5 +6,6 @@ namespace Ryujinx.Horizon.Sdk.Bcat
internal interface IBcatService : IServiceObject internal interface IBcatService : IServiceObject
{ {
Result RequestSyncDeliveryCache(out IDeliveryCacheProgressService deliveryCacheProgressService); Result RequestSyncDeliveryCache(out IDeliveryCacheProgressService deliveryCacheProgressService);
Result RequestSyncDeliveryCacheWithDirectoryName(out IDeliveryCacheProgressService deliveryCacheProgressService, DirectoryName directoryName);
} }
} }

View file

@ -8,7 +8,7 @@ namespace Ryujinx.Horizon.Sdk.Bcat
internal interface IDeliveryCacheDirectoryService : IServiceObject internal interface IDeliveryCacheDirectoryService : IServiceObject
{ {
Result GetCount(out int count); Result GetCount(out int count);
Result Open(DirectoryName directoryName); Result Open(LibHac.Bcat.DirectoryName directoryName);
Result Read(out int entriesRead, Span<DeliveryCacheDirectoryEntry> entriesBuffer); Result Read(out int entriesRead, Span<DeliveryCacheDirectoryEntry> entriesBuffer);
} }
} }

View file

@ -9,7 +9,7 @@ namespace Ryujinx.Horizon.Sdk.Bcat
{ {
Result GetDigest(out Digest digest); Result GetDigest(out Digest digest);
Result GetSize(out long size); 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<byte> data); Result Read(long offset, out long bytesRead, Span<byte> data);
} }
} }

View file

@ -9,6 +9,6 @@ namespace Ryujinx.Horizon.Sdk.Bcat
{ {
Result CreateDirectoryService(out IDeliveryCacheDirectoryService service); Result CreateDirectoryService(out IDeliveryCacheDirectoryService service);
Result CreateFileService(out IDeliveryCacheFileService service); Result CreateFileService(out IDeliveryCacheFileService service);
Result EnumerateDeliveryCacheDirectory(out int count, Span<DirectoryName> directoryNames); Result EnumerateDeliveryCacheDirectory(out int count, Span<LibHac.Bcat.DirectoryName> directoryNames);
} }
} }