diff options
| author | Emmanuel Hansen <emmausssss@gmail.com> | 2023-05-09 21:46:23 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-09 21:46:23 +0000 |
| commit | 0bc8151c7ecdacc1506305a8d60e7b3c7b13622d (patch) | |
| tree | c14b5a4463764a0f86285054cea813e242950ba2 /src/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs | |
| parent | 40c17673f5a1a7c96f548dc4efaf05bba832a340 (diff) | |
IPC - Refactor Bcat service to use new ipc - Revisit (#4803)
* bcat ipc
* fix hipc buffer flags
* add buffer fixed size flag on generator
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs')
| -rw-r--r-- | src/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs b/src/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs deleted file mode 100644 index be77226c..00000000 --- a/src/Ryujinx.HLE/HOS/Services/Bcat/ServiceCreator/IDeliveryCacheStorageService.cs +++ /dev/null @@ -1,74 +0,0 @@ -using LibHac; -using LibHac.Bcat; -using LibHac.Common; -using System.Runtime.InteropServices; - -namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator -{ - class IDeliveryCacheStorageService : DisposableIpcService - { - private SharedRef<LibHac.Bcat.Impl.Ipc.IDeliveryCacheStorageService> _base; - - public IDeliveryCacheStorageService(ServiceCtx context, ref SharedRef<LibHac.Bcat.Impl.Ipc.IDeliveryCacheStorageService> baseService) - { - _base = SharedRef<LibHac.Bcat.Impl.Ipc.IDeliveryCacheStorageService>.CreateMove(ref baseService); - } - - [CommandCmif(0)] - // CreateFileService() -> object<nn::bcat::detail::ipc::IDeliveryCacheFileService> - public ResultCode CreateFileService(ServiceCtx context) - { - using var service = new SharedRef<LibHac.Bcat.Impl.Ipc.IDeliveryCacheFileService>(); - - Result result = _base.Get.CreateFileService(ref service.Ref); - - if (result.IsSuccess()) - { - MakeObject(context, new IDeliveryCacheFileService(ref service.Ref)); - } - - return (ResultCode)result.Value; - } - - [CommandCmif(1)] - // CreateDirectoryService() -> object<nn::bcat::detail::ipc::IDeliveryCacheDirectoryService> - public ResultCode CreateDirectoryService(ServiceCtx context) - { - using var service = new SharedRef<LibHac.Bcat.Impl.Ipc.IDeliveryCacheDirectoryService>(); - - Result result = _base.Get.CreateDirectoryService(ref service.Ref); - - if (result.IsSuccess()) - { - MakeObject(context, new IDeliveryCacheDirectoryService(ref service.Ref)); - } - - return (ResultCode)result.Value; - } - - [CommandCmif(10)] - // EnumerateDeliveryCacheDirectory() -> (u32, buffer<nn::bcat::DirectoryName, 6>) - public ResultCode EnumerateDeliveryCacheDirectory(ServiceCtx context) - { - ulong bufferAddress = context.Request.ReceiveBuff[0].Position; - ulong bufferLen = context.Request.ReceiveBuff[0].Size; - - using (var region = context.Memory.GetWritableRegion(bufferAddress, (int)bufferLen, true)) - { - Result result = _base.Get.EnumerateDeliveryCacheDirectory(out int count, MemoryMarshal.Cast<byte, DirectoryName>(region.Memory.Span)); - - context.ResponseData.Write(count); - - return (ResultCode)result.Value; - } - } - - protected override void Dispose(bool isDisposing) - { - if (isDisposing) - { - _base.Destroy(); - } - } - } -} |
