From 651e24fed9603084d45ee036a0f4558abc204482 Mon Sep 17 00:00:00 2001
From: gdkchan <gab.dark.100@gmail.com>
Date: Fri, 29 Sep 2023 08:24:44 -0300
Subject: Signal friends completion event and stub
 CheckBlockedUserListAvailability (#5743)

---
 .../HOS/Services/Friend/ServiceCreator/IFriendService.cs | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

(limited to 'src')

diff --git a/src/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs b/src/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs
index f084fad1..54d23e88 100644
--- a/src/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs
+++ b/src/Ryujinx.HLE/HOS/Services/Friend/ServiceCreator/IFriendService.cs
@@ -36,6 +36,8 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
                 throw new InvalidOperationException("Out of handles!");
             }
 
+            _completionEvent.WritableEvent.Signal();
+
             context.Response.HandleDesc = IpcHandleDesc.MakeCopy(completionEventHandle);
 
             return ResultCode.Success;
@@ -187,6 +189,20 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
             return ResultCode.Success;
         }
 
+        [CommandCmif(10420)]
+        // nn::friends::CheckBlockedUserListAvailability(nn::account::Uid userId) -> bool
+        public ResultCode CheckBlockedUserListAvailability(ServiceCtx context)
+        {
+            UserId userId = context.RequestData.ReadStruct<UserId>();
+
+            // Yes, it is available.
+            context.ResponseData.Write(true);
+
+            Logger.Stub?.PrintStub(LogClass.ServiceFriend, new { UserId = userId.ToString() });
+
+            return ResultCode.Success;
+        }
+
         [CommandCmif(10600)]
         // nn::friends::DeclareOpenOnlinePlaySession(nn::account::Uid userId)
         public ResultCode DeclareOpenOnlinePlaySession(ServiceCtx context)
-- 
cgit v1.2.3-70-g09d2