diff options
| author | Ac_K <Acoustik666@gmail.com> | 2019-07-12 03:13:43 +0200 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2019-07-11 22:13:43 -0300 |
| commit | 560ccbeb2d55a4426ad2827bf7534d4a695431c2 (patch) | |
| tree | 7e224acbd6c023ea56ff80c6207aa0966aa06ee5 /Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs | |
| parent | f723f6f39aaf7b1cebc0224a055058d62e3b689c (diff) | |
Refactoring commands handling (#728)
* Refactoring commands handling
- Use Reflection to handle commands ID.
- Add all symbols (from SwIPC so not all time accurate).
- Re-sort some services commands methods.
- Some cleanup.
- Keep some empty constructor for consistency.
* Fix order in IProfile
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs b/Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs index 868e0215..7ab088da 100644 --- a/Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs +++ b/Ryujinx.HLE/HOS/Services/Am/IHomeMenuFunctions.cs @@ -3,30 +3,21 @@ using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Kernel.Common; using Ryujinx.HLE.HOS.Kernel.Threading; using System; -using System.Collections.Generic; namespace Ryujinx.HLE.HOS.Services.Am { class IHomeMenuFunctions : IpcService { - private Dictionary<int, ServiceProcessRequest> _commands; - - public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands; - private KEvent _channelEvent; public IHomeMenuFunctions(Horizon system) { - _commands = new Dictionary<int, ServiceProcessRequest> - { - { 10, RequestToGetForeground }, - { 21, GetPopFromGeneralChannelEvent } - }; - // TODO: Signal this Event somewhere in future. _channelEvent = new KEvent(system); } + [Command(10)] + // RequestToGetForeground() public long RequestToGetForeground(ServiceCtx context) { Logger.PrintStub(LogClass.ServiceAm); @@ -34,6 +25,8 @@ namespace Ryujinx.HLE.HOS.Services.Am return 0; } + [Command(21)] + // GetPopFromGeneralChannelEvent() -> handle<copy> public long GetPopFromGeneralChannelEvent(ServiceCtx context) { if (context.Process.HandleTable.GenerateHandle(_channelEvent.ReadableEvent, out int handle) != KernelResult.Success) @@ -48,4 +41,4 @@ namespace Ryujinx.HLE.HOS.Services.Am return 0; } } -} +}
\ No newline at end of file |
