Apparently, the Ryujinx devs didn't like my ServiceFactory changes. Oh well, maybe next time.

This commit is contained in:
Starlet 2019-05-01 16:37:56 -04:00
parent 1fb2dbdc9a
commit 1736041252
2 changed files with 32 additions and 1 deletions

View file

@ -48,7 +48,10 @@ namespace Ryujinx.HLE.HOS.Services.Irs
// GetIrsensorSharedMemoryHandle(nn::applet::AppletResourceUserId, pid) -> handle<copy>
public long GetIrsensorSharedMemoryHandle(ServiceCtx context)
{
if (context.Process.HandleTable.GenerateHandle(context.Device.System.IirsSharedMem, out int handle) != KernelResult.Success)
Horizon system = context.Device.System;
KHandleTable handleTable = context.Process.HandleTable;
if (handleTable.GenerateHandle(system.IirsSharedMem, out int handle) != KernelResult.Success)
{
throw new InvalidOperationException("Out of handles!");
}

View file

@ -43,6 +43,8 @@ namespace Ryujinx.HLE.HOS.Services
switch (name)
{
case "acc:u0":
return new IAccountService();
case "acc:u1":
return new IAccountService();
@ -50,6 +52,8 @@ namespace Ryujinx.HLE.HOS.Services
return new IAddOnContentManager();
case "apm":
return new IManager();
case "apm:p":
return new IManager();
@ -66,8 +70,14 @@ namespace Ryujinx.HLE.HOS.Services
return new IAudioRendererManager();
case "bcat:a":
return new Bcat.IServiceCreator();
case "bcat:m":
return new Bcat.IServiceCreator();
case "bcat:u":
return new Bcat.IServiceCreator();
case "bcat:s":
return new Bcat.IServiceCreator();
@ -90,6 +100,8 @@ namespace Ryujinx.HLE.HOS.Services
return new IeTicketService();
case "friend:a":
return new Friend.IServiceCreator();
case "friend:u":
return new Friend.IServiceCreator();
@ -127,6 +139,8 @@ namespace Ryujinx.HLE.HOS.Services
return new IApplicationManagerInterface();
case "ns:am2":
return new IServiceGetterInterface();
case "ns:ec":
return new IServiceGetterInterface();
@ -137,12 +151,20 @@ namespace Ryujinx.HLE.HOS.Services
return new IVulnerabilityManagerInterface();
case "nvdrv":
return new INvDrvServices(system);
case "nvdrv:a":
return new INvDrvServices(system);
case "pctl:s":
return new IParentalControlServiceFactory();
case "pctl:r":
return new IParentalControlServiceFactory();
case "pctl:a":
return new IParentalControlServiceFactory();
case "pctl":
return new IParentalControlServiceFactory();
@ -153,6 +175,8 @@ namespace Ryujinx.HLE.HOS.Services
return new IShellInterface();
case "prepo:a":
return new IPrepoService();
case "prepo:u":
return new IPrepoService();
@ -175,7 +199,11 @@ namespace Ryujinx.HLE.HOS.Services
return new ISslService();
case "time:a":
return new Time.IStaticService();
case "time:s":
return new Time.IStaticService();
case "time:u":
return new Time.IStaticService();