Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BcatService: Return InternetRequestDenied for CmifCommand 10101 #6780

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
8 changes: 8 additions & 0 deletions src/Ryujinx.Horizon/Bcat/Ipc/ServiceCreator/BcatService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,13 @@ public Result RequestSyncDeliveryCache(out IDeliveryCacheProgressService deliver

return Result.Success;
}

[CmifCommand(10101)]
public Result RequestSyncDeliveryCacheWithDirectoryName(out IDeliveryCacheProgressService deliveryCacheProgressService, DirectoryName directoryName)
{
deliveryCacheProgressService = new DeliveryCacheProgressService();

return BcatResult.Success;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public DeliveryCacheDirectoryService(ref SharedRef<LibHac.Bcat.Impl.Ipc.IDeliver
}

[CmifCommand(0)]
public Result Open(DirectoryName directoryName)
public Result Open(LibHac.Bcat.DirectoryName directoryName)
{
return _libHacService.Get.Open(ref directoryName).ToHorizonResult();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public DeliveryCacheFileService(ref SharedRef<LibHac.Bcat.Impl.Ipc.IDeliveryCach
}

[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();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public Result CreateDirectoryService(out IDeliveryCacheDirectoryService service)
}

[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();
}
Expand Down
9 changes: 9 additions & 0 deletions src/Ryujinx.Horizon/Sdk/Bcat/DirectoryName.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using System.Runtime.InteropServices;

namespace Ryujinx.Horizon.Sdk.Bcat
{
[StructLayout(LayoutKind.Sequential, Size = 0x20, Pack = 0x1)]
struct DirectoryName
{
}
}
1 change: 1 addition & 0 deletions src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
2 changes: 1 addition & 1 deletion src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheFileService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ internal interface IDeliveryCacheFileService : IServiceObject
{
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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ internal interface IDeliveryCacheStorageService : IServiceObject
{
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);
}
}