From 808380690c684a7598efad791f560e02ce70bc82 Mon Sep 17 00:00:00 2001 From: Ac_K Date: Wed, 16 Dec 2020 01:41:42 +0100 Subject: am/gui: Implement Wake-up message (#1750) * am/gui: Implement Wake-up message. This implement the ability to send a Wake-up (Resume) message to the guest. Sometime games needs to Sleep and Wake-up the switch to unlock some ingame features. * Address gdkchan feedback --- Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) (limited to 'Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs') diff --git a/Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs b/Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs index b9229b33..8fd2f08d 100644 --- a/Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs +++ b/Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs @@ -6,7 +6,7 @@ namespace Ryujinx.HLE.HOS.SystemState { class AppletStateMgr { - private ConcurrentQueue _messages; + public ConcurrentQueue Messages { get; } public FocusState FocusState { get; private set; } @@ -16,8 +16,7 @@ namespace Ryujinx.HLE.HOS.SystemState public AppletStateMgr(Horizon system) { - _messages = new ConcurrentQueue(); - + Messages = new ConcurrentQueue(); MessageEvent = new KEvent(system.KernelContext); AppletResourceUserIds = new IdDictionary(); @@ -25,28 +24,10 @@ namespace Ryujinx.HLE.HOS.SystemState public void SetFocus(bool isFocused) { - FocusState = isFocused - ? FocusState.InFocus - : FocusState.OutOfFocus; - - EnqueueMessage(MessageInfo.FocusStateChanged); - } - - public void EnqueueMessage(MessageInfo message) - { - _messages.Enqueue(message); + FocusState = isFocused ? FocusState.InFocus : FocusState.OutOfFocus; + Messages.Enqueue(MessageInfo.FocusStateChanged); MessageEvent.ReadableEvent.Signal(); } - - public bool TryDequeueMessage(out MessageInfo message) - { - if (_messages.Count < 2) - { - MessageEvent.ReadableEvent.Clear(); - } - - return _messages.TryDequeue(out message); - } } } \ No newline at end of file -- cgit v1.2.3