aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Horizon/Sdk
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Horizon/Sdk')
-rw-r--r--src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs10
-rw-r--r--src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheDirectoryService.cs14
-rw-r--r--src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheFileService.cs15
-rw-r--r--src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheProgressService.cs12
-rw-r--r--src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheStorageService.cs14
-rw-r--r--src/Ryujinx.Horizon/Sdk/Bcat/IServiceCreator.cs12
6 files changed, 77 insertions, 0 deletions
diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs
new file mode 100644
index 00000000..f6c8e6dd
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Bcat/IBcatService.cs
@@ -0,0 +1,10 @@
+using Ryujinx.Horizon.Common;
+using Ryujinx.Horizon.Sdk.Sf;
+
+namespace Ryujinx.Horizon.Sdk.Bcat
+{
+ internal interface IBcatService : IServiceObject
+ {
+ Result RequestSyncDeliveryCache(out IDeliveryCacheProgressService deliveryCacheProgressService);
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheDirectoryService.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheDirectoryService.cs
new file mode 100644
index 00000000..23a740c3
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheDirectoryService.cs
@@ -0,0 +1,14 @@
+using LibHac.Bcat;
+using Ryujinx.Horizon.Common;
+using Ryujinx.Horizon.Sdk.Sf;
+using System;
+
+namespace Ryujinx.Horizon.Sdk.Bcat
+{
+ internal interface IDeliveryCacheDirectoryService : IServiceObject
+ {
+ Result GetCount(out int count);
+ Result Open(DirectoryName directoryName);
+ Result Read(out int entriesRead, Span<DeliveryCacheDirectoryEntry> entriesBuffer);
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheFileService.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheFileService.cs
new file mode 100644
index 00000000..a1e5d43b
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheFileService.cs
@@ -0,0 +1,15 @@
+using LibHac.Bcat;
+using Ryujinx.Horizon.Common;
+using Ryujinx.Horizon.Sdk.Sf;
+using System;
+
+namespace Ryujinx.Horizon.Sdk.Bcat
+{
+ internal interface IDeliveryCacheFileService : IServiceObject
+ {
+ Result GetDigest(out Digest digest);
+ Result GetSize(out long size);
+ Result Open(DirectoryName directoryName, FileName fileName);
+ Result Read(long offset, out long bytesRead, Span<byte> data);
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheProgressService.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheProgressService.cs
new file mode 100644
index 00000000..07a796f8
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheProgressService.cs
@@ -0,0 +1,12 @@
+using Ryujinx.Horizon.Bcat.Ipc.Types;
+using Ryujinx.Horizon.Common;
+using Ryujinx.Horizon.Sdk.Sf;
+
+namespace Ryujinx.Horizon.Sdk.Bcat
+{
+ internal interface IDeliveryCacheProgressService : IServiceObject
+ {
+ Result GetEvent(out int handle);
+ Result GetImpl(out DeliveryCacheProgressImpl deliveryCacheProgressImpl);
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheStorageService.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheStorageService.cs
new file mode 100644
index 00000000..5638f074
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Bcat/IDeliveryCacheStorageService.cs
@@ -0,0 +1,14 @@
+using LibHac.Bcat;
+using Ryujinx.Horizon.Common;
+using Ryujinx.Horizon.Sdk.Sf;
+using System;
+
+namespace Ryujinx.Horizon.Sdk.Bcat
+{
+ internal interface IDeliveryCacheStorageService : IServiceObject
+ {
+ Result CreateDirectoryService(out IDeliveryCacheDirectoryService service);
+ Result CreateFileService(out IDeliveryCacheFileService service);
+ Result EnumerateDeliveryCacheDirectory(out int count, Span<DirectoryName> directoryNames);
+ }
+}
diff --git a/src/Ryujinx.Horizon/Sdk/Bcat/IServiceCreator.cs b/src/Ryujinx.Horizon/Sdk/Bcat/IServiceCreator.cs
new file mode 100644
index 00000000..edc52590
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Bcat/IServiceCreator.cs
@@ -0,0 +1,12 @@
+using Ryujinx.Horizon.Common;
+using Ryujinx.Horizon.Sdk.Sf;
+
+namespace Ryujinx.Horizon.Sdk.Bcat
+{
+ internal interface IServiceCreator : IServiceObject
+ {
+ Result CreateBcatService(out IBcatService service, ulong pid);
+ Result CreateDeliveryCacheStorageService(out IDeliveryCacheStorageService service, ulong pid);
+ Result CreateDeliveryCacheStorageServiceWithApplicationId(out IDeliveryCacheStorageService service, Ncm.ApplicationId applicationId);
+ }
+}