diff options
| author | Ac_K <Acoustik666@gmail.com> | 2020-07-22 06:56:00 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-22 14:56:00 +1000 |
| commit | c6e12949e5055dbb2fb1ff53050ab4f1d7962f08 (patch) | |
| tree | 0e56824ddd26cd42c9b78c1b383fdf12169014ed /Ryujinx.HLE/HOS/Services/Am/AppletAE/AllSystemAppletProxiesService/LibraryAppletCreator | |
| parent | 4aa47a66c6d72707ccdf7618bcad2a8e65797e3d (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.cs | 37 |
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; + } } } |
