Refactor the friend namespace (#721)

* Refactor the friend namespace and UInt128

This commit also:
- Fix GetFriendsList arguments ordering.
- Add GetFriendListIds.
- Expose the permission level of the port instance.
- InvalidUUID => InvalidArgument

* friend: add all cmds as commments

* add Friend structure layout

* Rename FriendErr to FriendError

* Accurately implement INotificationService

* Fix singleton lock of NotificationEventHandler

* Address comments

* Add comments for IDaemonSuspendSessionService cmds

* Explicitly define the Charset when needed

Also make "Nickname" a string

* Address gdk's comments
This commit is contained in:
Thomas Guillemard 2019-07-04 17:14:17 +02:00 committed by Ac_K
parent b2b736abc2
commit 789cdba8b5
13 changed files with 576 additions and 82 deletions

View file

@ -7,14 +7,22 @@ namespace Ryujinx.HLE.HOS.Services.Friend
{
private Dictionary<int, ServiceProcessRequest> _commands;
private FriendServicePermissionLevel PermissionLevel;
public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => _commands;
public IDaemonSuspendSessionService()
public IDaemonSuspendSessionService(FriendServicePermissionLevel permissionLevel)
{
_commands = new Dictionary<int, ServiceProcessRequest>
{
// ...
//{ 0, Unknown0 }, // 4.0.0+
//{ 1, Unknown1 }, // 4.0.0+
//{ 2, Unknown2 }, // 4.0.0+
//{ 3, Unknown3 }, // 4.0.0+
//{ 4, Unknown4 }, // 4.0.0+
};
PermissionLevel = permissionLevel;
}
}
}