using Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemAppletProxy; using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy; namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService { class IApplicationProxy : IpcService { private readonly long _pid; public IApplicationProxy(long pid) { _pid = pid; } [CommandHipc(0)] // GetCommonStateGetter() -> object public ResultCode GetCommonStateGetter(ServiceCtx context) { MakeObject(context, new ICommonStateGetter(context)); return ResultCode.Success; } [CommandHipc(1)] // GetSelfController() -> object public ResultCode GetSelfController(ServiceCtx context) { MakeObject(context, new ISelfController(context.Device.System, _pid)); return ResultCode.Success; } [CommandHipc(2)] // GetWindowController() -> object public ResultCode GetWindowController(ServiceCtx context) { MakeObject(context, new IWindowController(_pid)); return ResultCode.Success; } [CommandHipc(3)] // GetAudioController() -> object public ResultCode GetAudioController(ServiceCtx context) { MakeObject(context, new IAudioController()); return ResultCode.Success; } [CommandHipc(4)] // GetDisplayController() -> object public ResultCode GetDisplayController(ServiceCtx context) { MakeObject(context, new IDisplayController()); return ResultCode.Success; } [CommandHipc(11)] // GetLibraryAppletCreator() -> object public ResultCode GetLibraryAppletCreator(ServiceCtx context) { MakeObject(context, new ILibraryAppletCreator()); return ResultCode.Success; } [CommandHipc(20)] // GetApplicationFunctions() -> object public ResultCode GetApplicationFunctions(ServiceCtx context) { MakeObject(context, new IApplicationFunctions(context.Device.System)); return ResultCode.Success; } [CommandHipc(1000)] // GetDebugFunctions() -> object public ResultCode GetDebugFunctions(ServiceCtx context) { MakeObject(context, new IDebugFunctions()); return ResultCode.Success; } } }