aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/LibraryAppletCreator
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2020-07-22 06:56:00 +0200
committerGitHub <noreply@github.com>2020-07-22 14:56:00 +1000
commitc6e12949e5055dbb2fb1ff53050ab4f1d7962f08 (patch)
tree0e56824ddd26cd42c9b78c1b383fdf12169014ed /Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/LibraryAppletCreator
parent4aa47a66c6d72707ccdf7618bcad2a8e65797e3d (diff)
Add multiple calls to am service (#1411)
* Add multiple calls to am service This implement/stub some am calls: - SetAutoSleepDisabled - IsAutoSleepDisabled - SetAlbumImageTakenNotificationEnabled - EnableApplicationCrashReport - GetPreviousProgramIndex - NeedsToExitProcess - RequestForAppletToGetForeground - GetIndirectLayerConsumerHandle All checked by RE. Additionnaly to that, there is some cleanup here and there. Fix #1387, #1324, #1165, #1163, #1065 * Fix casting * Thread safe assign
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/LibraryAppletCreator')
-rw-r--r--Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/LibraryAppletCreator/ILibraryAppletAccessor.cs37
1 files changed, 37 insertions, 0 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/LibraryAppletCreator/ILibraryAppletAccessor.cs b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/LibraryAppletCreator/ILibraryAppletAccessor.cs
index aedec550..68dadf3d 100644
--- a/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/LibraryAppletCreator/ILibraryAppletAccessor.cs
+++ b/Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/LibraryAppletCreator/ILibraryAppletAccessor.cs
@@ -161,5 +161,42 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.Success;
}
+
+ [Command(110)]
+ // NeedsToExitProcess()
+ public ResultCode NeedsToExitProcess(ServiceCtx context)
+ {
+ return ResultCode.Stubbed;
+ }
+
+ [Command(150)]
+ // RequestForAppletToGetForeground()
+ public ResultCode RequestForAppletToGetForeground(ServiceCtx context)
+ {
+ return ResultCode.Stubbed;
+ }
+
+ [Command(160)] // 2.0.0+
+ // GetIndirectLayerConsumerHandle() -> u64 indirect_layer_consumer_handle
+ public ResultCode GetIndirectLayerConsumerHandle(ServiceCtx context)
+ {
+ /*
+ if (indirectLayerConsumer == null)
+ {
+ return ResultCode.ObjectInvalid;
+ }
+ */
+
+ // TODO: Official sw uses this during LibraryApplet creation when LibraryAppletMode is 0x3.
+ // Since we don't support IndirectLayer and the handle couldn't be 0, it's fine to return 1.
+
+ ulong indirectLayerConsumerHandle = 1;
+
+ context.ResponseData.Write(indirectLayerConsumerHandle);
+
+ Logger.PrintStub(LogClass.ServiceAm, new { indirectLayerConsumerHandle });
+
+ return ResultCode.Success;
+ }
}
}