aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/SystemState
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2020-12-16 01:41:42 +0100
committerGitHub <noreply@github.com>2020-12-15 21:41:42 -0300
commit808380690c684a7598efad791f560e02ce70bc82 (patch)
tree8103996f96b852affbfa55e48dde99cd63d55dcb /Ryujinx.HLE/HOS/SystemState
parent3332b29f01993d22195f417d39ae4074d53fb55c (diff)
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
Diffstat (limited to 'Ryujinx.HLE/HOS/SystemState')
-rw-r--r--Ryujinx.HLE/HOS/SystemState/AppletStateMgr.cs27
1 files changed, 4 insertions, 23 deletions
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<MessageInfo> _messages;
+ public ConcurrentQueue<MessageInfo> Messages { get; }
public FocusState FocusState { get; private set; }
@@ -16,8 +16,7 @@ namespace Ryujinx.HLE.HOS.SystemState
public AppletStateMgr(Horizon system)
{
- _messages = new ConcurrentQueue<MessageInfo>();
-
+ Messages = new ConcurrentQueue<MessageInfo>();
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