diff options
| author | Ac_K <Acoustik666@gmail.com> | 2019-07-10 17:59:54 +0200 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2019-07-10 12:59:54 -0300 |
| commit | 596b61ce1fc9ac0397c3ea74a1033a3be5608512 (patch) | |
| tree | 28c503be420909834977df6b306023d1944bb088 /Ryujinx.HLE/HOS/Services/Ns | |
| parent | e5b88de22a6f228d83e741cf9bcff144b3eff25a (diff) | |
IPC services refactoring (#726)
* IPC services refactoring
- Use custom Attributes to handle services.
- Add a way to set the permissions and fix the bsd service to use it.
- Little cleanup.
- C#7.1 is required.
* fix var name
* fix syntax
* Change Permission to Parameter
* Delete BsdServicePermissionLevel.cs
* Fix Linq
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Ns')
5 files changed, 12 insertions, 6 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Ns/IAddOnContentManager.cs b/Ryujinx.HLE/HOS/Services/Ns/IAddOnContentManager.cs index 9139c9bf..fe845f87 100644 --- a/Ryujinx.HLE/HOS/Services/Ns/IAddOnContentManager.cs +++ b/Ryujinx.HLE/HOS/Services/Ns/IAddOnContentManager.cs @@ -4,13 +4,14 @@ using System.Collections.Generic; namespace Ryujinx.HLE.HOS.Services.Ns { + [Service("aoc:u")] class IAddOnContentManager : IpcService { private Dictionary<int, ServiceProcessRequest> _commands; public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands; - public IAddOnContentManager() + public IAddOnContentManager(ServiceCtx context) { _commands = new Dictionary<int, ServiceProcessRequest> { diff --git a/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs b/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs index 8c0fa41a..88e66964 100644 --- a/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs +++ b/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs @@ -6,13 +6,14 @@ using System.Text; namespace Ryujinx.HLE.HOS.Services.Ns { + [Service("ns:am")] class IApplicationManagerInterface : IpcService { private Dictionary<int, ServiceProcessRequest> _commands; public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands; - public IApplicationManagerInterface() + public IApplicationManagerInterface(ServiceCtx context) { _commands = new Dictionary<int, ServiceProcessRequest> { diff --git a/Ryujinx.HLE/HOS/Services/Ns/IServiceGetterInterface.cs b/Ryujinx.HLE/HOS/Services/Ns/IServiceGetterInterface.cs index 89dde1f9..7c42d3ed 100644 --- a/Ryujinx.HLE/HOS/Services/Ns/IServiceGetterInterface.cs +++ b/Ryujinx.HLE/HOS/Services/Ns/IServiceGetterInterface.cs @@ -3,13 +3,15 @@ using System.Collections.Generic; namespace Ryujinx.HLE.HOS.Services.Ns { + [Service("ns:am2")] + [Service("ns:ec")] class IServiceGetterInterface : IpcService { private Dictionary<int, ServiceProcessRequest> _commands; public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands; - public IServiceGetterInterface() + public IServiceGetterInterface(ServiceCtx context) { _commands = new Dictionary<int, ServiceProcessRequest> { @@ -19,7 +21,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns public long GetApplicationManagerInterface(ServiceCtx context) { - MakeObject(context, new IApplicationManagerInterface()); + MakeObject(context, new IApplicationManagerInterface(context)); return 0; } diff --git a/Ryujinx.HLE/HOS/Services/Ns/ISystemUpdateInterface.cs b/Ryujinx.HLE/HOS/Services/Ns/ISystemUpdateInterface.cs index 5499e235..503b2f10 100644 --- a/Ryujinx.HLE/HOS/Services/Ns/ISystemUpdateInterface.cs +++ b/Ryujinx.HLE/HOS/Services/Ns/ISystemUpdateInterface.cs @@ -3,13 +3,14 @@ using System.Collections.Generic; namespace Ryujinx.HLE.HOS.Services.Ns { + [Service("ns:su")] class ISystemUpdateInterface : IpcService { private Dictionary<int, ServiceProcessRequest> _commands; public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands; - public ISystemUpdateInterface() + public ISystemUpdateInterface(ServiceCtx context) { _commands = new Dictionary<int, ServiceProcessRequest> { diff --git a/Ryujinx.HLE/HOS/Services/Ns/IVulnerabilityManagerInterface.cs b/Ryujinx.HLE/HOS/Services/Ns/IVulnerabilityManagerInterface.cs index 6b7c4193..c8a31e16 100644 --- a/Ryujinx.HLE/HOS/Services/Ns/IVulnerabilityManagerInterface.cs +++ b/Ryujinx.HLE/HOS/Services/Ns/IVulnerabilityManagerInterface.cs @@ -3,13 +3,14 @@ using System.Collections.Generic; namespace Ryujinx.HLE.HOS.Services.Ns { + [Service("ns:vm")] class IVulnerabilityManagerInterface : IpcService { private Dictionary<int, ServiceProcessRequest> _commands; public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands; - public IVulnerabilityManagerInterface() + public IVulnerabilityManagerInterface(ServiceCtx context) { _commands = new Dictionary<int, ServiceProcessRequest> { |
