Compare commits

...

6 commits

9 changed files with 25 additions and 6 deletions

View file

@ -16,5 +16,14 @@ namespace Ryujinx.Horizon.Bcat.Ipc
return Result.Success;
}
[CmifCommand(10101)]
public Result RequestSyncDeliveryCacheWithDirectoryName(out IDeliveryCacheProgressService deliveryCacheProgressService, DirectoryName directoryName)
{
// Just have the network request fail and pretend that everything is fine.
deliveryCacheProgressService = new DeliveryCacheProgressService();
return BcatResult.InternetRequestDenied;
}
}
}

View file

@ -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();
}

View file

@ -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();
}

View file

@ -58,7 +58,7 @@ namespace Ryujinx.Horizon.Bcat.Ipc
}
[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();
}

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
{
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
{
Result GetCount(out int count);
Result Open(DirectoryName directoryName);
Result Open(LibHac.Bcat.DirectoryName directoryName);
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 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);
}
}

View file

@ -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<DirectoryName> directoryNames);
Result EnumerateDeliveryCacheDirectory(out int count, Span<LibHac.Bcat.DirectoryName> directoryNames);
}
}