diff options
| author | Ac_K <Acoustik666@gmail.com> | 2020-12-16 01:41:42 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-15 21:41:42 -0300 |
| commit | 808380690c684a7598efad791f560e02ce70bc82 (patch) | |
| tree | 8103996f96b852affbfa55e48dde99cd63d55dcb /Ryujinx.HLE/HOS/SystemState | |
| parent | 3332b29f01993d22195f417d39ae4074d53fb55c (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.cs | 27 |
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 |
