using Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemAppletProxy; namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService { class ISystemAppletProxy : IpcService { private readonly long _pid; public ISystemAppletProxy(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)] // GetHomeMenuFunctions() -> object public ResultCode GetHomeMenuFunctions(ServiceCtx context) { MakeObject(context, new IHomeMenuFunctions(context.Device.System)); return ResultCode.Success; } [CommandHipc(21)] // GetGlobalStateController() -> object public ResultCode GetGlobalStateController(ServiceCtx context) { MakeObject(context, new IGlobalStateController()); return ResultCode.Success; } [CommandHipc(22)] // GetApplicationCreator() -> object public ResultCode GetApplicationCreator(ServiceCtx context) { MakeObject(context, new IApplicationCreator()); return ResultCode.Success; } [CommandHipc(1000)] // GetDebugFunctions() -> object public ResultCode GetDebugFunctions(ServiceCtx context) { MakeObject(context, new IDebugFunctions()); return ResultCode.Success; } } }