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/Lm | |
| 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/Lm')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Lm/ILogService.cs | 17 | ||||
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Lm/ILogger.cs | 19 |
2 files changed, 7 insertions, 29 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Lm/ILogService.cs b/Ryujinx.HLE/HOS/Services/Lm/ILogService.cs index 0be76866..575331eb 100644 --- a/Ryujinx.HLE/HOS/Services/Lm/ILogService.cs +++ b/Ryujinx.HLE/HOS/Services/Lm/ILogService.cs @@ -1,23 +1,12 @@ -using Ryujinx.HLE.HOS.Ipc; -using System.Collections.Generic; - namespace Ryujinx.HLE.HOS.Services.Lm { [Service("lm")] class ILogService : IpcService { - private Dictionary<int, ServiceProcessRequest> _commands; - - public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands; - - public ILogService(ServiceCtx context) - { - _commands = new Dictionary<int, ServiceProcessRequest> - { - { 0, Initialize } - }; - } + public ILogService(ServiceCtx context) { } + [Command(0)] + // Initialize(u64, pid) -> object<nn::lm::ILogger> public long Initialize(ServiceCtx context) { MakeObject(context, new ILogger()); diff --git a/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs b/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs index 9122970c..a221b462 100644 --- a/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs +++ b/Ryujinx.HLE/HOS/Services/Lm/ILogger.cs @@ -1,6 +1,4 @@ using Ryujinx.Common.Logging; -using Ryujinx.HLE.HOS.Ipc; -using System.Collections.Generic; using System.IO; using System.Text; @@ -8,21 +6,12 @@ namespace Ryujinx.HLE.HOS.Services.Lm { class ILogger : IpcService { - private Dictionary<int, ServiceProcessRequest> _commands; - - public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands; - - public ILogger() - { - _commands = new Dictionary<int, ServiceProcessRequest> - { - { 0, Log } - }; - } + public ILogger() { } + [Command(0)] + // Log(buffer<unknown, 0x21>) public long Log(ServiceCtx context) { - (long bufPos, long bufSize) = context.Request.GetBufferType0x21(); byte[] logBuffer = context.Memory.ReadBytes(bufPos, bufSize); @@ -94,4 +83,4 @@ namespace Ryujinx.HLE.HOS.Services.Lm return 0; } } -} +}
\ No newline at end of file |
