nfp:user: Implement IUser (#714)

* nfp:user: Implement IUser

- Based on RE of sysmod FW 1.0 and 3.0 with help of https://github.com/switchbrew/libnx/ and https://reswitched.github.io/SwIPC/ifaces.html#nn::nfp::detail::IUser
- Accurate implementation of Initialize, AttachActivateEvent, AttachDeactivateEvent, GetState, GetDeviceState, GetNpadId and GetDeviceState.
- Implementation of Finalize and ListDevices (close #638).

* reorder private var

* fix nits
This commit is contained in:
Ac_K 2019-06-28 13:08:23 +02:00 committed by jduncanator
parent a8965aad97
commit ba86a5d7f3
10 changed files with 410 additions and 136 deletions

View file

@ -0,0 +1,27 @@
using Ryujinx.HLE.HOS.Ipc;
using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
{
class IUserManager : IpcService
{
private Dictionary<int, ServiceProcessRequest> _commands;
public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands;
public IUserManager()
{
_commands = new Dictionary<int, ServiceProcessRequest>
{
{ 0, GetUserInterface }
};
}
public long GetUserInterface(ServiceCtx context)
{
MakeObject(context, new IUser());
return 0;
}
}
}