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
This commit is contained in:
Ac_K 2019-07-10 17:59:54 +02:00 committed by gdkchan
parent e5b88de22a
commit 596b61ce1f
48 changed files with 175 additions and 299 deletions

View file

@ -14,6 +14,8 @@ using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Nv
{
[Service("nvdrv")]
[Service("nvdrv:a")]
class INvDrvServices : IpcService
{
private delegate int IoctlProcessor(ServiceCtx context, int cmd);
@ -38,7 +40,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
private KEvent _event;
public INvDrvServices(Horizon system)
public INvDrvServices(ServiceCtx context)
{
_commands = new Dictionary<int, ServiceProcessRequest>()
{
@ -53,7 +55,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
{ 13, FinishInitialize }
};
_event = new KEvent(system);
_event = new KEvent(context.Device.System);
}
static INvDrvServices()